component: RosDdsBridgeDiag
proto_imports:
  - base/diag/monitors/hysteresis/messages.proto
  - base/diag/monitors/runtime/messages.proto
  - base/diag/monitors/stale/messages.proto
  - base/diag/monitors/timing/messages.proto
  - teleop/telemetry/ros_dds_bridge/config.proto
metric: zoox::diag::EmptyMetric
namespace: zoox::teleop
faults:
  - id: 1
    name: PluginFrequencyLow
    severity: INFO
    description: Input message frequency is too low
    freeze_frame: zoox.diag.FrequencyFreezeFrame
  - id: 2
    name: PluginTimingStale
    severity: INFO
    description: Timing monitor has gone stale
    freeze_frame: zoox.diag.StaleFreezeFrame
  - id: 3
    name: PluginRuntimeHigh
    severity: WARNING
    description: Runtime of plugin conversion too high
    freeze_frame: zoox.diag.RuntimeFreezeFrame
  - id: 4
    name: PluginRuntimeStale
    severity: WARNING
    description: Runtime of a plugin conversion stale
    freeze_frame: zoox.diag.StaleFreezeFrame
  - id: 5
    name: TransformFailedToCopy
    severity: WARNING
    description: Size of the ros transform message is too large for dds
    freeze_frame: zoox.teleop.SizeOverflowFreezeFrame
  - id: 6
    name: ImageFailedToCopy
    severity: WARNING
    description: Size of the ros image message is too large for dds
    freeze_frame: zoox.teleop.SizeOverflowFreezeFrame
  - id: 7
    name: PluginMessageSizeLimit
    severity: WARNING
    description: Message size exceeds limit and will not be sent
    freeze_frame: zoox.diag.UintHysteresisFreezeFrame
