Metrics
The panel subscribes to standard diagnostics topics and renders each metric as a live gauge with sparkline history. All metrics synchronize with the shared viewer timeline.Metric Details
CPU Usage
Displays per-core utilization bars and an aggregate percentage. The panel parses standarddiagnostic_msgs/DiagnosticArray messages where the hardware ID matches cpu. Individual core values are extracted from key-value pairs in the values array.
Memory
Shows current memory usage as a stacked bar (RSS, heap, buffers) and available memory as a separate gauge.Disk I/O
Renders read and write throughput as dual sparklines and queue depth as a numeric indicator.Network
Displays bandwidth utilization, packet loss ratio, and round-trip latency.GPU
Shows GPU compute utilization, VRAM usage, and die temperature. Supports NVIDIA and AMD GPUs.Battery
Displays charge level, discharge rate, and estimated remaining runtime.Auto-Detection
A topic is assigned to the Diagnostics panel when:- Its topic name starts with
/diagnostics/, or - Its schema name contains
diagnostic_msgs(matching schemas likediagnostic_msgs/DiagnosticArray,diagnostic_msgs/DiagnosticStatus)
Topic Health
The panel automatically monitors the health of every topic in the recording by tracking message rates, inter-message latency, and dropped messages.Topic Health Table
The table view lists every topic with its current health status, message rate, average latency, and drop count. Click a column header to sort. Click a row to jump to the most recent message from that topic in the timeline.Customizing Expected Rates
By default, the panel infers expected rates from the first 100 messages on each topic. For topics with variable rates (such as event-driven triggers), this inference may not be accurate. Override the expected rate for specific topics in the panel settings:null disables health monitoring for that topic.
Configuration
Customize the Diagnostics panel through the settings pane.Display Settings
Thresholds
Set warning and critical thresholds for each metric. When a value crosses a threshold, the gauge changes color and a marker is placed on the timeline.Layout
The Diagnostics panel can be placed in any slot of the multi-window layout. A common arrangement is to dock it along the bottom of the viewer alongside the Plot and Log panels, providing a full system health overview beneath the primary 3D or image views.Compact Mode
When the panel is docked in a narrow strip, it automatically switches to compact mode. Compact mode shows only the gauge values without sparklines, fitting more metrics into a smaller area. Expand the panel to restore the full view with sparklines and the topic health table.Timeline Synchronization
The Diagnostics panel is synchronized with all other panels through the shared timeline:- Playback updates gauges and sparklines to show metric values at the current timestamp
- Seeking jumps all metric displays to the selected point in time
- Frame stepping advances diagnostics data one sample at a time
- Threshold markers on the timeline are clickable — click a marker to seek to that event
Alert Integration
Connect diagnostics thresholds to fleet-level alert channels. When a metric crosses its configured threshold during a recording, Avala creates a timeline event and optionally triggers a notification.Configuring Alerts
- Open the Diagnostics panel settings and navigate to the Alerts tab.
- Select the metric and threshold level that should trigger an alert.
- Choose a notification channel (Slack, email, or webhook).
- Set the cooldown period to avoid duplicate alerts for sustained threshold violations.
Alert Payload
When an alert fires, the notification includes:- Device name and recording ID
- Metric name, current value, and threshold that was crossed
- Timestamp of the event
- Direct link to the recording at the exact timestamp
Example: Slack Alert
Exporting Diagnostics Data
Export diagnostics metrics from a recording as CSV or JSON for offline analysis. Open the panel settings menu and select Export Metrics. Choose the time range, metrics to include, and output format.Keyboard Shortcuts
Use Cases
CPU monitoring during manipulation
Monitor robot CPU usage during complex manipulation tasks to identify compute bottlenecks that cause control loop delays.
Network latency debugging
Track network latency and packet loss to identify data transmission issues between the robot and remote operator station.
GPU thermal analysis
Correlate GPU temperature spikes with rendering quality drops or inference slowdowns in on-device perception pipelines.
Battery discharge profiling
Profile battery discharge rates across different operational modes to optimize mission duration and plan recharging schedules.
Next Steps
State Machine Panel
Visualize robot behavior state transitions alongside diagnostics data.
Fleet Dashboard
Monitor diagnostics across your entire fleet from a single view.
Recording Rules
Automatically flag recordings that contain diagnostics threshold violations.