{
  "schemaVersion": 1,
  "timestamp": "2026-09-28T07:29:35.7634385+00:00",
  "commit": "813cbbc0208420514e23de38e369cfe1174cd3d1",
  "runtime": ".NET 10.0.12",
  "operatingSystem": "Ubuntu 24.04.5 LTS",
  "architecture": "X64",
  "processorCount": 4,
  "options": {
    "phaseSeconds": 30,
    "requestsPerSecond": 100,
    "maximumInFlight": 512,
    "outputPath": "artifacts/outage/outage-results.json"
  },
  "dependency": {
    "healthyMilliseconds": 5,
    "slowMilliseconds": 300,
    "alternateMilliseconds": 30,
    "failureMilliseconds": 20,
    "cleanupMilliseconds": 20,
    "hedgeMilliseconds": 20,
    "breakMilliseconds": 500,
    "concurrency": 16,
    "queueLimit": 16
  },
  "scenarios": [
    {
      "name": "retry",
      "pipeline": "[when IOException] Retry(2, no delay)",
      "wallSeconds": 120.0001805,
      "recoveryMilliseconds": 250,
      "recoveryWindowMilliseconds": 250,
      "recoveryRequiredSuccesses": 25,
      "peakLogicalInFlight": 31,
      "peakDownstreamInFlight": 31,
      "activeAfterDrain": 0,
      "cancelledAttempts": 0,
      "losersPendingAtCallerCompletion": 0,
      "cleanupAfterCallerP99Milliseconds": 0,
      "cleanupAfterCallerMaximumMilliseconds": 0,
      "phases": [
        {
          "name": "healthy",
          "scheduledStartSeconds": 0,
          "scheduledEndSeconds": 30,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 3000,
          "succeeded": 3000,
          "failed": 0,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 0,
          "downstreamAttempts": 3000,
          "attemptsPerOfferedRequest": 1,
          "attemptsPerAdmittedRequest": 1,
          "latencyP95Milliseconds": 6.278299999998183,
          "latencyP99Milliseconds": 6.833499999999049,
          "successLatencyP99Milliseconds": 6.833499999999049,
          "schedulerLagP99Milliseconds": 1.1356999999989625,
          "attemptsStartedInPhase": 3000
        },
        {
          "name": "slowdown",
          "scheduledStartSeconds": 30,
          "scheduledEndSeconds": 60,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 3000,
          "succeeded": 3000,
          "failed": 0,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 0,
          "downstreamAttempts": 3000,
          "attemptsPerOfferedRequest": 1,
          "attemptsPerAdmittedRequest": 1,
          "latencyP95Milliseconds": 301.74590000000023,
          "latencyP99Milliseconds": 302.16310000000135,
          "successLatencyP99Milliseconds": 302.16310000000135,
          "schedulerLagP99Milliseconds": 1.1399999999994748,
          "attemptsStartedInPhase": 3000
        },
        {
          "name": "outage",
          "scheduledStartSeconds": 60,
          "scheduledEndSeconds": 90,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 3000,
          "succeeded": 3,
          "failed": 2997,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 0,
          "downstreamAttempts": 8999,
          "attemptsPerOfferedRequest": 2.9996666666666667,
          "attemptsPerAdmittedRequest": 2.9996666666666667,
          "latencyP95Milliseconds": 62.62889999999288,
          "latencyP99Milliseconds": 63.613300000000095,
          "successLatencyP99Milliseconds": 45.854099999999676,
          "schedulerLagP99Milliseconds": 1.8742999999972199,
          "attemptsStartedInPhase": 8996
        },
        {
          "name": "recovery",
          "scheduledStartSeconds": 90,
          "scheduledEndSeconds": 120,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 3000,
          "succeeded": 3000,
          "failed": 0,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 0,
          "downstreamAttempts": 3000,
          "attemptsPerOfferedRequest": 1,
          "attemptsPerAdmittedRequest": 1,
          "latencyP95Milliseconds": 6.284800000003088,
          "latencyP99Milliseconds": 6.833900000003723,
          "successLatencyP99Milliseconds": 6.833900000003723,
          "schedulerLagP99Milliseconds": 1.1539000000055921,
          "attemptsStartedInPhase": 3003
        }
      ]
    },
    {
      "name": "retry-breaker",
      "pipeline": "[when IOException] Retry(2, no delay) \u2192 CircuitBreaker(5 consecutive, break 500ms)",
      "wallSeconds": 119.9969082,
      "recoveryMilliseconds": 500,
      "recoveryWindowMilliseconds": 250,
      "recoveryRequiredSuccesses": 25,
      "peakLogicalInFlight": 31,
      "peakDownstreamInFlight": 31,
      "activeAfterDrain": 0,
      "cancelledAttempts": 0,
      "losersPendingAtCallerCompletion": 0,
      "cleanupAfterCallerP99Milliseconds": 0,
      "cleanupAfterCallerMaximumMilliseconds": 0,
      "phases": [
        {
          "name": "healthy",
          "scheduledStartSeconds": 0,
          "scheduledEndSeconds": 30,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 3000,
          "succeeded": 3000,
          "failed": 0,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 0,
          "downstreamAttempts": 3000,
          "attemptsPerOfferedRequest": 1,
          "attemptsPerAdmittedRequest": 1,
          "latencyP95Milliseconds": 6.257200000000296,
          "latencyP99Milliseconds": 7.180700000000151,
          "successLatencyP99Milliseconds": 7.180700000000151,
          "schedulerLagP99Milliseconds": 1.8723999999998853,
          "attemptsStartedInPhase": 3000
        },
        {
          "name": "slowdown",
          "scheduledStartSeconds": 30,
          "scheduledEndSeconds": 60,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 3000,
          "succeeded": 3000,
          "failed": 0,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 0,
          "downstreamAttempts": 3000,
          "attemptsPerOfferedRequest": 1,
          "attemptsPerAdmittedRequest": 1,
          "latencyP95Milliseconds": 301.78829999999834,
          "latencyP99Milliseconds": 302.15469999999556,
          "successLatencyP99Milliseconds": 302.15469999999556,
          "schedulerLagP99Milliseconds": 1.2015000000005216,
          "attemptsStartedInPhase": 3000
        },
        {
          "name": "outage",
          "scheduledStartSeconds": 60,
          "scheduledEndSeconds": 90,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 68,
          "succeeded": 0,
          "failed": 3000,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 2993,
          "downstreamAttempts": 84,
          "attemptsPerOfferedRequest": 0.028,
          "attemptsPerAdmittedRequest": 1.2352941176470589,
          "latencyP95Milliseconds": 1.208100000013701,
          "latencyP99Milliseconds": 21.18319999999585,
          "successLatencyP99Milliseconds": null,
          "schedulerLagP99Milliseconds": 2.0004000000000133,
          "attemptsStartedInPhase": 84
        },
        {
          "name": "recovery",
          "scheduledStartSeconds": 90,
          "scheduledEndSeconds": 120,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 2995,
          "succeeded": 2995,
          "failed": 5,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 5,
          "downstreamAttempts": 2995,
          "attemptsPerOfferedRequest": 0.9983333333333333,
          "attemptsPerAdmittedRequest": 1,
          "latencyP95Milliseconds": 6.257299999987254,
          "latencyP99Milliseconds": 7.029499999987365,
          "successLatencyP99Milliseconds": 7.0606999999967,
          "schedulerLagP99Milliseconds": 1.5449999999930242,
          "attemptsStartedInPhase": 2995
        }
      ]
    },
    {
      "name": "limit-retry-breaker",
      "pipeline": "ConcurrencyLimit(16, queue 16) \u2192 [when IOException] Retry(2, no delay) \u2192 CircuitBreaker(5 consecutive, break 500ms)",
      "wallSeconds": 119.9962973,
      "recoveryMilliseconds": 500,
      "recoveryWindowMilliseconds": 250,
      "recoveryRequiredSuccesses": 25,
      "peakLogicalInFlight": 33,
      "peakDownstreamInFlight": 16,
      "activeAfterDrain": 0,
      "cancelledAttempts": 0,
      "losersPendingAtCallerCompletion": 0,
      "cleanupAfterCallerP99Milliseconds": 0,
      "cleanupAfterCallerMaximumMilliseconds": 0,
      "phases": [
        {
          "name": "healthy",
          "scheduledStartSeconds": 0,
          "scheduledEndSeconds": 30,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 3000,
          "succeeded": 3000,
          "failed": 0,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 0,
          "downstreamAttempts": 3000,
          "attemptsPerOfferedRequest": 1,
          "attemptsPerAdmittedRequest": 1,
          "latencyP95Milliseconds": 6.25739999999908,
          "latencyP99Milliseconds": 6.889300000000043,
          "successLatencyP99Milliseconds": 6.889300000000043,
          "schedulerLagP99Milliseconds": 1.1468000000007805,
          "attemptsStartedInPhase": 3000
        },
        {
          "name": "slowdown",
          "scheduledStartSeconds": 30,
          "scheduledEndSeconds": 60,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 1608,
          "succeeded": 1600,
          "failed": 1400,
          "harnessRejected": 0,
          "concurrencyRejected": 1384,
          "circuitRejected": 13,
          "downstreamAttempts": 1616,
          "attemptsPerOfferedRequest": 0.5386666666666666,
          "attemptsPerAdmittedRequest": 1.0049751243781095,
          "latencyP95Milliseconds": 598.1598000000048,
          "latencyP99Milliseconds": 599.9478000000024,
          "successLatencyP99Milliseconds": 600.1240000000009,
          "schedulerLagP99Milliseconds": 1.1361999999977002,
          "attemptsStartedInPhase": 1600
        },
        {
          "name": "outage",
          "scheduledStartSeconds": 60,
          "scheduledEndSeconds": 90,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 56,
          "succeeded": 0,
          "failed": 3000,
          "harnessRejected": 0,
          "concurrencyRejected": 3,
          "circuitRejected": 2997,
          "downstreamAttempts": 56,
          "attemptsPerOfferedRequest": 0.018666666666666668,
          "attemptsPerAdmittedRequest": 1,
          "latencyP95Milliseconds": 1.1175000000065438,
          "latencyP99Milliseconds": 20.71650000000602,
          "successLatencyP99Milliseconds": null,
          "schedulerLagP99Milliseconds": 1.120000000000232,
          "attemptsStartedInPhase": 72
        },
        {
          "name": "recovery",
          "scheduledStartSeconds": 90,
          "scheduledEndSeconds": 120,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 2996,
          "succeeded": 2996,
          "failed": 4,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 4,
          "downstreamAttempts": 2996,
          "attemptsPerOfferedRequest": 0.9986666666666667,
          "attemptsPerAdmittedRequest": 1,
          "latencyP95Milliseconds": 6.257800000000202,
          "latencyP99Milliseconds": 6.87989999998706,
          "successLatencyP99Milliseconds": 6.882099999998559,
          "schedulerLagP99Milliseconds": 1.141500000002793,
          "attemptsStartedInPhase": 2996
        }
      ]
    },
    {
      "name": "limit-hedge-breaker",
      "pipeline": "ConcurrencyLimit(16, queue 16) \u2192 [when IOException] Hedge(1 extra, delay 20ms) \u2192 CircuitBreaker(5 consecutive, break 500ms)",
      "wallSeconds": 119.997056,
      "recoveryMilliseconds": 500,
      "recoveryWindowMilliseconds": 250,
      "recoveryRequiredSuccesses": 25,
      "peakLogicalInFlight": 7,
      "peakDownstreamInFlight": 12,
      "activeAfterDrain": 0,
      "cancelledAttempts": 3088,
      "losersPendingAtCallerCompletion": 3088,
      "cleanupAfterCallerP99Milliseconds": 21.018800000000226,
      "cleanupAfterCallerMaximumMilliseconds": 21.88880000000637,
      "phases": [
        {
          "name": "healthy",
          "scheduledStartSeconds": 0,
          "scheduledEndSeconds": 30,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 3000,
          "succeeded": 3000,
          "failed": 0,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 0,
          "downstreamAttempts": 3000,
          "attemptsPerOfferedRequest": 1,
          "attemptsPerAdmittedRequest": 1,
          "latencyP95Milliseconds": 6.250600000001327,
          "latencyP99Milliseconds": 6.6710999999983756,
          "successLatencyP99Milliseconds": 6.6710999999983756,
          "schedulerLagP99Milliseconds": 1.3286000000007903,
          "attemptsStartedInPhase": 3000
        },
        {
          "name": "slowdown",
          "scheduledStartSeconds": 30,
          "scheduledEndSeconds": 60,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 3000,
          "succeeded": 3000,
          "failed": 0,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 0,
          "downstreamAttempts": 6000,
          "attemptsPerOfferedRequest": 2,
          "attemptsPerAdmittedRequest": 2,
          "latencyP95Milliseconds": 51.92360000000207,
          "latencyP99Milliseconds": 52.58500000000055,
          "successLatencyP99Milliseconds": 52.58500000000055,
          "schedulerLagP99Milliseconds": 1.187100000002772,
          "attemptsStartedInPhase": 5998
        },
        {
          "name": "outage",
          "scheduledStartSeconds": 60,
          "scheduledEndSeconds": 90,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 142,
          "succeeded": 0,
          "failed": 3000,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 2996,
          "downstreamAttempts": 146,
          "attemptsPerOfferedRequest": 0.048666666666666664,
          "attemptsPerAdmittedRequest": 1.028169014084507,
          "latencyP95Milliseconds": 2.074300000003859,
          "latencyP99Milliseconds": 21.357399999999416,
          "successLatencyP99Milliseconds": null,
          "schedulerLagP99Milliseconds": 1.3628000000025509,
          "attemptsStartedInPhase": 148
        },
        {
          "name": "recovery",
          "scheduledStartSeconds": 90,
          "scheduledEndSeconds": 120,
          "offered": 3000,
          "submitted": 3000,
          "admitted": 2984,
          "succeeded": 2984,
          "failed": 16,
          "harnessRejected": 0,
          "concurrencyRejected": 0,
          "circuitRejected": 16,
          "downstreamAttempts": 2984,
          "attemptsPerOfferedRequest": 0.9946666666666667,
          "attemptsPerAdmittedRequest": 1,
          "latencyP95Milliseconds": 6.249500000009789,
          "latencyP99Milliseconds": 7.036099999993439,
          "successLatencyP99Milliseconds": 7.036700000000451,
          "schedulerLagP99Milliseconds": 1.2231999999983145,
          "attemptsStartedInPhase": 2984
        }
      ]
    }
  ]
}