🔍 Distributed Tracing & APM

Meet Trace APM

Follow every request across your services. Find bottlenecks in seconds with waterfall visualizations, service maps, and latency percentiles.

# Trace waterfall — one request, many services
GET /api/orders/42         247ms
├─ api-gateway                3ms
├─ auth-service              12ms
│  └─ redis.get               1ms
├─ order-service            180ms
│  ├─ postgres.query         45ms
│  └─ inventory-service     120ms  ⚠ slow
│     └─ postgres.query    115ms  ⚠ N+1
└─ payment-service           48ms
   └─ stripe.charge         42ms

End-to-End Observability

See the full picture of how requests flow through your system.

📈

Waterfall Visualization

See every span in a request's journey. Drill down to database queries, HTTP calls, and queue processing times.

🌎

Service Map

Auto-generated dependency graph of your services. See request rates, error rates, and latency between every pair.

Latency Percentiles

P50, P90, P95, P99 — track latency distribution per endpoint. Spot regressions before they become incidents.

📥

Multi-Format Ingest

Accept traces via OTLP (OpenTelemetry), Zipkin, and Jaeger protocols. No vendor lock-in.

🚨

Error Tracking

Capture exceptions with full stack traces linked to the request trace. Group errors by root cause.

🔎

Trace Search

Search traces by service, operation, duration, tags, or error status. Find the needle in millions of spans.

How It Works

Instrument once, understand everything.

Instrument

Add OpenTelemetry SDKs to your services (auto-instrumentation available for most frameworks).

Collect

Spans stream to Koder Trace via OTLP. We index, correlate, and build the service graph automatically.

Analyze

Explore traces in the waterfall view. Identify slow services, N+1 queries, and error hotspots.

Alert

Set latency and error rate thresholds per service or endpoint. Get notified via Koder Notify.

OpenTelemetry Native

Send traces using the OpenTelemetry protocol. Works with every OTEL SDK and auto-instrumentation library.

  • OTLP/gRPC and OTLP/HTTP endpoints
  • Zipkin and Jaeger compatibility
  • Tail-based sampling
  • Span-to-log correlation
# Configure OTEL SDK to send to Koder Trace
export OTEL_EXPORTER_OTLP_ENDPOINT=\
  "https://trace.koder.dev"
export OTEL_EXPORTER_OTLP_HEADERS=\
  "Authorization=Bearer $TOKEN"
export OTEL_SERVICE_NAME="my-service"

# Auto-instrument a Node.js app
npx @opentelemetry/auto-instrumentations-node \
  node app.js

# Or use the Python SDK
opentelemetry-instrument \
  --traces_exporter otlp \
  python app.py

Pricing

Pay for what you trace.

Free

$0/month
  • 100K spans/month
  • 3-day retention
  • 5 services
  • Waterfall view
  • Basic service map
Get Started

Enterprise

Custom
  • Volume discounts
  • 90-day retention
  • Tail-based sampling
  • SSO / SAML
  • On-premise deployment
  • Dedicated support
Contact Sales

Frequently Asked Questions

What tracing protocols do you support?

OTLP (OpenTelemetry) over gRPC and HTTP, Zipkin v2, and Jaeger Thrift. We recommend OTLP for new deployments.

Does auto-instrumentation work with my framework?

OpenTelemetry provides auto-instrumentation for Java, Python, Node.js, .NET, Go, Ruby, PHP, and more. Check the OTEL registry.

How does sampling work?

Head-based sampling is done in your SDK. Our Pro plan adds tail-based sampling: we keep 100% of errors and slow traces, sample the rest.

Can I correlate traces with logs?

Yes. Inject trace IDs into your logs and Koder Trace links them automatically. Works with Koder KDB log model.

Stop guessing. Start tracing.

See every request. Find every bottleneck.

Get Started Free