Announcing Statoshi: Realtime Bitcoin Node Statistics
I’ve been on a quest for the past several months since I first asked the question: how many Bitcoin nodes is enough? In order to better understand what is actually occurring on the Bitcoin network, I came to the conclusion that we need more insight into the internal operations of the Bitcoin nodes. As a result, it is my pleasure to announce the Statoshi project, an open source fork of Bitcoin Core that logs metrics to StatsD. If you run a Bitcoin full node, you may be interested in switching it out with the Statoshi fork so that you can monitor how it is interacting with its peers.
Here are some of the metrics that you’ll see logged:
/stats/message/received/<messageType> /stats/message/sent/<messageType>
/stats/message/received/inv_<invType>
/stats/message/sent/reject_<messageType>_<rejectReason>
Timers are the milliseconds of wall time that it takes to execute a given function. Graphite will give you quite a few different breakdowns of timer metrics.
/stats/timers/<FunctionName>_<TimeUnit> — Time Units are “ms” (milliseconds) and “us” (microseconds)
/stats/peers/connect
/stats/peers/disconnect
/stats/gauges/peers/totalConnections
/stats/bandwidth/bytesReceived
/stats/bandwidth/bytesSent
/stats/gauges/bandwidth/totalBytesReceived
/stats/gauges/bandwidth/totalBytesSent
If you want to install and run a Statoshi node yourself, you can find the instructions here!