Measure Solana throughput without counting vote transactions

A dashboard can show a high transaction rate during a quiet period for applications. Performance samples expose a non-vote counter that lets operators publish a more specific metric.

Select complete samples

Request five recent samples from one cluster. Preserve each ending slot and sample duration. The newest rows come first, so repeated scrapes can overlap. Deduplicate by slot before adding periods together.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getRecentPerformanceSamples",
  "params": [
    5
  ]
}

Divide total transactions by total seconds

Two example samples with 12,000 and 18,000 non-vote transactions over 60 seconds each yield 30,000 / 120 = 250 non-vote transactions per second. For total TPS apply the same formula to numTransactions. Label each series with the counter you actually used.

A missing or null non-vote count leaves that interval unknown. Exclude its duration from a partial calculation and disclose the missing interval. The rate counts transactions on chain. RPC calls per second and individual application actions need their own measurements.

Documentation