Find the span that broke your request
When a request fails across five services, finding the root cause should take minutes, not hours. Uptrace gives you a full trace from entry point to database call, correlated with logs and metrics, built on OpenTelemetry, with no vendor lock-in.
14-day free trial · No credit card required
Debug faster with a unified view of your stack
Navigate from a failing request to the exact span where it broke, across every service, database call, and external dependency
- Full trace waterfall showing every span across all services
- Real-time error rate and latency percentiles per operation
- Filter by service, status, or any attribute to isolate issues
- Cross-service transaction tracing with detailed timelines
- Group similar errors automatically to surface recurring issues
Powered by OpenTelemetry
Uptrace is built on the OpenTelemetry standard: instrument once, no proprietary agents, no lock-in
- Native OpenTelemetry protocol (OTLP) support over gRPC and HTTP
- Auto-instrumentation for 20+ languages and frameworks
- Compatible with any OTel SDK: Go, Java, Python, Node.js, and more
- Accepts Jaeger spans via the OTel Collector, no re-instrumentation needed
- Vendor-neutral: switch backends without touching your application code
Automatic log correlation
Stop jumping between logs and traces. Uptrace connects them automatically so you always have full context
- Log-to-trace correlation using trace IDs injected at collection time
- Unified search across logs, traces, and metrics in one query
- Contextual log exploration within the trace waterfall timeline
- Support for structured and unstructured log formats
- Span-level error details with stack traces and relevant attributes
Map service dependencies in real time
Understand how your services depend on each other with interactive service maps and end-to-end request flow visualization
- Interactive service topology map with real-time health status
- End-to-end request flow visualization across all dependencies
- Upstream and downstream impact analysis for any service
- Identify which service is causing downstream failures
- Click any node to drill into its traces and error rate
Monitor service health and deployment impact
Track the vital signs of every service and see exactly when a deployment changed your error rate or latency
- Per-service dashboard with p50, p90, p99 latency and error rate
- Service throughput tracked alongside latency for every operation
- Top slowest operations per service: drill into any for detailed traces
- Real-time alerts for latency increases and error rate changes
- Trend analysis across any custom time window
Control trace volume and cost
High-traffic services can generate millions of spans per minute. Sampling lets you keep the traces that matter and drop the rest, without losing visibility into errors
- Head-based sampling: decide at trace start using TraceIDRatioBased or rules
- Tail-based sampling: keep 100% of error and slow traces, sample the rest
- Drop health checks, internal probes, and noise at the Collector level
- Per-service and per-endpoint sampling rates configurable in OTel Collector
- Dropped spans cost $0.01/GB; sampling never means losing error visibility
Better together
Each signal is more powerful when correlated with the others. Uptrace stores traces, logs, and metrics in one place, no tool-switching, no data gaps.
Common questions, clear answers
What is distributed tracing?
How is Uptrace different from Jaeger or Zipkin?
Can I use Uptrace alongside Prometheus?
How long does it take to send my first trace?
Do I need to re-instrument if I switch from Datadog or New Relic?
Ready to transform your observability?
Deploy in minutes with Docker. Open source. Fixed pricing. Your data stays on your infrastructure.
Start tracing free14-day free trial · No credit card required
Learn more