Sitelet https://maple.dev/features/distributed-tracing/

Distributed Tracing

See where the time went

A trace shows one request from start to finish. Maple keeps every span with its attributes and timing, so you can see exactly what made it slow.

The surface

One request, 18 spans, one screen

Click a span to see all its attributes, like the SQL it ran and the status it returned.

A slow database span selected in an 18-span waterfall, with its query attributes open alongside
/traces trace 4f9ac21e…8b7d40f2
signal
traces
transport
OTLP/gRPC · OTLP/HTTP
views
waterfall · flamegraph · flow
attributes
db.statement · http.status_code · exception.type
joins.on
trace_id · span_id
sampling
head

In motion

The real flamegraph

The same component the product uses. Hover a span to see its service and duration.

/tracesa3f8c1d2e5b7f901
POST /checkout
8 spans across 4 services
api-gatewayauth-serviceorder-servicepayment-svc203msOk
Flow View
Mini Map
Click to select|Scroll to zoom|Drag to pan|
api-gateway
auth-service
order-service
payment-svc
|
Server
Internal
Error

What it does

Four views of the same trace

/traces
Waterfall
Spans nested by parent and scaled to the request's length. You see the slow part before you read a number.
flamegraph
Flamegraph
Spans stacked by depth. Fifty db.query calls in a row show up as a wall, so N+1 queries are easy to spot.
flow view
Service flow
The trace reduced to the services it touched. Use it to find which service the time was spent in.
db.statement
Attributes
Every attribute the SDK sent, including your custom ones, is stored and searchable.
trace_id
Jump to logs
Open any span's logs in one click. They share the same trace id.

Keep going

Related features

Point OTLP at Maple.

One endpoint, one key. Traces, logs, metrics and sessions, linked from the first request.