component: TimingFunction
proto_imports:
  - base/diag/monitors/common.proto
  - base/diag/monitors/stale/messages.proto
  - base/diag/monitors/timing/messages.proto
metric: UintStatistics
namespace: zoox::diag::example::timing_function
faults:
  - id: 1
    name: IntervalLow
    severity: ERROR
    description: Interval is too low
    freeze_frame: zoox.diag.IntervalFreezeFrame
  - id: 2
    name: IntervalHigh
    severity: ERROR
    description: Interval is too high
    freeze_frame: zoox.diag.IntervalFreezeFrame
  - id: 3
    name: FrequencyLow
    severity: ERROR
    description: Frequency is too low
    freeze_frame: zoox.diag.FrequencyFreezeFrame
  - id: 4
    name: FrequencyHigh
    severity: ERROR
    description: Frequency is too high
    freeze_frame: zoox.diag.FrequencyFreezeFrame
  - id: 5
    name: TimingStale
    severity: ERROR
    description: Timing monitor has gone stale
    freeze_frame: zoox.diag.StaleFreezeFrame
