Skip to main content

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

ConceptDescription
ServiceA named process or node in your robot (e.g., navigation-node, camera-driver)
TraceA timed operation that may span multiple steps or services
SpanA single unit of work within a trace, with attributes
LogA structured log entry, automatically correlated with the active trace
MetricA numeric measurement emitted over time (counters, gauges, histograms)