fjall metrics reads application performance metrics from the Fjall control plane. It calls GET /api/app-metrics and prints the rows. It never calls AWS directly.
Prerequisites
Prerequisites
Metrics come from Fjall’s monitoring pipeline, so an application that has never been deployed returns no rows.
View application metrics
show is the only subcommand, and it is also the fallback when the positional is omitted. fjall metrics and fjall metrics show run the same code path.
metrics show
--mode selects which query runs on the server. The four accepted values behave differently:
time_series without --app returns 400 applicationId is required for time_series mode.
What Happens
- The CLI checks stored credentials. Missing or rejected credentials stop the command with
Authentication required.before any request goes out. - The subcommand resolves to
show, and any unrecognised positional exits with the unknown-subcommand error above. - The CLI issues
GET /api/app-metricswithmode,applicationId,hoursandlimitas query parameters. Absent flags are omitted from the query string, and the server applies its own defaults. - On success, the CLI prints the response as pretty-printed JSON on stdout. Every string is passed through credential masking first.
- On failure, the CLI prints
Error: <message>on stderr and exits non-zero.
Output shapes
The response body is a bare array of rows, with no envelope.time_series, latest and org_summary return metric rows carrying application_id, resource_name, resource_type, timestamp, cpu_utilisation, memory_utilisation, request_count, error_count, target_response_time, error_rate, health_status and the per-service counters for databases, storage, Lambda, queues, cache, DynamoDB and CDN. sparklines returns application_id, hour, requests, errors and response_time_ms.
target_response_time is recorded in seconds. Multiply by 1000 to compare it against millisecond latency figures.
Agent mode
With--agent, or on an auto-detected agent host, the result renders as a TOON block on stdout instead of JSON, and failures render as a structured TOON error block rather than a stderr line. --no-agent forces the human path.
metrics show renders its payload without a field schema, so --budget and --full shape the block while --fields is accepted and has no effect on the rows. Filter the JSON with jq when you want a subset.
Scale and failure responses
Options
--agent, --no-agent, --budget, --fields, --full, --non-interactive and -v, --verbose are also root-level options, so fjall --agent metrics show --mode latest works too.
Next Steps
fjall deploy
Ship a new version of the application whose metrics you just read.
fjall releases
Correlate a metric change with the release that landed.
fjall drift
Detect and repair infrastructure that has moved away from your definition.
Agent mode
Read metrics as TOON blocks from an AI agent or a script.