type: diagnostic_aggregator/AnalyzerGroup
path: Base
analyzers:
  system:
    type: diagnostic_aggregator/AnalyzerGroup
    path: System
    analyzers:
      mainai:
        type: diagnostic_aggregator/GenericAnalyzer
        path: MainAI
        expected:
          - "bpf_pcu: bpf_pcu_diagnostic"
          - "bpf_pcu: bpf_pcu_logger"
          - "bpf_pcu: bpf_pcu_zci"
          - "system_monitor: system_monitor_diagnostic"
          - "system_monitor: system_monitor_zci"
          - "system_monitor: deploy_version_monitor_diagnostic"
          - "system_monitor: deploy_version_monitor_zci"
      vision1:
        type: diagnostic_aggregator/GenericAnalyzer
        path: Vision1
        expected:
          - "system_monitor_vision1: system_monitor_diagnostic"
          - "system_monitor_vision1: system_monitor_zci"
          - "system_monitor_vision1: deploy_version_monitor_diagnostic"
          - "system_monitor_vision1: deploy_version_monitor_zci"
          - "bpf_vision1: bpf_vision1_diagnostic"
          - "bpf_vision1: bpf_vision1_logger"
          - "bpf_vision1: bpf_vision1_zci"
      operator:
        type: diagnostic_aggregator/GenericAnalyzer
        path: Operator
        expected:
          - "system_monitor_operator: system_monitor_diagnostic"
          - "system_monitor_operator: system_monitor_zci"
          - "system_monitor_operator: deploy_version_monitor_diagnostic"
          - "system_monitor_operator: deploy_version_monitor_zci"
          - "bpf_operator: bpf_operator_diagnostic"
          - "bpf_operator: bpf_operator_zci"
  hardware:
    type: diagnostic_aggregator/AnalyzerGroup
    path: Hardware
    analyzers:
      mainai:
        type: diagnostic_aggregator/GenericAnalyzer
        path: MainAI
        expected:
          - "hardware_monitor_node: hardware_monitor_component_zci"
          - "hardware_monitor_node: hardware_monitor"
  temperature:
    type: diagnostic_aggregator/AnalyzerGroup
    path: Temperatures
    analyzers:
      mainai:
        type: diagnostic_aggregator/GenericAnalyzer
        path: MainAI
        find_and_remove_prefix:
          - "sensors_monitor: "
      vision1:
        type: diagnostic_aggregator/GenericAnalyzer
        path: Vision1
        find_and_remove_prefix:
          - "sensors_monitor_vision1: "
      operator:
        type: diagnostic_aggregator/GenericAnalyzer
        path: Operator
        find_and_remove_prefix:
          - "sensors_monitor_operator: "
  harddrives:
    type: diagnostic_aggregator/AnalyzerGroup
    path: HDD
    analyzers:
      mainai:
        type: diagnostic_aggregator/GenericAnalyzer
        path: MainAI
        expected:
          - "hd_monitor_node: hd_monitor_diagnostic"
          - "hd_monitor_node: hd_monitor_zci"
        remove_prefix: "hd_monitor_node"
      vision1:
        type: diagnostic_aggregator/GenericAnalyzer
        path: Vision1
        expected:
          - "hd_monitor_node_vision1: hd_monitor_diagnostic"
          - "hd_monitor_node_vision1: hd_monitor_zci"
        remove_prefix: "hd_monitor_node_vision1"
  graphics:
    type: diagnostic_aggregator/AnalyzerGroup
    path: GPU
    analyzers:
      mainai:
        type: diagnostic_aggregator/GenericAnalyzer
        path: MainAI
        expected:
          - "gpu_monitor: gpu_monitor_diagnostic"
          - "gpu_monitor: gpu_monitor_zci"
      vision1:
        type: diagnostic_aggregator/GenericAnalyzer
        path: Vision1
        expected:
          - "gpu_monitor_vision1: gpu_monitor_diagnostic"
          - "gpu_monitor_vision1: gpu_monitor_zci"
      operator:
        type: diagnostic_aggregator/GenericAnalyzer
        path: Operator
        expected:
          - "gpu_monitor_operator: gpu_monitor_diagnostic"
          - "gpu_monitor_operator: gpu_monitor_zci"
  chrony:
    type: diagnostic_aggregator/GenericAnalyzer
    path: Chrony
    startswith: "chrony_monitor"
    expected: "chrony_monitor: Chrony Diagnostic Monitor"
  timesync:
    type: diagnostic_aggregator/GenericAnalyzer
    path: TimeSync
    startswith: "NTP"
    num_items: 4
  network:
    type: diagnostic_aggregator/GenericAnalyzer
    path: Network
    startswith: "router_monitor_node"
    expected:
      - "router_monitor_node: router_diagnostic"
      - "router_monitor_node: router_monitor_component_zci"
  mission_watchdog:
    type: diagnostic_aggregator/GenericAnalyzer
    path: MissionWatchdog
    startswith: "mission_watchdog"
  localization_state_keeper:
    type: diagnostic_aggregator/GenericAnalyzer
    path: LocalizationStateKeeper
    startswith: "localization_state_keeper"
  reporting:
    type: diagnostic_aggregator/GenericAnalyzer
    path: Reporting
    expected:
      - "report_aggregator_node: report_aggregator_zci"
      - "report_uploader: report_uploader_zci"
  vitals:
    type: diagnostic_aggregator/GenericAnalyzer
    path: Vitals
    startswith: "vitals"
  teleop:
    type: diagnostic_aggregator/AnalyzerGroup
    path: Teleop
    analyzers:
      Guidance:
        type: diagnostic_aggregator/GenericAnalyzer
        path: Guidance
        expected:
          - "guidance_authority_tracker: guidance_authority_tracker_component_zci"
          - "hero_heartbeat_node: heartbeat_component_zci"
          - "teleop_shield_gateway: teleop_guidance_gateway_zci"
          - "teleop_shield_gateway: teleop_shield"
      Telemetry:
        type: diagnostic_aggregator/GenericAnalyzer
        path: Telemetry
        expected:
          - "ros_dds_bridge_vhx: driving_PerceptionObstacles2__perception_obs2_quantized"
          - "teleop_notification_node: notification_component_zci"
          - "teleop_supervisor_node: telemetry_balancer_component_zci"
          - "teleop_supervisor_node: telemetry_control_component_zci"
          - "teleop_supervisor_node: telemetry_health_component_zci"
          - "teleop_supervisor_node: teleop_interaction_component_zci"
          - "teleop_supervisor_node: teleop_resources"
          - "teleop_supervisor_node: teleop_resources_component_zci"
          - "ziod_router_diagnostics: vhx_1_wan:DomainRoute"
          - "ziod_router_diagnostics: vhx_1_wan:vehicle_discovery"
          - "ziod_router_diagnostics: vhx_2_wan:DomainRoute"
      DomainMonitor:
        type: diagnostic_aggregator/GenericAnalyzer
        path: Telemetry
        expected:
          - "teleop_domain_monitor_node: domain_monitor_zci"
        timeout: 10.0
  mapping:
    type: diagnostic_aggregator/GenericAnalyzer
    path: Mapping
    expected:
      - "mapping_node: imagery_client_zci"
      - "mapping_node: map_select_zci"
      - "mapping_node: zrn_client_zci"
      - "mapping_node: zrn_overlay_zci"
    remove_prefix:
      - "mapping_node: "
  supervisor:
    type: diagnostic_aggregator/GenericAnalyzer
    path: Supervisor
    expected:
      - "base_supervisor: BPF System Monitor pcu Orchestration"
      - "base_supervisor: Chrony Monitor Orchestration"
      - "base_supervisor: GPU Monitor Orchestration"
      - "base_supervisor: Nvidia Cuda MPS Control Daemon Orchestration"
      - "base_supervisor: Hardware Monitor Orchestration"
      - "base_supervisor: HD Monitor Node Orchestration"
      - "base_supervisor: Localization State Keeper Orchestration"
      - "base_supervisor: Mapping Orchestration"
      - "base_supervisor: Mission Watchdog Orchestration"
      - "base_supervisor: Sensors Monitor Orchestration"
      - "base_supervisor: System Monitor Orchestration"
      - "base_supervisor: Router Monitor Orchestration"
      - "base_supervisor: Vitals Orchestration"
      # Orchestration for machine vision1
      - "base_supervisor: BPF System Monitor vision1 Orchestration"
      - "base_supervisor: NTP Monitor vision1 Orchestration"
      - "base_supervisor: GPU Monitor vision1 Orchestration"
      - "base_supervisor: HD Monitor Node vision1 Orchestration"
      - "base_supervisor: Sensors Monitor vision1 Orchestration"
      - "base_supervisor: System Monitor vision1 Orchestration"
      # Orchestration for machine operator
      - "base_supervisor: BPF System Monitor operator Orchestration"
      - "base_supervisor: NTP Monitor operator Orchestration"
      - "base_supervisor: GPU Monitor operator Orchestration"
      - "base_supervisor: Sensors Monitor operator Orchestration"
      - "base_supervisor: System Monitor operator Orchestration"
      # Teleop node orchestration
      - "base_supervisor: Guidance Authority Tracker Orchestration"
      - "base_supervisor: Hero Heartbeat Node Orchestration"
      - "base_supervisor: ROS DDS Bridge Vhx Orchestration"
      - "base_supervisor: ROS DDS Bridge Video Record Orchestration"
      - "base_supervisor: Report Aggregator Node Orchestration"
      - "base_supervisor: Report Uploader Orchestration"
      - "base_supervisor: Teleop Domain Monitor Node Orchestration"
      - "base_supervisor: Teleop Notification Node Orchestration"
      - "base_supervisor: Teleop Shield Gateway Orchestration"
      - "base_supervisor: Teleop Supervisor Node Orchestration"
      - "base_supervisor: Ziod Router Diagnostics Orchestration"
      - "base_supervisor: Ziod Router vhx_1 udp Orchestration"
      - "base_supervisor: Ziod Router vhx_2 udp Orchestration"
      - "base_supervisor: Base ROS Diagnostic Aggregator Orchestration"
      - "base_supervisor: supervisor_zci"
      - "base_supervisor: supervisor_diagnostic"
    remove_prefix:
      - "base_supervisor"
