Metrics
Returns Prometheus-compatible metrics in text format for integration into your observability stack
Authentication: Required - Uses API key authentication
Format: Returns text/plain in Prometheus exposition format
Common Use Cases:
- Export app stats to your observability provider (grafana, datadog etc)
- Track runner health and performance
- Set up alerts and monitoring
See Prometheus documentation for format details.
GET
Metrics
Authorizations
API key must be prefixed with "Key ", e.g. Authorization: Key YOUR_API_KEY
Response
Prometheus-compatible metrics retrieved successfully
Prometheus-compatible metrics in text format
Example:
"# HELP fal_app_queue_size Current size of the fal app queue\n# TYPE fal_app_queue_size gauge\nfal_requests_total{application=\"my/app\"} 10"
Previous
Analytics
Time-bucketed metrics for your serverless app endpoints, including request counts,
success/error rates, and latency percentiles across all inbound traffic.
`prepare_duration` reflects queue/prepare time before execution;
`duration` is request execution time.
This endpoint shows all inbound requests to endpoints you own — not just
your own calls. This is ideal for monitoring your deployed apps, tracking
SLAs, and exporting data to tools like BigQuery or Grafana. You must own
all requested endpoints; returns 403 otherwise.
**Metric Selection:**
You must specify which metrics to include using the `expand` query
parameter. Only requested metrics will be populated in the response,
allowing you to optimize query performance and data transfer.
**Available Metrics:**
The `expand` parameter accepts these values, grouped by category:
*Volume*
- `request_count`: Total number of requests in the time bucket
- `success_count`: Successful requests (2xx responses)
- `user_error_count`: User errors (4xx responses)
- `error_count`: Server errors (5xx responses)
*Error type breakdown*
- `startup_error_count`: Startup errors (startup timeout, scheduling failure)
- `connection_error_count`: Connection errors (timeout, disconnected, refused)
- `timeout_error_count`: Request timeout errors
- `runtime_error_count`: Runtime errors (internal error, server error)
*Queue / prepare latency*
- `p50_prepare_duration`, `p75_prepare_duration`, `p90_prepare_duration`, `p95_prepare_duration`, `p99_prepare_duration`: Time from request submission until execution starts
*Request execution latency*
- `p25_duration`, `p50_duration`, `p75_duration`, `p90_duration`, `p95_duration`, `p99_duration`: Time spent processing the request
*Cold boot*
- `cold_boot_count`: Requests with cold boot (startup > 1s)
- `p50_cold_boot_duration`, `p75_cold_boot_duration`, `p90_cold_boot_duration`: Cold boot duration percentiles
*Billing*
- `total_billable_duration`: Aggregate billed execution time
**Key Features:**
- See all traffic to your apps across all callers
- Selective metric inclusion via expand parameter
- Performance metrics (latency percentiles, duration stats)
- Reliability metrics (success/error rates, request counts)
- Error type breakdown (startup, connection, timeout, runtime)
- Cold boot metrics (count, latency percentiles)
- Billing duration tracking
- Time-bucketed data for trend analysis
- Flexible date range and timeframe options
**Common Use Cases:**
- Monitor your serverless app performance and reliability
- Export analytics to your own observability tools
- Analyze latency trends across all callers
- Track error rates and SLA compliance
Next
Metrics