Related Libraries
The Robot Ops platform is built on several open source libraries. Here's what each one does and where to find it.
ROSQL
Repository: rosql.org · github.com/RobotOpsInc/rosql
What it is: An open source SQL-like query language for querying ROS2 telemetry — traces, logs, and metrics — with first-class knowledge of ROS2 concepts (nodes, topics, actions, message causality). ROSQL powers the analysis and alerting features in the Robot Ops platform.
Distributions:
- Rust library on crates.io
- npm package
@robotops/rosql - CLI:
curl -fsSL https://rosql.org/install.sh | sh - WASM (browser-native REPL at rosql.org)
- gRPC server
License: Apache-2.0
Example query:
FROM traces
WHERE ros.node LIKE '/arm_%'
AND duration > 10ms
SINCE 1h
ORDER BY duration DESC
LIMIT 50
rmw_robotops
Repository: github.com/RobotOpsInc/rmw_robotops
What it is: A ROS2 RMW implementation that wraps any underlying DDS middleware (FastDDS, CycloneDDS, Connext, etc.) to propagate OpenTelemetry-compatible distributed trace context through DDS metadata fields. All pub/sub/service/action calls are intercepted and emitted as TraceEvent messages on /robotops/trace_events.
Status: Production beta — the 8 safety guarantees are fully implemented. Performance benchmarks are in progress.
Key env vars:
| Variable | Value |
|---|---|
RMW_IMPLEMENTATION | rmw_robotops |
ROBOTOPS_UNDERLYING_RMW | e.g. rmw_fastrtps_cpp |
ROBOTOPS_TRACING_ENABLED | true / false (kill switch) |
ROBOTOPS_FAILURE_THRESHOLD | Circuit breaker threshold (default: 100) |
Install: via the RobotOps apt repository (Noble amd64/arm64). See Quickstart for the repository setup steps.
License: Apache-2.0
robotops_msgs
Repository: github.com/RobotOpsInc/robotops_msgs
What it is: ROS2 message package that defines the two message types used in the tracing pipeline:
TraceEvent— published on/robotops/trace_events(Reliable QoS, depth 1000). Contains trace_id, span_id, parent_span_id, span_links (fan-in), operation type, topic/node/message metadata.TraceContextChange— published on/robotops/trace_context(Reliable QoS, depth 100). Emitted when a callback enters or exits a trace context — used for log correlation in multi-threaded executors.
Install:
sudo apt install ros-jazzy-robotops-msgs
Versioning: Major version is locked across the full RobotOps ecosystem. Minor/patch evolve independently.
License: Apache-2.0
robotops_config
Repository: github.com/RobotOpsInc/robotops_config
What it is: The shared configuration schema for the Robot Ops platform, defined as Protocol Buffers. It is the single source of truth for all configuration consumed by rmw_robotops and robot-agent. The repo auto-generates Rust and C++ SDKs from the proto files, and publishes a documented default YAML (/etc/robotops/config.yaml).
Configuration sections: Robot Identity, Deployment Version, Authentication, Discovery, Metrics, Subscriptions, TF Monitoring, Logging.
Default config path: /etc/robotops/config.yaml (override with ROBOTOPS_CONFIG_PATH).
Install:
sudo apt install ros-jazzy-robotops-config
Or download the default config directly:
curl -L -o /etc/robotops/config.yaml \
https://github.com/RobotOpsInc/robotops_config/releases/latest/download/config.yaml
License: Apache-2.0