bronto traces gives you APM-style views over the OpenTelemetry spans Bronto stores in
the .traces logset. You don’t pass -d. To get spans into Bronto in the first place, see
Send Traces to Bronto, and for the web
app’s trace views, Explore Traces.
From a slow service to the span that caused it
--since for the lookback. The default is 15m, except for
show and shape, which default to 1h.
Start wide: services and operations
bronto traces services shows span counts and latency per service:
bronto traces operations breaks that down by service and operation. Narrow it to one
service with -s:
--errors to count only error spans, and -n to cap the number of rows.
Find spans
bronto traces list lists individual spans. Filter by service, operation, minimum
duration, or errors:
payments-api: the
POST /charge handler and the provider.authorize call inside it. Filtering by duration
instead of service shows the whole chain of one slow request, from web-frontend down:
One trace as a waterfall
Pass a trace id tobronto traces show to render the trace as a waterfall: each span
on its own line, indented under its parent, with a bar showing when it ran and for how
long.
payments-api’s provider.authorize call,
which runs for 30 seconds and fails.
--bar-width changes the width of the bars, -n the maximum number of spans fetched
(default 500). If the trace is older than an hour, widen --since.
Log events often carry the trace id. In search output it’s the message_kvs.trace_id
field, so a search gets you ids to feed into traces show. -r prints them without
JSON quotes, ready to pass to another command:
The shape of many traces
bronto traces shape samples traces and merges their call trees into one, so you can see
which calls a request usually makes and where the time goes, without picking a single
trace:
--any-span samples by any span matching
--operation instead. --min-traces drops branches seen in fewer traces than you set,
which trims rare paths. --errors, --min-duration-ms, and -w/--where (a raw WHERE
clause) narrow the sample.
Aggregate by attribute
bronto traces aggregate groups spans by one or more attributes and reports counts and
latency for each value:
--all-spans. -k/--kind filters by span kind
(server, client, and so on), and --include-empty keeps rows where the attribute is
missing.
Output
Piped, everytraces subcommand prints JSONL like search does. traces show and
traces shape draw their own views at a terminal, so --fields doesn’t apply to them.
See Output formats.
