Stop debugging AI agents in the dark.

Real-time trace, replay, and self-heal production LLM pipelines. Detect prompt drifts and infinite agent tool loops with sub-millisecond latency.

Powering 5M+ daily agent traces across leading AI startups.

Trusted by engineering teams at

  • Neon
  • Supabase
  • Vercel
  • Resend
  • Modal
Active Trace: agent-session-8841
  1. [Input Prompt]
  2. [Vector Retrieval: 18ms]
  3. [Circuit Breaker: OK]
  4. [Output Stream]

Agent trace tree

tool.refund_lookuptool

Loop detected on call 4 (same args x4). Circuit breaker tripped and rerouted to fallback model.

2,210 tokens

Latency

now 38ms

38ms avg

38%

Token cost

$0.021 / run

62% under budget after fallback routing

Terminal

$ npm i @pulsestack/sdk

+ @pulsestack/sdk@3.0.2 · tracing enabled in 1 line

Failure modes

Everything your agents need to fail safely

Loops get cut, every decision can be replayed, sensitive data is masked before it leaves your network, and every request lands on the cheapest model that still passes.

Circuit breakers

Autonomous Circuit Breakers

Detects repeated tool calls with identical arguments and trips a breaker in-flight. The span reroutes to a fallback instead of burning retries and tokens.

Replay

Deterministic Time-Travel Replay

Step backwards through every agent decision. Prompts, tool responses and seeds are recorded, so any run replays exactly.

1
2
3
4
5
6

Step 4 of 6 · tool.refund_lookup

62%

6,820 → 2,592 tokens / run

Compliance

PII & Compliance Edge Masking

Sensitive fields are masked at the edge, before traces are stored or sent to any model provider.

Beforejane@acme.io
After[EMAIL]
Works withLangChainAutoGenCrewAIVercel AI SDK

Routing

99.99% Cost Optimization Engine

Smart fallback routing sends each request to the cheapest model that passes your evals, and fails over automatically when a provider degrades.

  1. gpt-4.1primary
  2. claudefallback
  3. small modelcheapest
Cost per run$0.021 → $0.006Saved $4,218 this month
SOC2 Type II & HIPAA ReadyEdge security, encrypted in transit and at rest

Engine

Capture, detect, heal. In that order.

PulseStack sits beside your agent runtime, not inside your prompts. Every step is traced at sub-millisecond overhead, checked against rules you can read, and repaired by policies you version like code.

Built OpenTelemetry-native, so existing exporters keep working. First-class adapters for LangChain, LlamaIndex, and the OpenAI Agents SDK.

  • OpenTelemetry
  • LangChain
  • LlamaIndex
  • OpenAI Agents SDK
  1. Stage 01 · Capture

    Wrap the agent. Every span is recorded.

    One call instruments your agent graph. Prompts, tool calls, arguments, token counts, and latency are emitted as OpenTelemetry spans with under 1 ms of overhead per step.

    import { pulse } from "@pulsestack/sdk";
    
    const agent = pulse.wrap(supportAgent, {
      project: "support-prod",
      otel: true,
    });
  2. Stage 02 · Detect

    Drift and loops are flagged as they happen.

    Detectors run inline on the span stream. Prompt drift is scored against your baseline, and repeated tool calls with identical arguments trip a loop rule before they burn budget.

    detect "tool_loop" {
      when    same_tool_args >= 4 within 30s
      scope   tool.*
      action  trip_circuit_breaker
    }
  3. Stage 03 · Self-heal

    Policies reroute the run instead of paging you.

    Healing policies are plain YAML checked into your repo. A tripped breaker can fall back to a cheaper model, retry with a corrected prompt, or mask PII at the edge before the response leaves your network.

    healing_policy:
      on: [tool_loop, prompt_drift]
      fallback_model: gpt-4.1-mini
      max_retries: 2
      pii_mask: [email, card_number]

Benchmarks

Detection measured in seconds, not postmortems.

The numbers production teams hold us to, on the same workload every release.

p50 ingest-to-alert
38ms

From span receipt to on-call notification.

SDK overhead
0.4ms

Added per traced LLM call, measured in-process.

Uptime
99.99%

Trailing 12-month ingest availability.

Traces per day
5M+

Across production agent fleets.

Time to detect a runaway tool loop

  • PulseStack

    0.4s

    Circuit breaker trips on the fourth identical call.

  • Log-grep tooling

    47 min

    Saved queries over raw logs, run on a schedule.

  • Manual review

    3+ hours

    Engineer reads transcripts after a customer reports it.

Bars are drawn to scale against the manual baseline. The PulseStack bar is widened to a visible minimum.

Methodology: all figures measured on a 10k-trace synthetic workload, 8 vCPU. Latency is p50 unless noted. Uptime is trailing 12 months of ingest availability.

Savings model

Price the loops you are already paying for.

Move the sliders to match your traffic. Circuit breakers recover about 85% of wasted spend, and fallback routing saves roughly 30% on what remains.

Your workload

500,000
10k5M
$0.04
$0.005$0.20
12%
0%40%

Assumes circuit breakers recover 85% of wasted spend and fallback routing saves 30% on remaining spend. Scale plan at $79/mo is deducted from net savings.

Net monthly savings

$7,349

After the Scale plan at $79/mo

Current wasted spend
$2,400 /mo
Spend avoided with PulseStack
$7,428 /mo
Annual savings
$88,188
Payback on Scale
7.8 hrs

Founder reviews

Founders who stopped firefighting

“We were paging on-call three times a week for agents looping on the same refund lookup. PulseStack trips the circuit breaker on the fourth identical call and reroutes to a fallback model before a customer ever sees it. Agent incidents dropped by more than two-thirds in the first month, and our on-call rotation finally sleeps.”
Portrait of Priya Raman, CTO at Kestrel Labs

Priya Raman

CTO, Kestrel Labs

-71% agent incidents

“Time-travel replay turned a two-day hunt for a prompt drift into a twenty-minute read. We step back through each planner decision and see exactly which system message changed.”

MTTR 4h → 6min

Portrait of Tomasz Nowak, Head of Platform at Lattice Harbor

Tomasz Nowak

Head of Platform, Lattice Harbor

“Edge PII masking was the gate for our healthcare pilot. Emails and card numbers never leave our VPC, and the compliance review took a week instead of a quarter.”

$18k/mo saved

Portrait of Dana Whitfield, Founder at Quorra Systems

Dana Whitfield

Founder, Quorra Systems

Photos by Pexels contributors

Plans

Start free. Scale when your agents do.

Every tier runs the same tracing engine. You pay for volume, retention and the controls your production agents need.

Developer

For side projects and local agent experiments.

$0/mo
  • 50k traces per month
  • 7-day trace retention
  • Core SDK and span tracing
  • Community support on Discord
Start free
Most popular

Scale

For production agents shipping to real users.

$79/mo
  • 5M traces per month
  • 30-day trace retention
  • Autonomous circuit breakers
  • Deterministic time-travel replay
  • PII and compliance edge masking
  • Slack and PagerDuty alerts
Start 14-day Scale trial

Enterprise

For regulated teams with strict data-residency needs.

Custom
  • SSO and SAML
  • VPC deployment
  • SOC 2 Type II report
  • Unlimited trace retention
  • Dedicated engineer and named SLA
Talk to sales

All plans include a 14-day Scale trial. No credit card required.

Developer FAQ

Answers before you install the SDK.

Latency budgets, data residency, framework coverage, and how the breaker makes its decisions. Specifics, not marketing.

Still stuck? Talk to an engineer
What does the SDK add to request latency?
Span capture runs on the request thread and adds under 1 ms per LLM or tool call. Spans are batched and exported off-thread every 500 ms or every 256 spans, whichever comes first. If the collector is unreachable, spans queue in a bounded ring buffer and drop the oldest first, so your agent never blocks on telemetry. Set PULSESTACK_SAMPLE_RATE to trace a fraction of traffic in high-volume paths.
Where is our data stored, and how is PII handled?
Prompts and completions are masked inside your process before they leave it. Built-in detectors cover email addresses, card numbers, phone numbers, and common national IDs, and you can add custom regex or entity rules per project. Choose US, EU, or self-hosted storage per project. EU data stays in Frankfurt, and masked originals are never written to our infrastructure.
Which frameworks and model providers are supported?
Native integrations ship for the OpenAI and Anthropic SDKs, the Vercel AI SDK, LangChain, LlamaIndex, and CrewAI. For anything else, the OpenTelemetry GenAI semantic conventions exporter sends spans to PulseStack without a vendor SDK. Tracing is one import: wrap your client with pulse.instrument(client) and existing calls are captured as-is.
How do circuit breakers decide an agent is looping?
A run is flagged when the same tool is called with identical normalized arguments three times in a row, or when total tool calls exceed the step budget you configure per agent. On trip, the breaker blocks the repeated call, injects the last successful result into context, and can reroute the next step to a fallback model. Every trip is recorded as a span event, so you can replay the exact decision that caused it.
Can we self-host PulseStack?
Yes. The control plane ships as a Helm chart and a Docker Compose bundle, backed by Postgres for metadata and ClickHouse for spans. A single 8-vCPU node ingests roughly 50,000 spans per second. Self-hosted deployments run fully inside your VPC with no outbound telemetry. Enterprise plans include the self-hosted license, upgrade tooling, and a 4-hour severity-1 support SLA.

Ship agents you can actually see inside.

Install the SDK in one line and get traces, replays, and circuit breakers on your first production run.

14-day trial. No credit card required.

$ npm install @pulsestack/sdk

Built with