Skip to main content

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:

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:

VariableValue
RMW_IMPLEMENTATIONrmw_robotops
ROBOTOPS_UNDERLYING_RMWe.g. rmw_fastrtps_cpp
ROBOTOPS_TRACING_ENABLEDtrue / false (kill switch)
ROBOTOPS_FAILURE_THRESHOLDCircuit 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