{
    "measured_at": "2026-10-13",
    "cap_seconds": 150,
    "environment": {
        "php": "8.4.25",
        "curl": "8.14.1",
        "tcp_syn_retries": 6,
        "default_socket_timeout": 60
    },
    "clients": {
        "laravel": {
            "package": "illuminate/http",
            "version": "v13.35.0",
            "modes": {
                "fail": {
                    "seconds": 2.73,
                    "killed": false,
                    "exception": "Illuminate\\Http\\Client\\RequestException",
                    "message": "HTTP request returned status code 500: {\"error\":{\"message\":\"probe: internal error\",\"type\":\"api_error\",\"code\":\"internal\"}} ",
                    "attempts": [
                        1.86
                    ]
                },
                "drop": {
                    "seconds": 0.3,
                    "killed": false,
                    "exception": "Illuminate\\Http\\Client\\ConnectionException",
                    "message": "cURL error 52: Empty reply from server (see https://curl.se/libcurl/c/libcurl-errors.html) for http://drop:8083/probe",
                    "attempts": [
                        0.29
                    ]
                },
                "connect": {
                    "seconds": 12.55,
                    "killed": false,
                    "exception": "Illuminate\\Http\\Client\\ConnectionException",
                    "message": "cURL error 28: Connection timed out after 10003 milliseconds (see https://curl.se/libcurl/c/libcurl-errors.html) for http://10.255.255.1:81/probe",
                    "attempts": null
                },
                "override-connect": {
                    "seconds": 3.95,
                    "killed": false,
                    "exception": "Illuminate\\Http\\Client\\ConnectionException",
                    "message": "cURL error 28: Connection timed out after 2002 milliseconds (see https://curl.se/libcurl/c/libcurl-errors.html) for http://10.255.255.1:81/probe",
                    "attempts": null
                },
                "override-silent": {
                    "seconds": 6.96,
                    "killed": false,
                    "exception": "Illuminate\\Http\\Client\\ConnectionException",
                    "message": "cURL error 28: Operation timed out after 5003 milliseconds with 0 bytes received (see https://curl.se/libcurl/c/libcurl-errors.html) for http://hold:8080/probe",
                    "attempts": null
                },
                "silent": {
                    "seconds": 31.86,
                    "killed": false,
                    "exception": "Illuminate\\Http\\Client\\ConnectionException",
                    "message": "cURL error 28: Operation timed out after 30002 milliseconds with 0 bytes received (see https://curl.se/libcurl/c/libcurl-errors.html) for http://hold:8080/probe",
                    "attempts": null
                }
            }
        },
        "guzzle": {
            "package": "guzzlehttp/guzzle",
            "version": "7.15.5",
            "modes": {
                "fail": {
                    "seconds": 0.1,
                    "killed": false,
                    "exception": "GuzzleHttp\\Exception\\ServerException",
                    "message": "Server error: `GET http://fail:8081/probe` resulted in a `500 Internal Server Error` response: {\"error\":{\"message\":\"probe: internal error\",\"type\":\"api_error\",\"code\":\"internal\"}} ",
                    "attempts": [
                        0.07
                    ]
                },
                "drop": {
                    "seconds": 0.11,
                    "killed": false,
                    "exception": "GuzzleHttp\\Exception\\ConnectException",
                    "message": "cURL error 52: Empty reply from server (see https://curl.se/libcurl/c/libcurl-errors.html) for http://drop:8083/probe",
                    "attempts": [
                        0.1
                    ]
                },
                "connect": {
                    "seconds": 76.07,
                    "killed": false,
                    "exception": "GuzzleHttp\\Exception\\ConnectException",
                    "message": "cURL error 7: Failed to connect to 10.255.255.1 port 81 after 75032 ms: Could not connect to server (see https://curl.se/libcurl/c/libcurl-errors.html) for http://10.255.255.1:81/probe",
                    "attempts": null
                },
                "override-connect": {
                    "seconds": 2.46,
                    "killed": false,
                    "exception": "GuzzleHttp\\Exception\\ConnectException",
                    "message": "cURL error 28: Connection timed out after 2001 milliseconds (see https://curl.se/libcurl/c/libcurl-errors.html) for http://10.255.255.1:81/probe",
                    "attempts": null
                },
                "override-silent": {
                    "seconds": 5.54,
                    "killed": false,
                    "exception": "GuzzleHttp\\Exception\\ConnectException",
                    "message": "cURL error 28: Operation timed out after 5004 milliseconds with 0 bytes received (see https://curl.se/libcurl/c/libcurl-errors.html) for http://hold:8080/probe",
                    "attempts": null
                },
                "silent": {
                    "seconds": 150,
                    "killed": true,
                    "exception": null,
                    "message": null,
                    "attempts": null
                }
            }
        },
        "symfony": {
            "package": "symfony/http-client",
            "version": "v7.4.20",
            "modes": {
                "fail": {
                    "seconds": 0.09,
                    "killed": false,
                    "exception": "Symfony\\Component\\HttpClient\\Exception\\ServerException",
                    "message": "HTTP/1.1 500 Internal Server Error returned for \"http://fail:8081/probe\".",
                    "attempts": [
                        0.07
                    ]
                },
                "drop": {
                    "seconds": 0.04,
                    "killed": false,
                    "exception": "Symfony\\Component\\HttpClient\\Exception\\TransportException",
                    "message": "Empty reply from server for \"http://drop:8083/probe\".",
                    "attempts": [
                        0.03
                    ]
                },
                "connect": {
                    "seconds": 61.04,
                    "killed": false,
                    "exception": "Symfony\\Component\\HttpClient\\Exception\\TimeoutException",
                    "message": "Idle timeout reached for \"http://10.255.255.1:81/probe\".",
                    "attempts": null
                },
                "override-connect": {
                    "seconds": 6.47,
                    "killed": false,
                    "exception": "Symfony\\Component\\HttpClient\\Exception\\TransportException",
                    "message": "Connection timed out after 5001 milliseconds for \"http://10.255.255.1:81/probe\".",
                    "attempts": null
                },
                "override-silent": {
                    "seconds": 5.68,
                    "killed": false,
                    "exception": "Symfony\\Component\\HttpClient\\Exception\\TransportException",
                    "message": "Operation timed out after 5042 milliseconds with 0 bytes received for \"http://hold:8080/probe\".",
                    "attempts": null
                },
                "silent": {
                    "seconds": 60.92,
                    "killed": false,
                    "exception": "Symfony\\Component\\HttpClient\\Exception\\TimeoutException",
                    "message": "Idle timeout reached for \"http://hold:8080/probe\".",
                    "attempts": null
                }
            }
        },
        "aws": {
            "package": "aws/aws-sdk-php",
            "version": "3.401.0",
            "modes": {
                "fail": {
                    "seconds": 0.57,
                    "killed": false,
                    "exception": "Aws\\S3\\Exception\\S3Exception",
                    "message": "Error executing \"ListBuckets\" on \"http://fail:8081/\"; AWS HTTP error: Unable to parse error information from response - Error parsing XML: String could not be parsed as XML",
                    "attempts": [
                        0.4,
                        0.44,
                        0.57
                    ]
                },
                "drop": {
                    "seconds": 0.77,
                    "killed": false,
                    "exception": "Aws\\S3\\Exception\\S3Exception",
                    "message": "Error executing \"ListBuckets\" on \"http://drop:8083/\"; AWS HTTP error: cURL error 52: Empty reply from server (see https://curl.se/libcurl/c/libcurl-errors.html) for http://drop:8083/",
                    "attempts": [
                        0.69,
                        0.75,
                        0.77
                    ]
                },
                "connect": {
                    "seconds": 150,
                    "killed": true,
                    "exception": null,
                    "message": null,
                    "attempts": null
                },
                "override-connect": {
                    "seconds": 12.67,
                    "killed": false,
                    "exception": "Aws\\S3\\Exception\\S3Exception",
                    "message": "Error executing \"ListBuckets\" on \"http://10.255.255.1:81/\"; AWS HTTP error: cURL error 28: Connection timed out after 2003 milliseconds (see https://curl.se/libcurl/c/libcurl-errors.html) for http://10.255.255.1:81/",
                    "attempts": null
                },
                "override-silent": {
                    "seconds": 19.6,
                    "killed": false,
                    "exception": "Aws\\S3\\Exception\\S3Exception",
                    "message": "Error executing \"ListBuckets\" on \"http://hold:8080/\"; AWS HTTP error: cURL error 28: Operation timed out after 5022 milliseconds with 0 bytes received (see https://curl.se/libcurl/c/libcurl-errors.html) for http://hold:8080/",
                    "attempts": null
                },
                "silent": {
                    "seconds": 150,
                    "killed": true,
                    "exception": null,
                    "message": null,
                    "attempts": null
                }
            }
        },
        "google": {
            "package": "google/apiclient",
            "version": "v2.20.1",
            "modes": {
                "fail": {
                    "seconds": 0.24,
                    "killed": false,
                    "exception": "Google\\Service\\Exception",
                    "message": "{\"error\":{\"message\":\"probe: internal error\",\"type\":\"api_error\",\"code\":\"internal\"}}",
                    "attempts": [
                        0.21
                    ]
                },
                "drop": {
                    "seconds": 0.07,
                    "killed": false,
                    "exception": "GuzzleHttp\\Exception\\ConnectException",
                    "message": "cURL error 52: Empty reply from server (see https://curl.se/libcurl/c/libcurl-errors.html) for http://drop:8083/drive/v3/files?key=probe",
                    "attempts": [
                        0.07
                    ]
                },
                "connect": {
                    "seconds": 76.04,
                    "killed": false,
                    "exception": "GuzzleHttp\\Exception\\ConnectException",
                    "message": "cURL error 7: Failed to connect to 10.255.255.1 port 81 after 75003 ms: Could not connect to server (see https://curl.se/libcurl/c/libcurl-errors.html) for http://10.255.255.1:81/drive/v3/files?key=probe",
                    "attempts": null
                },
                "override-connect": {
                    "seconds": 3.38,
                    "killed": false,
                    "exception": "GuzzleHttp\\Exception\\ConnectException",
                    "message": "cURL error 28: Connection timed out after 2006 milliseconds (see https://curl.se/libcurl/c/libcurl-errors.html) for http://10.255.255.1:81/drive/v3/files?key=probe",
                    "attempts": null
                },
                "override-silent": {
                    "seconds": 6.12,
                    "killed": false,
                    "exception": "GuzzleHttp\\Exception\\ConnectException",
                    "message": "cURL error 28: Operation timed out after 5005 milliseconds with 0 bytes received (see https://curl.se/libcurl/c/libcurl-errors.html) for http://hold:8080/drive/v3/files?key=probe",
                    "attempts": null
                },
                "silent": {
                    "seconds": 150,
                    "killed": true,
                    "exception": null,
                    "message": null,
                    "attempts": null
                }
            }
        },
        "resend": {
            "package": "resend/resend-php",
            "version": "v1.16.0",
            "modes": {
                "fail": {
                    "seconds": 0.34,
                    "killed": false,
                    "exception": "Resend\\Exceptions\\ErrorException",
                    "message": "probe: internal error",
                    "attempts": [
                        0.31
                    ]
                },
                "drop": {
                    "seconds": 0.08,
                    "killed": false,
                    "exception": "Resend\\Exceptions\\TransporterException",
                    "message": "cURL error 52: Empty reply from server (see https://curl.se/libcurl/c/libcurl-errors.html) for http://drop:8083/emails",
                    "attempts": [
                        0.07
                    ]
                },
                "connect": {
                    "seconds": 76,
                    "killed": false,
                    "exception": "Resend\\Exceptions\\TransporterException",
                    "message": "cURL error 7: Failed to connect to 10.255.255.1 port 81 after 75005 ms: Could not connect to server (see https://curl.se/libcurl/c/libcurl-errors.html) for http://10.255.255.1:81/emails",
                    "attempts": null
                },
                "override-connect": {
                    "seconds": 3.38,
                    "killed": false,
                    "exception": "Resend\\Exceptions\\TransporterException",
                    "message": "cURL error 28: Connection timed out after 2068 milliseconds (see https://curl.se/libcurl/c/libcurl-errors.html) for http://10.255.255.1:81/emails",
                    "attempts": null
                },
                "override-silent": {
                    "seconds": 6.51,
                    "killed": false,
                    "exception": "Resend\\Exceptions\\TransporterException",
                    "message": "cURL error 28: Operation timed out after 5005 milliseconds with 0 bytes received (see https://curl.se/libcurl/c/libcurl-errors.html) for http://hold:8080/emails",
                    "attempts": null
                },
                "silent": {
                    "seconds": 150,
                    "killed": true,
                    "exception": null,
                    "message": null,
                    "attempts": null
                }
            }
        },
        "stripe": {
            "package": "stripe/stripe-php",
            "version": "v17.6.0",
            "modes": {
                "fail": {
                    "seconds": 0.89,
                    "killed": false,
                    "exception": "Stripe\\Exception\\UnknownApiErrorException",
                    "message": "probe: internal error",
                    "attempts": [
                        0.12
                    ]
                },
                "drop": {
                    "seconds": 0.04,
                    "killed": false,
                    "exception": "Stripe\\Exception\\ApiConnectionException",
                    "message": "Unexpected error communicating with Stripe. If this problem persists, let us know at support@stripe.com. (Network error [errno 52]: Empty reply from server)",
                    "attempts": [
                        0.03
                    ]
                },
                "connect": {
                    "seconds": 30.45,
                    "killed": false,
                    "exception": "Stripe\\Exception\\ApiConnectionException",
                    "message": "Could not connect to Stripe (http://10.255.255.1:81/v1/customers). Please check your internet connection and try again. If this problem persists, you should check Stripe's service status at https://twitter.com/stripestatus, or let us know a",
                    "attempts": null
                },
                "override-connect": {
                    "seconds": 2.56,
                    "killed": false,
                    "exception": "Stripe\\Exception\\ApiConnectionException",
                    "message": "Could not connect to Stripe (http://10.255.255.1:81/v1/customers). Please check your internet connection and try again. If this problem persists, you should check Stripe's service status at https://twitter.com/stripestatus, or let us know a",
                    "attempts": null
                },
                "override-silent": {
                    "seconds": 5.36,
                    "killed": false,
                    "exception": "Stripe\\Exception\\ApiConnectionException",
                    "message": "Could not connect to Stripe (http://hold:8080/v1/customers). Please check your internet connection and try again. If this problem persists, you should check Stripe's service status at https://twitter.com/stripestatus, or let us know at supp",
                    "attempts": null
                },
                "silent": {
                    "seconds": 80.39,
                    "killed": false,
                    "exception": "Stripe\\Exception\\ApiConnectionException",
                    "message": "Could not connect to Stripe (http://hold:8080/v1/customers). Please check your internet connection and try again. If this problem persists, you should check Stripe's service status at https://twitter.com/stripestatus, or let us know at supp",
                    "attempts": null
                }
            }
        },
        "twilio": {
            "package": "twilio/sdk",
            "version": "8.13.0",
            "modes": {
                "fail": {
                    "seconds": 0.05,
                    "killed": false,
                    "exception": null,
                    "message": null,
                    "attempts": [
                        0.05
                    ]
                },
                "drop": {
                    "seconds": 0.01,
                    "killed": false,
                    "exception": "Twilio\\Exceptions\\EnvironmentException",
                    "message": "Empty reply from server",
                    "attempts": [
                        0.01
                    ]
                },
                "connect": {
                    "seconds": 60.13,
                    "killed": false,
                    "exception": "Twilio\\Exceptions\\EnvironmentException",
                    "message": "Connection timed out after 60001 milliseconds",
                    "attempts": null
                },
                "override-connect": {
                    "seconds": 2.2,
                    "killed": false,
                    "exception": "Twilio\\Exceptions\\EnvironmentException",
                    "message": "Connection timed out after 2079 milliseconds",
                    "attempts": null
                },
                "override-silent": {
                    "seconds": 5.3,
                    "killed": false,
                    "exception": "Twilio\\Exceptions\\EnvironmentException",
                    "message": "Operation timed out after 5002 milliseconds with 0 bytes received",
                    "attempts": null
                },
                "silent": {
                    "seconds": 60.1,
                    "killed": false,
                    "exception": "Twilio\\Exceptions\\EnvironmentException",
                    "message": "Operation timed out after 60001 milliseconds with 0 bytes received",
                    "attempts": null
                }
            }
        },
        "openai": {
            "package": "openai-php/client",
            "version": "v0.15.0",
            "modes": {
                "fail": {
                    "seconds": 0.18,
                    "killed": false,
                    "exception": "OpenAI\\Exceptions\\ErrorException",
                    "message": "probe: internal error",
                    "attempts": [
                        0.17
                    ]
                },
                "drop": {
                    "seconds": 0.12,
                    "killed": false,
                    "exception": "OpenAI\\Exceptions\\TransporterException",
                    "message": "Empty reply from server for \"http://drop:8083/v1/models\".",
                    "attempts": [
                        0.12
                    ]
                },
                "connect": {
                    "seconds": 63.03,
                    "killed": false,
                    "exception": "OpenAI\\Exceptions\\TransporterException",
                    "message": "Idle timeout reached for \"http://10.255.255.1:81/v1/models\".",
                    "attempts": null
                },
                "override-connect": {
                    "seconds": 5.23,
                    "killed": false,
                    "exception": "OpenAI\\Exceptions\\TransporterException",
                    "message": "cURL error 28: Connection timed out after 2035 milliseconds (see https://curl.se/libcurl/c/libcurl-errors.html) for http://10.255.255.1:81/v1/models",
                    "attempts": null
                },
                "override-silent": {
                    "seconds": 7.02,
                    "killed": false,
                    "exception": "OpenAI\\Exceptions\\TransporterException",
                    "message": "cURL error 28: Operation timed out after 5003 milliseconds with 0 bytes received (see https://curl.se/libcurl/c/libcurl-errors.html) for http://hold:8080/v1/models",
                    "attempts": null
                },
                "silent": {
                    "seconds": 62.1,
                    "killed": false,
                    "exception": "OpenAI\\Exceptions\\TransporterException",
                    "message": "Idle timeout reached for \"http://hold:8080/v1/models\".",
                    "attempts": null
                }
            }
        },
        "openai-guzzle": {
            "package": "openai-php/client",
            "version": "v0.15.0",
            "modes": {
                "fail": {
                    "seconds": 0.11,
                    "killed": false,
                    "exception": "OpenAI\\Exceptions\\ErrorException",
                    "message": "probe: internal error",
                    "attempts": [
                        0.11
                    ]
                },
                "drop": {
                    "seconds": 0.24,
                    "killed": false,
                    "exception": "OpenAI\\Exceptions\\TransporterException",
                    "message": "cURL error 52: Empty reply from server (see https://curl.se/libcurl/c/libcurl-errors.html) for http://drop:8083/v1/models",
                    "attempts": [
                        0.22
                    ]
                },
                "connect": {
                    "seconds": 77.47,
                    "killed": false,
                    "exception": "OpenAI\\Exceptions\\TransporterException",
                    "message": "cURL error 7: Failed to connect to 10.255.255.1 port 81 after 75015 ms: Could not connect to server (see https://curl.se/libcurl/c/libcurl-errors.html) for http://10.255.255.1:81/v1/models",
                    "attempts": null
                },
                "override-connect": {
                    "seconds": 3.97,
                    "killed": false,
                    "exception": "OpenAI\\Exceptions\\TransporterException",
                    "message": "cURL error 28: Connection timed out after 2009 milliseconds (see https://curl.se/libcurl/c/libcurl-errors.html) for http://10.255.255.1:81/v1/models",
                    "attempts": null
                },
                "override-silent": {
                    "seconds": 7.48,
                    "killed": false,
                    "exception": "OpenAI\\Exceptions\\TransporterException",
                    "message": "cURL error 28: Operation timed out after 5002 milliseconds with 0 bytes received (see https://curl.se/libcurl/c/libcurl-errors.html) for http://hold:8080/v1/models",
                    "attempts": null
                },
                "silent": {
                    "seconds": 150,
                    "killed": true,
                    "exception": null,
                    "message": null,
                    "attempts": null
                }
            }
        },
        "mailgun": {
            "package": "mailgun/mailgun-php",
            "version": "v4.5.2",
            "modes": {
                "fail": {
                    "seconds": 0.33,
                    "killed": false,
                    "exception": "Mailgun\\Exception\\HttpServerException",
                    "message": "An unexpected error occurred at Mailgun's servers. Try again later and contact support if the error still exists.",
                    "attempts": [
                        0.31
                    ]
                },
                "drop": {
                    "seconds": 0.37,
                    "killed": false,
                    "exception": "Mailgun\\Exception\\HttpServerException",
                    "message": "Mailgun's servers are currently unreachable.",
                    "attempts": [
                        0.37
                    ]
                },
                "connect": {
                    "seconds": 61.46,
                    "killed": false,
                    "exception": "Mailgun\\Exception\\HttpServerException",
                    "message": "Mailgun's servers are currently unreachable.",
                    "attempts": null
                },
                "override-connect": {
                    "seconds": 4.44,
                    "killed": false,
                    "exception": "Mailgun\\Exception\\HttpServerException",
                    "message": "Mailgun's servers are currently unreachable.",
                    "attempts": null
                },
                "override-silent": {
                    "seconds": 7.08,
                    "killed": false,
                    "exception": "Mailgun\\Exception\\HttpServerException",
                    "message": "Mailgun's servers are currently unreachable.",
                    "attempts": null
                },
                "silent": {
                    "seconds": 62.51,
                    "killed": false,
                    "exception": "Mailgun\\Exception\\HttpServerException",
                    "message": "Mailgun's servers are currently unreachable.",
                    "attempts": null
                }
            }
        },
        "mailgun-guzzle": {
            "package": "mailgun/mailgun-php",
            "version": "v4.5.2",
            "modes": {
                "fail": {
                    "seconds": 0.1,
                    "killed": false,
                    "exception": "Mailgun\\Exception\\HttpServerException",
                    "message": "An unexpected error occurred at Mailgun's servers. Try again later and contact support if the error still exists.",
                    "attempts": [
                        0.09
                    ]
                },
                "drop": {
                    "seconds": 0.15,
                    "killed": false,
                    "exception": "Mailgun\\Exception\\HttpServerException",
                    "message": "Mailgun's servers are currently unreachable.",
                    "attempts": [
                        0.14
                    ]
                },
                "connect": {
                    "seconds": 77.24,
                    "killed": false,
                    "exception": "Mailgun\\Exception\\HttpServerException",
                    "message": "Mailgun's servers are currently unreachable.",
                    "attempts": null
                },
                "override-connect": {
                    "seconds": 5.09,
                    "killed": false,
                    "exception": "Mailgun\\Exception\\HttpServerException",
                    "message": "Mailgun's servers are currently unreachable.",
                    "attempts": null
                },
                "override-silent": {
                    "seconds": 6.47,
                    "killed": false,
                    "exception": "Mailgun\\Exception\\HttpServerException",
                    "message": "Mailgun's servers are currently unreachable.",
                    "attempts": null
                },
                "silent": {
                    "seconds": 150,
                    "killed": true,
                    "exception": null,
                    "message": null,
                    "attempts": null
                }
            }
        }
    }
}