hdds_viewer Network Analyzer

hdds_viewer is a military-grade observability tool for DDS/RTPS networks. It provides real-time capture, ML-powered anomaly detection, and visual debugging for robotics, defense, automotive, and medical applications. HDDS Viewer Main Interface

Key Features

Core Functionality

  • Offline replay from .hddscap capture files (625 MB/s I/O throughput)
  • PCAP import - Analyze existing network captures
  • Message inspection with CDR2 decoding (14 primitive types)
  • Topology visualization (force-directed graph + list views)
  • Timeline analysis - Latency tracking with p50/p95/p99 percentiles

Intelligence

User Experience

Quick Start

# Install via cargo

cargo install hdds-viewer

Open a capture file (GUI mode)

hdds-viewer capture.hddscap

Headless analysis with JSON output

hdds-viewer --analyze capture.hddscap --format json

Run with ML-powered detection

hdds-viewer --analyze capture.hddscap --ml-detect

Architecture

hdds_viewer is built as a Rust workspace with multiple crates:

CratePurpose

viewer-coreCapture I/O, CDR decoding, topology, QoS analysis
viewer-uiegui/eframe GUI application
viewer-aiPattern detectors (15 rules) and LLM integration
viewer-mlONNX Runtime inference and feature extraction
viewer-liveLive DDS capture via HDDS Telemetry TCP
viewer-pluginPlugin API for custom analyzers

CLI Options

hdds-viewer [OPTIONS] [FILE]

Arguments:

[FILE] Path to .hddscap or .pcap file to analyze

Options:

-a, --analyze Run headless analysis (no GUI)

-f, --format <FMT> Output format: json, yaml, csv, text (default: text)

--ml-detect Enable ML-powered anomaly detection

--ml-threshold <N> Anomaly confidence threshold (default: 0.85)

--ai Enable LLM-powered analysis (requires backend)

--dump-features Export ML features to CSV (for model training)

--no-ml Disable ML detection

--no-network Air-gapped mode (no external connections)

-h, --help Print help

-V, --version Print version

Exit Codes

CodeMeaning

0No issues detected
1Low severity anomalies
2Medium severity anomalies
3High severity anomalies
4Critical issues or file errors

Capture Formats

FormatExtensionDescription

HDDSCAP.hddscapNative format, optimized for ML analysis
PCAP.pcap, .pcapngWireshark-compatible network capture

Detection Systems

hdds_viewer includes three complementary detection systems:

1. QoS Advisor (15 rules)

Detects DDS/RTPS misconfigurations:

CategoryRules

Core QoSReliability, Durability, History, Deadline, Lifespan
Extended QoSOwnership, Partition, Latency Budget, Transport Priority
ResourcesResource Limits, Liveliness, Content Filter

See QoS Advisor documentation for details.

2. AI Assistant (15 pattern detectors)

Automated anomaly detection with suggested fixes:

SeverityDetectors

CriticalCascade failure, Resource exhaustion, Liveliness timeout
HighDeadline violation, Ownership conflict, Type mismatch
MediumGC spikes, Partition mismatch, Presentation order
LowPeriodic patterns, Content filter efficiency

See AI Assistant documentation for details.

3. ML Detection (ONNX)

Machine learning inference with ensemble model:

MetricValue

Accuracy99.58%
Inference latency< 2ms per 100 frames
Features50+ statistical features

See ML Detection documentation for details.

GUI Panels

PanelPurpose

Frame TableBrowse messages with filtering, sorting, export
TopologyInteractive force-directed graph + list view
TimelineLatency analysis with p50/p95/p99 percentiles
QoS AdvisorConfiguration issue detection with fixes
AI AssistantPattern-based anomaly detection
MetricsThroughput charts + latency histograms
InspectorPayload hex/JSON/raw view
RecorderRecord new .hddscap captures

Topology View

Topology Graph View

Timeline & Metrics

Timeline Panel Metrics Dashboard

Message Inspector

Inspector Panel

Keyboard Shortcuts

ShortcutAction

SpacePlay/Pause playback
Ctrl+OOpen capture file
Ctrl+RRestart playback
Ctrl+QOpen QoS Advisor
Ctrl+AOpen AI Assistant
Ctrl+,Open Settings
EscClose dialog/window

Performance

MetricValue

Write throughput625 MB/s
Read throughput800+ MB/s
RingBuffer ingestion41M msg/s
UI framerate60 FPS at all message rates
Binary size12 MB

Adaptive Sampling

Message RateSampling

< 30k msg/sFull (all frames)
30k-60k msg/s1/2 (every 2nd frame)
60k-100k msg/s1/4 (every 4th frame)
> 100k msg/s1/10 (every 10th frame)

Configuration

Config File

Edit ~/.config/hdds-viewer/config.toml:

[default]

domain = 0

format = "pretty"

[appearance]

theme = "dark-pro"

language = "en"

ui_scale = 1.0

[ml]

enabled = true

anomaly_threshold = 0.85

model_path = "~/.config/hdds-viewer/models/"

[ai]

backend = "ollama"

model = "llama3.2"

base_url = "http://localhost:11434"

Environment Variables

HDDS_VIEWER_DOMAIN=0       # Default DDS domain

HDDS_VIEWER_THEME=cyberpunk # UI theme

HDDS_VIEWER_LANG=fr # Language (en, fr, de, it, ja)

HDDS_VIEWER_LOG_LEVEL=debug # Log verbosity

System Requirements

RequirementMinimum

OSDebian 11+, Ubuntu 20.04+ (glibc 2.31+)
GraphicsOpenGL 3.3+ or Vulkan
Memory512 MB (+ capture file size)
Disk50 MB (+ models ~5 MB)

Quality Standards

hdds_viewer enforces military-grade quality (ANSSI/IGI-1300, Common Criteria EAL4+):

  • Zero CRITICAL/HIGH audit violations
  • All unsafe blocks require // SAFETY: comments
  • No production panics outside tests
  • 164 tests (126 unit + 23 integration + 12 doc + 3 tool)

License

  • Community Edition: Free for personal/non-commercial use
  • Pro/Enterprise: Commercial license with additional features
  • Offline validation, no telemetry