{
  "schemaVersion": "taimaa-timer-benchmark-schema/v1",
  "observations": [
    {
      "name": "trial_id",
      "type": "string"
    },
    {
      "name": "phase",
      "type": "string"
    },
    {
      "name": "scenario",
      "type": "string"
    },
    {
      "name": "trial_status",
      "type": "string"
    },
    {
      "name": "exclusion_reason",
      "type": "string"
    },
    {
      "name": "callback_index",
      "type": "number"
    },
    {
      "name": "scheduled_elapsed_ms",
      "type": "number"
    },
    {
      "name": "wall_now_ms",
      "type": "number"
    },
    {
      "name": "monotonic_now_ms",
      "type": "number"
    },
    {
      "name": "wall_elapsed_ms",
      "type": "number"
    },
    {
      "name": "monotonic_elapsed_ms",
      "type": "number"
    },
    {
      "name": "callback_lateness_ms",
      "type": "number"
    },
    {
      "name": "fixed_remaining_ms",
      "type": "number"
    },
    {
      "name": "wall_deadline_remaining_ms",
      "type": "number"
    },
    {
      "name": "monotonic_remaining_ms",
      "type": "number"
    },
    {
      "name": "fixed_remaining_error_ms",
      "type": "number"
    },
    {
      "name": "wall_deadline_remaining_error_ms",
      "type": "number"
    },
    {
      "name": "wall_monotonic_offset_ms",
      "type": "number"
    },
    {
      "name": "visibility_state",
      "type": "string"
    }
  ],
  "exclusions": [
    {
      "name": "trial_id",
      "type": "string"
    },
    {
      "name": "phase",
      "type": "string"
    },
    {
      "name": "scenario",
      "type": "string"
    },
    {
      "name": "status",
      "type": "string"
    },
    {
      "name": "reason",
      "type": "string"
    },
    {
      "name": "observation_count",
      "type": "number"
    },
    {
      "name": "max_clock_offset_jump_ms",
      "type": "number"
    },
    {
      "name": "visibility_states",
      "type": "string"
    },
    {
      "name": "planned_stalls_json",
      "type": "string"
    },
    {
      "name": "actual_stalls_json",
      "type": "string"
    }
  ],
  "metricDefinitions": {
    "callback_lateness_ms": "performance.now() elapsed minus callback_index × cadence",
    "remaining_time_error_ms": "algorithm remaining value minus monotonic remaining reference in the same callback",
    "completion_detection_lateness_ms": "first observed zero minus the monotonic deadline"
  }
}
