Skip to main content
Firedancer provides multiple ways to monitor your validator’s health and performance, from command-line tools to live dashboards and Prometheus metrics.

Agave CLI Tools

Because Frankendancer runs the Agave validator, you can monitor it with standard Agave command-line tools. First, build the solana CLI binary:
The compiled binary is placed in ./build/native/gcc/bin by default.
Many monitoring commands require RPC to be enabled on your validator. See the configuration guide for details on enabling RPC.

Check Gossip Status

Verify your validator has joined the gossip network:
Example output:

Check Catchup Status

Verify your validator is caught up with the cluster:
Example output:

Verify Voting

Ensure your validator is voting:
Example output:

Check Block Production

Ensure your validator is producing blocks:
Example output:
You can also use agave-validator --ledger <PATH> monitor with Frankendancer. For that, you need to build the agave-validator binary from the Agave repository.

Prometheus Metrics

Firedancer exposes a comprehensive set of Prometheus-compatible metrics at an HTTP endpoint. By default, metrics are available on port 7999, but this is configurable in your TOML file. Fetch metrics with curl:
Example output:
See the metrics API documentation for detailed information on available metrics.

Setting Up Prometheus

Add Firedancer as a scrape target in your Prometheus configuration:
prometheus.yml

Live Monitoring with fdctl

Firedancer ships with a built-in monitoring tool you can run on the same host as your validator to view tile performance information in real-time.
Example output:
This monitor provides real-time visibility into:
  • Tile states - Running, stalled, or backed up
  • Process IDs - For each tile
  • CPU utilization - How tiles spend their time
  • Backpressure - Whether tiles are overloaded
  • Health metrics - Heartbeat and staleness indicators

Web-Based GUI

Firedancer includes a web-based GUI that provides rich visualizations of validator performance.
1

Enable the GUI

Add to your config.toml:
2

Configure access (optional)

By default, the GUI listens on 127.0.0.1:80. To change this:
3

Access the GUI

Open your browser and navigate to the configured address (e.g., http://localhost:80).
If you expose the GUI on a public interface, use a firewall to restrict access. The GUI provides detailed operational information about your validator.

Understanding Tile Metrics

Firedancer’s architecture uses tiles (individual processes) for different tasks. Key tiles to monitor:
  • net - Network packet processing
  • quic - QUIC protocol handling
  • verify - Transaction signature verification (multiple tiles)
  • dedup - Transaction deduplication
  • pack - Transaction packing for blocks
  • shred - Shred handling and verification
  • sign - Block signing

Key Metrics to Watch

% wait - Percentage of time the tile is waiting for work. Higher is better (means not overloaded). % hkeep - Percentage of time doing housekeeping. Some is normal. % backp - Percentage of time backpressured (waiting for downstream tiles). Sustained high values indicate bottlenecks. backp cnt - Number of times backpressure occurred. Frequent spikes may indicate capacity issues.

Process Tree

Every tile in Firedancer runs in a separate process for security isolation. You can view the complete process tree:
Example output:
If any process dies or is killed, it will bring all other processes down with it. This is by design for clean shutdown and consistency.

Logging

Firedancer maintains two logs:
  1. Permanent log - Written to file for historical analysis
  2. Ephemeral log - Written to stderr for real-time observation
You can increase the stderr log verbosity in your configuration:
config.toml
Available log levels: DEBUG, INFO, WARNING, ERROR