Distributed tracing

Track requests across microservices with 1-second granularity to understand end-to-end transaction flows, identify bottlenecks, and troubleshoot performance issues.

Overview

Distributed tracing provides complete visibility into how requests flow through your microservices architecture. Every request is captured as a trace, showing the complete path from entry point to final response, including all service calls, database queries, and external API interactions.

Instana automatically instruments your applications to capture traces without code changes. Each trace contains detailed timing information that you can use to identify slow services, understand dependencies, and troubleshoot errors across your distributed system.

Key features

Distributed tracing includes the following key features:

  • Automatic instrumentation: Capture traces without modifying application code.
  • 1-second granularity: See every request with subsecond timing precision.
  • Complete context: View request headers, parameters, errors, and logs in one place.
  • Service dependency mapping: Visualize how services interact and depend on each other.
  • Trace analytics: Query and analyze millions of traces to identify patterns.
  • Error tracking: Automatically capture and correlate errors with traces.

Common use cases

See the following example use cases:

Performance troubleshooting
Identify which service or database query is causing slow response times. Drill down into individual traces to see exact timing breakdowns and pinpoint bottlenecks.
Error investigation
When errors occur, view the complete request context including all service calls, parameters, and logs. Understand what led to the error and which services were affected.
Dependency analysis
Understand how services depend on each other. Identify critical paths, circular dependencies, and opportunities to optimize service interactions.
Latency optimization
Analyze trace timing to find opportunities for optimization. Identify unnecessary service calls, slow database queries, or inefficient API usage.

Where to find it in the UI

You can access distributed tracing from the following locations in the UI:

  • Application view: Go to Applications and select an application.
  • Service map: Click Dependencies on the application dashboard.
  • Trace details: From the application dashboard Summary tab, click any individual call to see its complete trace timeline.
  • Analyze calls: Use the analytics view to query and aggregate trace data.
  • Service dashboard: From the application dashboard Services tab, click a service name to view traces for the service from its dashboard.

What problems does this solve?

Distributed tracing addresses the following common challenges in microservices environments:

  • Microservices complexity: Understand request flows across dozens or hundreds of services.
  • Performance mysteries: Identify exactly which service or operation is slow.
  • Error diagnosis: See the complete context of errors, not just stack traces.
  • Dependency confusion: Visualize and understand service dependencies.
  • Optimization opportunities: Find inefficient patterns like N+1 queries or unnecessary service calls.

Related capabilities

The following capabilities work together with distributed tracing:

Learn more

For detailed information about distributed tracing, trace analysis, and advanced features, see: