{
  "schemaVersion": 1,
  "id": "load-3d-guides-memory",
  "appId": "com.example.app",
  "span": {
    "start": { "event": { "label": "guides.load.started" } },
    "end": { "event": { "label": "guides.load.completed" } },
    "selection": "lastCompleted",
    "maximumDurationMs": 120000
  },
  "required": true,
  "missingDataOutcome": "fail",
  "metrics": [
    {
      "id": "peak-growth-mib",
      "channel": {
        "type": "memory"
      },
      "statistic": "memoryPeakIncreaseMiB",
      "budget": {
        "lte": 180
      },
      "minimumSamples": 5,
      "maximumSampleGapMs": 2000,
      "baselineBeforeStartMs": 5000
    },
    {
      "id": "retained-growth-mib",
      "channel": {
        "type": "memory"
      },
      "statistic": "memoryRetainedIncreaseMiB",
      "budget": {
        "lte": 35
      },
      "minimumSamples": 5,
      "maximumSampleGapMs": 2000,
      "baselineBeforeStartMs": 5000,
      "tailAfterEndMs": 15000,
      "regression": {
        "absolute": 15,
        "percent": 20,
        "confirmRuns": 2,
        "baselineRuns": 12
      },
      "display": {
        "title": "Retained memory growth",
        "unit": "MiB",
        "fractionDigits": 1,
        "minimum": 0,
        "includeZero": true
      }
    },
    {
      "id": "tail-slope-mib-per-second",
      "channel": {
        "type": "memory"
      },
      "statistic": "tailSlopeMiBPerSecond",
      "budget": {
        "absoluteLte": 0.5
      },
      "minimumSamples": 5,
      "maximumSampleGapMs": 2000,
      "tailAfterEndMs": 15000
    },
    {
      "id": "tail-spread-mib",
      "channel": {
        "type": "memory"
      },
      "statistic": "tailSpreadMiB",
      "budget": {
        "lte": 12
      },
      "minimumSamples": 5,
      "maximumSampleGapMs": 2000,
      "tailAfterEndMs": 15000
    }
  ]
}
