{
  "schemaVersion": 1,
  "capturedAt": "2026-07-15T15:59:23.325Z",
  "evidenceLevel": "reproduced",
  "environment": {
    "node": "v22.23.1",
    "platform": "darwin",
    "arch": "arm64",
    "docker": {
      "clientVersion": "29.6.1",
      "serverVersion": "29.6.1",
      "serverOs": "linux",
      "serverArch": "arm64"
    },
    "images": {
      "collector": {
        "reference": "otel/opentelemetry-collector-contrib@sha256:125bdbeb7590cc1952c5b3430ecf14063568980c2c93d5b38676cc0446ed8108",
        "imageId": "sha256:125bdbeb7590cc1952c5b3430ecf14063568980c2c93d5b38676cc0446ed8108",
        "architecture": "arm64",
        "os": "linux",
        "sizeBytes": 101953079,
        "user": "10001:10001"
      },
      "jaeger": {
        "reference": "jaegertracing/jaeger@sha256:ede4864215be4cd85bd8c3129a2fea6c5713c5653c7282c429dba123014bc68b",
        "imageId": "sha256:ede4864215be4cd85bd8c3129a2fea6c5713c5653c7282c429dba123014bc68b",
        "architecture": "arm64",
        "os": "linux",
        "sizeBytes": 52823229,
        "user": "10001"
      },
      "storageHelper": {
        "reference": "busybox@sha256:39e0df8c4d65953b55c344f017e1ff2e0031a7454b3c24e6b76d402f207e315a",
        "imageId": "sha256:39e0df8c4d65953b55c344f017e1ff2e0031a7454b3c24e6b76d402f207e315a",
        "architecture": "arm64",
        "os": "linux",
        "sizeBytes": 821624,
        "user": null
      }
    }
  },
  "inputIdentity": [
    {
      "path": "compose.yaml",
      "bytes": 2006,
      "sha256": "a76e43b8c8bae1c8596b9bf52ec7565f1864b950df21ab6520db54084c6c857c"
    },
    {
      "path": "config/otel-collector.yaml",
      "bytes": 964,
      "sha256": "38a5c68fbaa4f8a3597ed0b7cfa32dcd30841d5336c591e092b997656b2ff3fc"
    },
    {
      "path": "config/jaeger-badger.yaml",
      "bytes": 1089,
      "sha256": "acfb16f2ad31e387af639d18e2419119d723caf5c403f2203402edb4f0e5d1eb"
    },
    {
      "path": "src/send-batch.mjs",
      "bytes": 2507,
      "sha256": "a3b3d7525b3e439e62621d2836eb5229e1f7ece7398306462530608913ec9862"
    },
    {
      "path": "src/run-experiment.mjs",
      "bytes": 19571,
      "sha256": "80739f5f1ed5aa4cb7002a75e6e9c6778625309ae144c2f8d189878725165027"
    }
  ],
  "contract": {
    "traceId": "c4000000000000000000000000000001",
    "applicationRequests": 6,
    "spansPerRequest": 1,
    "paddingBytesPerRequest": 4096,
    "queueCapacityBatches": 20,
    "queueConsumers": 1,
    "persistentStorage": "file_storage-bbolt",
    "fsync": true,
    "bboltMaxSizeConfigured": false,
    "filesystemType": "tmpfs",
    "filesystemCapacityBytes": 65536,
    "recoveryFilesystemCapacityBytes": 262144,
    "recoveryMethod": "byte-identical-out-of-place-copy",
    "applicationAutomaticRetries": 0
  },
  "enospc": {
    "initialDisk": {
      "label": "empty-queue",
      "reportedQueueGaugeBatches": 0,
      "filesystem": {
        "mountSource": "tmpfs",
        "mountPoint": "/data",
        "type": "tmpfs",
        "totalBytes": 65536,
        "usedBytes": 20480,
        "availableBytes": 45056,
        "usedPercent": "31%"
      },
      "logicalBytes": 32768,
      "allocatedBytes": 20480
    },
    "attempts": [
      {
        "batchNumber": 1,
        "traceId": "c4000000000000000000000000000001",
        "spanId": "c400000000000001",
        "paddingBytes": 4096,
        "automaticRetries": 0,
        "elapsedMs": 20.751,
        "response": {
          "status": 200,
          "ok": true,
          "body": "{\"partialSuccess\":{}}"
        },
        "error": null
      },
      {
        "batchNumber": 2,
        "traceId": "c4000000000000000000000000000001",
        "spanId": "c400000000000002",
        "paddingBytes": 4096,
        "automaticRetries": 0,
        "elapsedMs": 18.325,
        "response": {
          "status": 200,
          "ok": true,
          "body": "{\"partialSuccess\":{}}"
        },
        "error": null
      },
      {
        "batchNumber": 3,
        "traceId": "c4000000000000000000000000000001",
        "spanId": "c400000000000003",
        "paddingBytes": 4096,
        "automaticRetries": 0,
        "elapsedMs": 17.241,
        "response": {
          "status": 200,
          "ok": true,
          "body": "{\"partialSuccess\":{}}"
        },
        "error": null
      },
      {
        "batchNumber": 4,
        "traceId": "c4000000000000000000000000000001",
        "spanId": "c400000000000004",
        "paddingBytes": 4096,
        "automaticRetries": 0,
        "elapsedMs": 17.836,
        "response": {
          "status": 200,
          "ok": true,
          "body": "{\"partialSuccess\":{}}"
        },
        "error": null
      },
      {
        "batchNumber": 5,
        "traceId": "c4000000000000000000000000000001",
        "spanId": "c400000000000005",
        "paddingBytes": 4096,
        "automaticRetries": 0,
        "elapsedMs": 16.387,
        "response": {
          "status": 200,
          "ok": true,
          "body": "{\"partialSuccess\":{}}"
        },
        "error": null
      },
      {
        "batchNumber": 6,
        "traceId": "c4000000000000000000000000000001",
        "spanId": "c400000000000006",
        "paddingBytes": 4096,
        "automaticRetries": 0,
        "elapsedMs": 16.451,
        "response": {
          "status": 503,
          "ok": false,
          "body": "{\"code\":14, \"message\":\"write /var/lib/otelcol/file_storage/exporter_otlp_http_jaeger_traces: no space left on device\"}"
        },
        "error": null
      }
    ],
    "acceptedBatchNumbers": [
      1,
      2,
      3,
      4,
      5
    ],
    "refusedBatchNumbers": [
      6
    ],
    "acceptedSpanIds": [
      "c400000000000001",
      "c400000000000002",
      "c400000000000003",
      "c400000000000004",
      "c400000000000005"
    ],
    "refusedSpanIds": [
      "c400000000000006"
    ],
    "metrics": {
      "acceptedSpans": 5,
      "refusedSpans": 1,
      "sentSpans": 0,
      "failedSpans": 0,
      "queueSizeBatches": 6,
      "queueCapacityBatches": 20,
      "enqueueFailedSpans": 1
    },
    "queueGaugeOvercountBatches": 1,
    "disk": {
      "label": "enospc",
      "reportedQueueGaugeBatches": 6,
      "filesystem": {
        "mountSource": "tmpfs",
        "mountPoint": "/data",
        "type": "tmpfs",
        "totalBytes": 65536,
        "usedBytes": 65536,
        "availableBytes": 0,
        "usedPercent": "100%"
      },
      "logicalBytes": 131072,
      "allocatedBytes": 65536
    },
    "log": {
      "observed": true,
      "matchingLineCount": 1,
      "mentionsNoSpaceLeft": true
    }
  },
  "replacement": {
    "collectorReplaced": true,
    "storageAnchorPreserved": true,
    "sourceVolumePreserved": true,
    "sourceVolume": {
      "name": "otel-enospc-recovery_collector_queue",
      "driver": "local",
      "scope": "local",
      "options": {
        "device": "tmpfs",
        "o": "size=65536,uid=10001,gid=10001,mode=0700",
        "type": "tmpfs"
      }
    },
    "recoveryVolume": {
      "name": "otel-enospc-recovery_collector_recovery",
      "driver": "local",
      "scope": "local",
      "options": {
        "device": "tmpfs",
        "o": "size=262144,uid=10001,gid=10001,mode=0700",
        "type": "tmpfs"
      }
    },
    "migration": {
      "sourceSha256": "1f0dcc318ab16f37c8eeeab1aa64f5bc06cc64227abcb1d8f24b1360509c3721",
      "sourceBytes": 131072,
      "targetSha256": "1f0dcc318ab16f37c8eeeab1aa64f5bc06cc64227abcb1d8f24b1360509c3721",
      "targetBytes": 131072,
      "byteIdentical": true
    },
    "migratedDisk": {
      "label": "migrated-before-recovery",
      "reportedQueueGaugeBatches": 0,
      "filesystem": {
        "mountSource": "tmpfs",
        "mountPoint": "/data",
        "type": "tmpfs",
        "totalBytes": 262144,
        "usedBytes": 131072,
        "availableBytes": 131072,
        "usedPercent": "50%"
      },
      "logicalBytes": 131072,
      "allocatedBytes": 131072
    }
  },
  "recovery": {
    "collectorQueueLog": {
      "loadedItems": 5,
      "loadedBytes": 22405,
      "dispatchedItemsAtShutdown": 1
    },
    "metrics": {
      "acceptedSpans": 0,
      "refusedSpans": 0,
      "sentSpans": 5,
      "failedSpans": 0,
      "queueSizeBatches": 0,
      "queueCapacityBatches": 20,
      "enqueueFailedSpans": 0
    },
    "traceBeforeReplay": {
      "traceId": "c4000000000000000000000000000001",
      "spans": [
        {
          "spanId": "c400000000000001",
          "operationName": "enospc batch 01",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-enospc-recovery",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 1,
            "app.storage.stable_key": "c4000000000000000000000000000001:c400000000000001",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "c400000000000002",
          "operationName": "enospc batch 02",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-enospc-recovery",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 2,
            "app.storage.stable_key": "c4000000000000000000000000000001:c400000000000002",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "c400000000000003",
          "operationName": "enospc batch 03",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-enospc-recovery",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 3,
            "app.storage.stable_key": "c4000000000000000000000000000001:c400000000000003",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "c400000000000004",
          "operationName": "enospc batch 04",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-enospc-recovery",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 4,
            "app.storage.stable_key": "c4000000000000000000000000000001:c400000000000004",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "c400000000000005",
          "operationName": "enospc batch 05",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-enospc-recovery",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 5,
            "app.storage.stable_key": "c4000000000000000000000000000001:c400000000000005",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        }
      ]
    },
    "recoveredSpanIds": [
      "c400000000000001",
      "c400000000000002",
      "c400000000000003",
      "c400000000000004",
      "c400000000000005"
    ],
    "rejectedSpanIdsStillMissing": [
      "c400000000000006"
    ],
    "disk": {
      "label": "recovered-drained",
      "reportedQueueGaugeBatches": 0,
      "filesystem": {
        "mountSource": "tmpfs",
        "mountPoint": "/data",
        "type": "tmpfs",
        "totalBytes": 262144,
        "usedBytes": 131072,
        "availableBytes": 131072,
        "usedPercent": "50%"
      },
      "logicalBytes": 131072,
      "allocatedBytes": 131072
    }
  },
  "replay": {
    "attempts": [
      {
        "batchNumber": 6,
        "traceId": "c4000000000000000000000000000001",
        "spanId": "c400000000000006",
        "paddingBytes": 4096,
        "automaticRetries": 0,
        "elapsedMs": 21.161,
        "response": {
          "status": 200,
          "ok": true,
          "body": "{\"partialSuccess\":{}}"
        },
        "error": null
      }
    ],
    "replayedBatchNumbers": [
      6
    ],
    "finalCollectorMetrics": {
      "acceptedSpans": 1,
      "refusedSpans": 0,
      "sentSpans": 6,
      "failedSpans": 0,
      "queueSizeBatches": 0,
      "queueCapacityBatches": 20,
      "enqueueFailedSpans": 0
    },
    "finalDisk": {
      "label": "after-replay",
      "reportedQueueGaugeBatches": 0,
      "filesystem": {
        "mountSource": "tmpfs",
        "mountPoint": "/data",
        "type": "tmpfs",
        "totalBytes": 262144,
        "usedBytes": 131072,
        "availableBytes": 131072,
        "usedPercent": "50%"
      },
      "logicalBytes": 131072,
      "allocatedBytes": 131072
    }
  },
  "backend": {
    "jaegerMetrics": {
      "acceptedSpans": 6,
      "refusedSpans": 0,
      "sentSpans": 6,
      "failedSpans": 0,
      "queueSizeBatches": 0,
      "queueCapacityBatches": 0,
      "enqueueFailedSpans": 0
    },
    "expectedSpanIds": [
      "c400000000000001",
      "c400000000000002",
      "c400000000000003",
      "c400000000000004",
      "c400000000000005",
      "c400000000000006"
    ],
    "finalTrace": {
      "traceId": "c4000000000000000000000000000001",
      "spans": [
        {
          "spanId": "c400000000000001",
          "operationName": "enospc batch 01",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-enospc-recovery",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 1,
            "app.storage.stable_key": "c4000000000000000000000000000001:c400000000000001",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "c400000000000002",
          "operationName": "enospc batch 02",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-enospc-recovery",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 2,
            "app.storage.stable_key": "c4000000000000000000000000000001:c400000000000002",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "c400000000000003",
          "operationName": "enospc batch 03",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-enospc-recovery",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 3,
            "app.storage.stable_key": "c4000000000000000000000000000001:c400000000000003",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "c400000000000004",
          "operationName": "enospc batch 04",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-enospc-recovery",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 4,
            "app.storage.stable_key": "c4000000000000000000000000000001:c400000000000004",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "c400000000000005",
          "operationName": "enospc batch 05",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-enospc-recovery",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 5,
            "app.storage.stable_key": "c4000000000000000000000000000001:c400000000000005",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        },
        {
          "spanId": "c400000000000006",
          "operationName": "enospc batch 06",
          "parentSpanIds": [],
          "tags": {
            "otel.scope.name": "younis-ai-lab.otel-enospc-recovery",
            "otel.scope.version": "1.0.0",
            "app.storage.batch": 6,
            "app.storage.stable_key": "c4000000000000000000000000000001:c400000000000006",
            "span.kind": "server",
            "otel.status_code": "OK"
          }
        }
      ]
    },
    "finalSpanCount": 6,
    "uniqueFinalSpanCount": 6,
    "duplicateSpanCount": 0,
    "missingSpanIds": []
  },
  "payloadSha256": "35501a001b5a2e6c38c1f0e6370bbdd234a2841123aae0290691d78a8f88e8be"
}
