component: ComponentInterfaceFault
proto_imports:
  - "base/diag/monitors/hysteresis/messages.proto"
  - "base/diag/monitors/timing/messages.proto"
  - "base/diag/monitors/runtime/messages.proto"
  - "base/diag/monitors/stale/messages.proto"
  - "vehicle/common/diagnostics/component_interface_diagnostic.proto"
metric: ComponentInterfaceMetric
namespace: zoox::common::diagnostics
faults:
    ## Deprecated.
  - id: 1
    name: clock_error_too_high
    severity: WARNING
    description: Error between realtime and NTP-sync'd clocks is too high.
    freeze_frame: zoox.diag.IntHysteresisFreezeFrame
    deprecated: true
  - id: 2
    name: messages_dropped
    severity: ERROR
    description: Too many messages have been consecutively dropped
    freeze_frame: MessagesDroppedFreezeFrame
    reproducible: false
    triggers_nogo: true
  - id: 3
    name: not_all_messages_consumed
    severity: WARNING
    description: There are messages still available from your subscriber
    freeze_frame: NotAllMessagesConsumedFreezeFrame
    reproducible: false
  - id: 4
    name: not_enough_messages_received
    severity: WARNING
    description: Your subscriber's topic hasn't received the expected number of messages
    freeze_frame: NotEnoughMessagesReceivedFreezeFrame
    reproducible: false
    ## Deprecated.
  - id: 5
    name: callback_finished_late
    severity: ERROR
    description: Callback ran over error threshold
    freeze_frame: zoox.diag.RuntimeFreezeFrame
    deprecated: true
    ## Deprecated.
  - id: 6
    name: callback_finished_early
    severity: WARNING
    description: Callback did not run long enough
    freeze_frame: zoox.diag.RuntimeFreezeFrame
    deprecated: true
    ## Deprecated.
  - id: 7
    name: callback_runtime_stale
    severity: WARNING
    description: Callback runtime monitor stale
    freeze_frame: zoox.diag.StaleFreezeFrame
    deprecated: true
    ## Deprecated.
  - id: 8
    name: callback_called_interval_high
    severity: WARNING
    description: Too much time between calls
    freeze_frame: zoox.diag.IntervalFreezeFrame
    deprecated: true
    ## Deprecated.
  - id: 9
    name: callback_called_interval_low
    severity: WARNING
    description: Too little time between calls
    freeze_frame: zoox.diag.IntervalFreezeFrame
    deprecated: true
    ## Deprecated.
  - id: 10
    name: callback_called_frequency_high
    severity: WARNING
    description: Frequency of callback invocations too high
    freeze_frame: zoox.diag.FrequencyFreezeFrame
    deprecated: true
    ## Deprecated.
  - id: 11
    name: callback_called_frequency_low
    severity: WARNING
    description: Frequency of callback invocations too low
    freeze_frame: zoox.diag.FrequencyFreezeFrame
    deprecated: true
    ## Deprecated.
  - id: 12
    name: callback_timing_stale
    severity: WARNING
    description: Callback timing monitor stale
    freeze_frame: zoox.diag.StaleFreezeFrame
    deprecated: true
  - id: 13
    name: recoverable_fault
    severity: WARNING
    description: Recoverable fault. See error_message below.
    freeze_frame: CommonDiagnosticFreezeFrame
  - id: 14
    name: unrecoverable_fault
    severity: ERROR
    description: Unrecoverable fault. See error_message below.
    freeze_frame: CommonDiagnosticFreezeFrame
    triggers_nogo: true
    ## Deprecated.
  - id: 15
    name: clock_monitor_stale
    severity: WARNING
    description: Have not heard from the clock monitor lately.
    freeze_frame: zoox.diag.StaleFreezeFrame
    deprecated: true
  - id: 16
    name: max_seconds_between_messages_violated
    severity: WARNING
    description: Too much time between messages received.
    freeze_frame: SubscriberTimingFreezeFrame
    reproducible: false
  - id: 17
    name: max_transport_latency_violated
    severity: WARNING
    description: Messaging latency too high.
    freeze_frame: SubscriberTimingFreezeFrame
    reproducible: false
  - id: 18
    name: max_message_age_violated
    severity: WARNING
    description: Message got too old before being consumed.
    freeze_frame: SubscriberTimingFreezeFrame
    reproducible: false
  - id: 19
    name: waiting_on_something
    severity: WARNING
    description: Waiting on something. See error_message below.
    freeze_frame: CommonDiagnosticFreezeFrame
    ## Deprecated.
  - id: 20
    name: callback_finished_late_warning
    severity: WARNING
    description: Callback ran over warning threshold
    freeze_frame: zoox.diag.RuntimeFreezeFrame
    deprecated: true
  - id: 21
    name: messages_dropped_warning
    severity: WARNING
    description: Too many messages have been consecutively dropped
    freeze_frame: MessagesDroppedFreezeFrame
    reproducible: false
    ## Deprecated.
  - id: 22
    name: clock_error_too_low
    severity: WARNING
    description: Error between realtime and NTP-sync'd clocks is too negative.
    freeze_frame: zoox.diag.IntHysteresisFreezeFrame
    deprecated: true
    ##
    ## The following are replacements for some deprecated faults.
    ##
  - id: 23
    name: clock_error_too_positive
    severity: WARNING
    description: Error between realtime and NTP-sync'd clocks is too high
    freeze_frame: zoox.common.diagnostics.DurationFreezeFrame
  - id: 24
    name: clock_error_too_negative
    severity: WARNING
    description: Error between realtime and NTP-sync'd clocks is too large and negative
    freeze_frame: zoox.common.diagnostics.DurationFreezeFrame
  - id: 25
    name: tick_ran_short
    severity: WARNING
    description: Tick did not run long enough
    freeze_frame: zoox.common.diagnostics.DurationFreezeFrame
  - id: 26
    name: tick_ran_long_warning
    severity: WARNING
    description: Tick ran over warning threshold
    freeze_frame: zoox.common.diagnostics.DurationFreezeFrame
  - id: 27
    name: tick_ran_long_error
    severity: ERROR
    description: Tick ran over error threshold
    freeze_frame: zoox.common.diagnostics.DurationFreezeFrame
    triggers_nogo: true
  - id: 28
    name: callback_scheduled_too_early
    severity: WARNING
    description: Tick was called early
    freeze_frame: zoox.common.diagnostics.DurationFreezeFrame
  - id: 29
    name: callback_scheduled_too_late
    severity: WARNING
    description: Tick was called late
    freeze_frame: zoox.common.diagnostics.DurationFreezeFrame
  - id: 30
    name: publish_failure
    severity: ERROR
    description: Failed to publish a message
    freeze_frame: CommonDiagnosticFreezeFrame
    triggers_nogo: true
