component: CammuxDiagnostic
proto_imports:
  - vehicle/sensors/cameras/diagnostics/diagnostic.proto
metric: CammuxMetric
namespace: zoox::vehicle::cammux
faults:
# Pipeline processing interval
    # Fault should be an ERROR.
  - id: 1
    name: pipeline_cycle_time_high
    severity: ERROR
    description: "Cammux took too long to run. Most likely caused by communication problem with a camera (e.g., faulty camera or cable)."
    freeze_frame: PipelineCycleTimeFreezeFrame
    triggers_nogo: true
    # Fault should be an ERROR.
  - id: 2
    name: pipeline_cycle_time_low
    severity: WARNING
    description: "Cammux ran too quickly. Possible hardware or software issue; see other diagnostics."
    freeze_frame: PipelineCycleTimeFreezeFrame
    # Fault should be an ERROR.
  - id: 3
    name: ssh_not_detected
    severity: WARNING
    description: "SSH connection to vision computer unsuccessful."
    freeze_frame: SSHNotDetectedFreezeFrame
  - id: 4
    name: camera_capture_error
    severity: ERROR
    description: "Failed to capture one or more images from the cameras."
    freeze_frame: CameraCaptureErrorFreezeFrame
    triggers_nogo: true
  - id: 5
    name: image_source_creation_error
    severity: ERROR
    description: "Failed to instantiate image source."
    triggers_nogo: true
  - id: 6
    name: pipeline_node_update_error
    severity: ERROR
    description: "Failed to update cammux pipeline nodes."
    triggers_nogo: true
  - id: 7
    name: init_log_artifacts_consumer_error
    severity: ERROR
    description: "Failed to initialize the LogArtifactsConsumer (i.e., the video logging subsystem). Can usually be resolved by restarting the logger."
    triggers_nogo: true
  - id: 8
    name: init_raw_logger_consumer_error
    severity: ERROR
    description: "Failed to initialize the RawLoggerConsumer (i.e., the raw logging subsystem). Can usually be resolved by restarting the logger."
    triggers_nogo: true
  - id: 9
    name: starting
    severity: ERROR
    description: "Cammux is starting up; please wait"
    triggers_nogo: true
  - id: 10
    name: capture_queue_overrun
    severity: ERROR
    description: "Core cammux thread is not keeping up with image capture rate. This is a bug or the result of system overload."
    triggers_nogo: true
  - id: 11
    name: hero_state_stale_and_used_for_daynight_mode
    severity: ERROR
    description: "Cammux is configured to use Hero State to determine Day or Night mode but Hero State is stale. Please check the status of the localizer."
    triggers_nogo: true
  - id: 12
    name: updating_camera_settings_for_timeofday
    severity: ERROR
    description: "Cammux is updating the camera settings to optimize for the time of day. The process will disrupt image acquisition so the vehicle will NoGo until complete."
    triggers_nogo: true
  - id: 13
    name: time_of_day_provider_error
    severity: ERROR
    description: "Error determining expected environmental lighting. Contact engineering."
    triggers_nogo: true
