Skip to main content

Glossary

Terms used across the Robot Ops ecosystem.


Adaptive Capture

A robot-agent capture strategy (value "adaptive") that dynamically adjusts the sampling rate for each topic based on measured bandwidth. It avoids overwhelming the buffer on high-frequency topics while still capturing meaningful data. See Capture Strategies.


Circuit Breaker

rmw_robotops safety mechanism: after a configurable number of consecutive tracing failures (ROBOTOPS_FAILURE_THRESHOLD, default 100), the tracing layer automatically disables itself. The underlying DDS RMW continues running normally. Tracing can be re-enabled by restarting the node or setting ROBOTOPS_TRACING_ENABLED=true.


DDS (Data Distribution Service)

The underlying publish/subscribe middleware that ROS2 is built on. Common implementations include FastDDS and CycloneDDS. rmw_robotops wraps any DDS implementation specified via ROBOTOPS_UNDERLYING_RMW.


FIFO Buffer

The robot-agent's local disk buffer. Stores telemetry in MCAP files when the backend is unreachable. Default size: 500 MB. When full, oldest data is evicted (first-in, first-out). Configurable via ROBOT_OPS_AGENT_BUFFER_MAX_SIZE_MB.


MCAP

A container file format for recording robotics data (multimodal, time-indexed). The robot-agent uses MCAP for its offline buffer. MCAP files are compatible with Foxglove Studio and other ROS2 tools.


Offline Mode

robot-agent operates without a backend connection: data is buffered locally in MCAP files and uploaded when connectivity is restored. No data is lost during temporary network outages.


OpenTelemetry (OTel)

A vendor-neutral observability standard for traces, metrics, and logs. rmw_robotops propagates trace context in an OpenTelemetry-compatible format (trace_id, span_id, parent_span_id) through DDS metadata fields. ROSQL is built to query OTel-formatted ROS2 traces.


RMW (ROS Middleware)

The abstraction layer between ROS2 and the underlying DDS implementation. ROS2 supports multiple RMW implementations and selects one via the RMW_IMPLEMENTATION environment variable.


rmw_robotops

A ROS2 RMW implementation that wraps any underlying RMW to add distributed tracing. It intercepts all pub/sub/service/action calls, propagates OpenTelemetry-compatible trace context through DDS metadata, and publishes trace events to /robotops/trace_events. It enforces 8 safety guarantees to ensure robot operation is never compromised. See Related Libraries.


ROSQL

"Robot Ops Structured Query Language" (pronounced "RAW-skul"). An open source SQL-like query language for querying ROS2 telemetry — traces, logs, and metrics — with first-class knowledge of ROS2 concepts like nodes, topics, actions, and message causality. Created and open-sourced by Robot Ops, Inc. Full docs at rosql.org.


Span / Span ID

An individual unit of work in a distributed trace (e.g. "this node processed a message"). Each span has a unique span_id UUID and may have a parent_span_id linking it to the operation that caused it.


A span can carry multiple span_links in the format "trace_id:span_id" to represent fan-in causality — when one operation is caused by multiple upstream events. Used by rmw_robotops to correctly model ROS2 action outcomes that depend on multiple service calls.


TF Snapshot Deduplication

A robot-agent optimization that compares each transform tree snapshot to the previous one and only stores the diff. For stationary robots (or robots with many static transforms), this achieves ~99% storage savings.


Trace / Trace ID

A distributed trace captures the full causal chain of an operation across multiple ROS2 nodes. All spans belonging to the same logical operation share a trace_id UUID.


TraceContextChange

A message type defined in robotops_msgs. Published on /robotops/trace_context to notify robot-agent when a callback enters or exits a trace context — used for log-to-trace correlation in multi-threaded executors.


TraceEvent

A message type defined in robotops_msgs. Published by rmw_robotops on /robotops/trace_events for every publish, subscribe, service request/response, and action operation. robot-agent subscribes to this topic and forwards trace events to the Robot Ops backend.