Bot Pulse
Observability for robot fleets in production.
Bot Pulse is a lightweight Python API that gives you traces, logs, and metrics for your robot applications. Whether you're running one robot or a hundred, Bot Pulse helps you understand what's happening in the field — without reinventing your telemetry stack.
Why Bot Pulse?
Running robots in production means dealing with distributed nodes, intermittent connectivity, and hard-to-reproduce failures. Bot Pulse is built for this:
- Traces — Follow a command from the fleet manager all the way down to motor actuation. See where time is spent and where things break.
- Logs — Structured, searchable logs from every node in your fleet. Correlate logs with traces automatically.
- Metrics — CPU, memory, latency, error rates — any numeric value you emit, visualized over time per robot or across your fleet.
How it works
import botpulse
# Initialize with your project and robot identity
pulse = botpulse.init(
service_name="navigation-node",
robot_id="robot-07",
)
# Start a trace
with pulse.trace("navigate_to_waypoint") as span:
span.set_attribute("waypoint.x", 12.5)
span.set_attribute("waypoint.y", 3.2)
# ... your navigation logic ...
pulse.log("Waypoint reached", level="info")
# Emit a metric
pulse.metric("navigation_latency_ms", 142.3)
Bot Pulse collects this data and sends it to a backend you configure — whether that's our managed platform, a self-hosted collector, or an OpenTelemetry-compatible endpoint.
Key concepts
| Concept | Description |
|---|---|
| Service | A named process or node in your robot (e.g., navigation-node, camera-driver) |
| Trace | A timed operation that may span multiple steps or services |
| Span | A single unit of work within a trace, with attributes |
| Log | A structured log entry, automatically correlated with the active trace |
| Metric | A numeric measurement emitted over time (counters, gauges, histograms) |
Quick links
- Installation — Get up and running in minutes
- Traces — Instrument your first trace
- Logs — Add structured logging
- Metrics — Emit and visualize metrics
- ROS2 Integration — Use Bot Pulse with ROS2