Runner States and Cold Start Stages
The Runners page opens with a breakdown of your runners by state (running, pending, docker pull, draining, and more). Each runner row also exposes the individual stages that make up its cold start, so you can see exactly where startup time goes:- Pending — time to allocate a runner from fal infrastructure. High pending time on scarce or bursting GPU types (for example, B200s) points to capacity pressure rather than your code.
- Docker pull — time to pull the container image. Rows indicate whether the image was cached or required a full pull.
- Setup — time spent in your
setup()function, typically loading model weights onto the GPU. This is often the largest contributor to cold starts. - Cold start — the total startup time across all stages.
The Runner Side Sheet
Clicking a runner opens a side sheet with everything you need to debug it:- Cold start timeline — a stage-by-stage visualization of the runner’s startup, making it obvious whether the delay came from allocation, docker pull, or your setup code.
- Telemetry — CPU, memory, GPU, and VRAM usage over time, so you can spot resource exhaustion (for example, an out-of-memory condition).
- Logs — the full log timeline filtered to that runner ID, from spin-up through request execution, so errors like CUDA out-of-memory are easy to find in context.
- Connect — SSH into an active runner with
fal runners shellto inspect the live environment (for example, runnvidia-smito check driver specs and VRAM in real time). Available for active runners only. - Termination reason and error type — see why a runner was terminated (for example, a runner error) directly in the header.
Managing Runners
From the runner list or side sheet you can act on runners directly — use the actions menu to gracefully stop a runner (letting it finish its current request) or kill it immediately. See Monitor Runners and thefal runners reference for the equivalent CLI commands.
Reducing Cold Starts
If Runner Analytics shows consistently high pending or setup times, that is a signal to optimize. Reserved capacity eliminates pending and setup time for a guaranteed pool of GPUs, giving predictable performance and economics. For setup-time reductions, see Optimize Cold Starts, compiled caches, FlashPack, and scaling parameters like the concurrency buffer in Scale Your Application.Understanding Runners
Runner lifecycle, states, and caching
Optimize Cold Starts
Techniques to reduce startup latency
App Analytics
Request metrics, latency percentiles, and cold boot rate
Logs
Timeline, filtering, and sharing for runner and request logs