Skip to main content
When agents become part of real systems, failures stop being isolated events. A slow dependency can distort latency. A missing trace can hide the real bottleneck. An uncaught error can surface long after the original cause has moved on. Without observability, debugging turns into archaeology. You piece together what happened from symptoms, logs, and guesses. That is manageable in a toy system. It becomes expensive in production.

Why Observability Matters

An agent should not just do work. It should leave a clear trail of how that work moved through the system and what broke when it failed.
Minimal runtime visibilityBindu observability
Hard to trace execution across componentsSpans show how work moves through the system
Errors appear without enough contextSentry captures failures with environment and release data
Difficult to compare environmentsService name, version, and deployment labels stay explicit
Debugging depends on manual reconstructionTelemetry platforms make traces and failures searchable
Problems are easier to notice than explainObservability helps teams understand cause, not just effect
That is the shift: Bindu integrates OpenTelemetry and Sentry so performance, flow, and failure can be observed directly instead of inferred after the fact.
If an agent handles important work, it should not fail silently or perform opaquely. Teams need a way to see the path of execution, not just the final outcome.

How Bindu Observability Works

Bindu integrates with OpenTelemetry (OTEL) and Sentry to provide comprehensive observability and error tracking. Bindu splits observability into two complementary channels:
OpenTelemetry -> traces and execution flow
Sentry        -> errors, releases, and performance incidents
  • OpenTelemetry shows how work moved
  • Sentry shows where things failed and under what release or environment

Traceable

OpenTelemetry creates spans so developers can follow execution across the runtime.

Actionable

Sentry captures failures with context that helps teams respond faster.

Portable

OTLP-compatible telemetry can be sent to Langfuse or Arize without changing the agent model.

The Lifecycle: Instrument, Export, Diagnose

1

Instrument

On startup, Bindu checks whether telemetry and Sentry are enabled. If they are, it initializes the tracer provider, OTLP exporter, span processor, and Sentry SDK with the right environment and release metadata.Good observability starts before the first request, not after the first incident.
2

Export

Once the agent is running, spans are created and exported asynchronously to an OTEL-compatible backend, while Sentry captures exceptions and performance information through its own pipeline.One system explains flow. The other explains failure.
3

Diagnose

When something goes wrong, teams can inspect traces for path-level visibility and use Sentry for release-aware error context, stack traces, and performance events.Together, they shorten the distance between “something broke” and “we know why.”

OpenTelemetry Setup

Supported Platforms

Langfuse

Open-source LLM engineering platform with tracing and analytics.

Arize

AI observability platform for monitoring and debugging ML models.

Any OTEL Platform

Supports standard OTLP protocol — works with any compatible backend.

Configuration

Bindu uses the OLTP_ prefix (not OTEL_) for these variables in the codebase.
# Enable telemetry
TELEMETRY_ENABLED=true

# OTEL endpoint (platform-specific)
OLTP_ENDPOINT=https://cloud.langfuse.com/api/public/otel/v1/traces

# Service name for your agent
OLTP_SERVICE_NAME=research-agent

# Authentication headers (platform-specific)
OLTP_HEADERS={"Authorization":"Basic <base64-encoded-credentials>"}

# Optional
OLTP_VERBOSE_LOGGING=true
OLTP_SERVICE_VERSION=1.0.0
OLTP_DEPLOYMENT_ENVIRONMENT=production
OLTP_BATCH_MAX_QUEUE_SIZE=2048
OLTP_BATCH_SCHEDULE_DELAY_MILLIS=5000

Platform-Specific Setup

  1. Sign up at cloud.langfuse.com
  2. Navigate to Settings → API Keys and create a new key pair
  3. Base64-encode your credentials:
echo -n "pk-xxx:sk-xxx" | base64
  1. Configure environment:
TELEMETRY_ENABLED=true
OLTP_ENDPOINT=https://cloud.langfuse.com/api/public/otel/v1/traces
OLTP_SERVICE_NAME=your-agent-name
OLTP_HEADERS={"Authorization":"Basic <base64-encoded-credentials>"}
OLTP_VERBOSE_LOGGING=true
  1. Sign up at arize.com
  2. Navigate to Settings → API Keys and copy your Space ID and API Key
  3. Configure environment:
TELEMETRY_ENABLED=true
OLTP_ENDPOINT=https://otlp.arize.com/v1
OLTP_SERVICE_NAME=your-agent-name
OLTP_HEADERS={"space_id":"<your-space-id>","api_key":"<your-api-key>"}
OLTP_VERBOSE_LOGGING=true

Sentry Error Tracking

Configuration

Bindu reads SENTRY_ENABLED and SENTRY_DSN as flat variables. All detailed settings use a double-underscore (__) to map to internal nested configuration.
# Core setup (flat variables)
SENTRY_ENABLED=true
SENTRY_DSN=https://<key>@<org-id>.ingest.sentry.io/<project-id>

# Detailed configuration (double-underscore prefix)
SENTRY__ENVIRONMENT=production
SENTRY__RELEASE=1.0.0
SENTRY__TRACES_SAMPLE_RATE=1.0
SENTRY__PROFILES_SAMPLE_RATE=1.0
SENTRY__ENABLE_TRACING=true
SENTRY__SEND_DEFAULT_PII=false
SENTRY__DEBUG=false

Setup

  1. Sign up at sentry.io
  2. Create a project and select Python as the platform
  3. Copy the DSN from project settings
  4. Configure environment:
SENTRY_ENABLED=true
SENTRY_DSN=https://xxx@xxx.ingest.sentry.io/xxx
SENTRY__ENVIRONMENT=production
SENTRY__RELEASE=1.0.0
  1. Restart the agent — Sentry initializes on startup

Agent Configuration

No code changes are needed. Observability is configured entirely via environment variables:
config = {
    "author": "your.email@example.com",
    "name": "research_agent",
    "description": "A research assistant agent",
    "deployment": {"url": "http://localhost:3773", "expose": True},
    "skills": ["skills/question-answering"],
}

bindufy(config, handler)
The agent defines behavior. The environment defines how deeply that behavior should be observed.

Best Practices

Sampling for High-Traffic Agents

# Sample 10% of traces to reduce cost
SENTRY__TRACES_SAMPLE_RATE=0.1
SENTRY__PROFILES_SAMPLE_RATE=0.1

Environment Separation

# Development
SENTRY__ENVIRONMENT=development
OLTP_SERVICE_NAME=agent-dev

# Production
SENTRY__ENVIRONMENT=production
OLTP_SERVICE_NAME=agent-prod

Custom Sentry Context

import sentry_sdk

sentry_sdk.set_context("business", {
    "plan": "premium",
    "credits": 100
})

sentry_sdk.set_tag("feature", "pdf-processing")

Sunflower LogoBindu brings clarity to your agents —each one visible, traceable, and growing in trustacross the Internet of Agents.