Skip to content

APM & Distributed Tracing

APM (Application Performance Monitoring) and distributed tracing are two views of the same OpenTelemetry trace data. APM aggregates that data across every service, and tracing lets you drill into a single request. Osuite derives both from the spans your services send — no separate agent, no custom metrics.

For every service that has sent at least one trace, Osuite computes the three signals that matter most in production, directly from incoming spans:

SignalWhat it tells you
Request rateHow much traffic the service is handling, in requests per second
Error rateThe percentage of requests that return an error
LatencyHow long requests take to complete, as p50, p90, p95, and p99

The service list shows every service that has reported a trace, each with its live golden signals. Within a service, Osuite ranks endpoints by latency so you can go from “this service is slow” to the specific slow endpoint, and from there into individual traces in the Trace Explorer.

The dependency map is a live graph of every service-to-service call in your system. Each node is sized by the relative load on that service, so you can see at a glance where traffic concentrates and which dependencies a degraded service fans out to.

To diagnose a degraded path without stepping through the map by hand, the Investigation Agent correlates traces, logs, and metrics from your IDE and returns the origin service and a suggested fix.

APM populates automatically once a service sends traces. To send traces, instrument the service with OpenTelemetry.

To wire it up by hand, follow the instrumentation guides for your language and framework.

If your services already emit OpenTelemetry data, you do not need to re-instrument — point your existing exporter at Osuite. See Already using OpenTelemetry.

  • Trace Explorer — inspect a single request with the waterfall view, flamegraph, and span list.
  • Error tracking — errors grouped by exception type and stack trace, with trends and example traces.
  • Trace sampling — control ingestion volume with tail-based sampling.