Skip to content
Open icLens

Traces and the service map

A trace follows one request as it moves through your canisters. Open Telemetry › Traces to find slow or failing requests and see where the time went.

Traces come from your code. Traces from your code.

  1. Search. Filter by canister, operation, status (ok or error) or an attribute such as partner.id = globex, then choose Run.

  2. Spot the outlier. Duration over time plots every kept trace, with errors in red and code changes marked.

  3. Open it. Select a trace to read it.

The Agent keeps every error and slow trace, and a share of the rest. The p50, p95 and p99 figures count every request, kept or not.

Four views of the same request:

  • Waterfall: every step on a timeline. The critical path is underlined.
  • Flame graph: where the time went, at a glance.
  • Span table: steps grouped by operation and canister, slowest first.
  • Critical path: what set the total duration, split into working and waiting on another canister.

A canister that sends no traces, such as a ledger, still appears from its caller’s side, marked not reported.

Select a step to see its attributes, events and logs. Logs your code sent with the trace are matched exactly (Same span). Collected canister logs are matched by time.

Switch from List to Map to see your services and the calls between them, with call rate, median response time and error share. Compare previous shows what changed since the period before.

  • Services that send no traces appear from their callers as not instrumented.
  • Monitored frontends’ measured calls can appear as browser nodes. This does not prove that a browser example continued inside a canister.
  • Callers from outside the Internet Computer appear as one node of their own.
  • A frontend’s Timeline opens one browser example. Its Continue in canister section requires carried context and matching retained canister steps; missing context or records are shown explicitly. Browser examples remain in their frontend’s collector and use its own access and retention settings.
  • Traces need the Traces data connection turned on. The page says if it’s off.
  • A canister is named on the map only when the Agent knows it sent those traces. Otherwise it’s shown as a reported service.
  • Reading traces never changes a canister or the Agent.