GET /metrics on the metrics port and are exposed in the standard Prometheus text format. Configure the port using ports.metrics in the Helm chart.
Configuration
Metrics are configured in the node’s config.json:
Default histogram buckets for
*_seconds metrics:
Build info
ton_node_build_info is an informational gauge that is always set to 1. Build metadata is encoded as labels:
Naming convention
All metrics follow the format:ton_node_– application prefix that prevents collisions in shared Prometheus instances.{subsystem}– functional area defined in the table below.{metric_name}– descriptive name in snake case.{unit_suffix}– optional:_total(counters),_seconds(durations),_bytes(sizes),_ratio(dimensionless).
Metric types
Labels
Some metrics carry labels for additional dimensions:engine
Core node state, including sync progress, masterchain tracking, validation intent, and applied transactions.
This subsystem exposes 8 metrics: 7 gauges and 1 counter.
Sync status values
A healthy, synced node reports
sync_status = 6. During initial sync or restart, the value progresses through 1 → 2 → 3 → 4 → 5 → 6.
Time difference
timediff_seconds measures the gap between wall-clock time and the gen_utime of the last applied masterchain block. Values below 20 seconds indicate a healthy node; values above 60 seconds require investigation.