85 lines
2.7 KiB
JSON
85 lines
2.7 KiB
JSON
{
|
|
"createdAt": "2026-09-22T17:22:44.674797+00:00",
|
|
"platform": "linux/amd64",
|
|
"image": "golang:1.25",
|
|
"imageId": "sha256:699337d620559a59b4a2bb298ad59611e535d2ee755a34cf2d2a98f37578dc80",
|
|
"sourceSha256": {
|
|
"scripts/verifyHTTP2.py": "2c9f4ca095e16e9b30b80b5d812b2644577222274e5a8041e0fb178e305197a4",
|
|
"transport/http2/soak_test.go": "9964a1670c8ffe30b27e96375e0ae72d00996b59beede748756013e8fd52eacf"
|
|
},
|
|
"containerLimits": {
|
|
"cpus": 2,
|
|
"memoryBytes": 2147483648,
|
|
"memoryAndSwapBytes": 2147483648,
|
|
"pids": 256
|
|
},
|
|
"gomaxprocs": 2,
|
|
"workers": 128,
|
|
"notes": [
|
|
"Bounded smoke validation, not completion of the 30-minute HTTP/2 acceptance gate.",
|
|
"TLS HTTP/2 over container loopback, with the client and server in one process; memory is not server-only.",
|
|
"One TCP connection multiplexes the 128 workers; each response checks HTTP/2, status, body and a unique request ID.",
|
|
"MiB uses 1024*1024 bytes. RSS is /proc/self/statm; heap is runtime.ReadMemStats. Samples every 15 seconds.",
|
|
"The after sample includes the one monitoring goroutine; it is stopped and joined before the test returns.",
|
|
"All seven pre-existing containers remained running, and no soak containers remained after cleanup.",
|
|
"The prior unbounded 30-minute race run was stopped after RSS growth; its result is not counted as a pass.",
|
|
"The short A/B comparison does not establish the complete cause of the old server incident."
|
|
],
|
|
"results": [
|
|
{
|
|
"mode": "regular",
|
|
"duration": "2m",
|
|
"elapsedSeconds": 120.04,
|
|
"requests": 3885273,
|
|
"failures": 0,
|
|
"protocolErrors": 0,
|
|
"sampledPeakRssBytes": 22437888,
|
|
"before": {
|
|
"heapBytes": 168040,
|
|
"rssBytes": 8491008,
|
|
"goroutines": 2,
|
|
"fileDescriptors": 6
|
|
},
|
|
"after": {
|
|
"heapBytes": 3925848,
|
|
"rssBytes": 21364736,
|
|
"goroutines": 3,
|
|
"fileDescriptors": 6,
|
|
"activeConnections": 0,
|
|
"activeRequests": 0
|
|
},
|
|
"exitCode": 0
|
|
},
|
|
{
|
|
"mode": "race",
|
|
"duration": "60s",
|
|
"elapsedSeconds": 60.127,
|
|
"requests": 377788,
|
|
"failures": 0,
|
|
"protocolErrors": 0,
|
|
"sampledPeakRssBytes": 492707840,
|
|
"before": {
|
|
"heapBytes": 169256,
|
|
"rssBytes": 23732224,
|
|
"goroutines": 2,
|
|
"fileDescriptors": 6
|
|
},
|
|
"after": {
|
|
"heapBytes": 2722632,
|
|
"rssBytes": 487239680,
|
|
"goroutines": 3,
|
|
"fileDescriptors": 6,
|
|
"activeConnections": 0,
|
|
"activeRequests": 0
|
|
},
|
|
"exitCode": 0
|
|
}
|
|
],
|
|
"cleanupValidation": {
|
|
"sigterm": "passed",
|
|
"sighup": "passed",
|
|
"wallTimeout": "passed"
|
|
},
|
|
"thirtyMinuteAcceptance": "pending"
|
|
}
|