Skip to content

Logs, traces & metrics

Terminal window
rtz logs --since 15m --level ERROR
rtz logs -s checkout -q 'status:5* AND @http.method:POST'
rtz logs --follow # polls; the API has no log stream

-q takes the Datadog-style filter language — free text, field:value, @attributes, wildcards, ranges, AND / OR / NOT. The server rejects an unparseable query rather than silently matching everything, which is the failure mode that quietly turns a filter into a full scan.

Terminal window
rtz trace list --since 2h --errors
rtz trace get <trace-id> # span tree, nested, errors marked
rtz trace analyze <trace-id>
rtz trace logs <trace-id> # logs correlated to that trace
Terminal window
rtz metrics list --entity-type K8S_POD
rtz metrics query k8s.pod.memory.usage --entity-type K8S_POD --group-by k8s.pod.name --agg max
rtz metrics tags --entity-type K8S_POD --key namespace
rtz metrics entities --entity-type K8S_NODE

--entity-type is required on the metrics endpoints. The API answers a missing one with a 500, so the CLI catches it first and names the flag.

A terminal cannot draw a curve, so metrics query summarises each series as last / min / max plus the point count — and says when the backend rewrote the query as a per-second rate. Use -o json for the raw points.

See Metrics for the same data in the UI.