Skip to main content

Hathor full node metrics

Introduction

This article is the reference material for developers regarding metrics tracked by Hathor full node.

Hathor full node integrates with Prometheus and tracks metrics in text-based format for it and compatible systems.

Metrics description format

In the next section we describe each metric using the following format:

  • Name.
  • Type: counter | gauge | histogram | summary. To know more about metric types, refer to Prometheus documentation — metric types.
  • Meaning: description of what the metric measures.
  • Labels: list of all key/value pairs defining metric's labels.
  • Sample text format: metric_name{label_name="label_value",...} <value> <timestamp>
  • Sample example.
  • Baseline: if appropriate, a threshold for the metric — e.g.: above (or below) X units — indicating a healthy or correct functioning of the full node.
  • Main usage: if appropriate, a brief description of the primary use of the metric.

Metrics

connected_peers

  • Type: gauge
  • Meaning: number of active connections established with peers.
  • Sample text format:
connected_peers <value> <timestamp>
  • Sample example:
connected_peers 16.0 1395066363000

best_block_height

  • Type: gauge
  • Meaning: number of blocks of the best blockchain.
  • Sample text format:
best_block_height <value> <timestamp>
  • Sample example:
best_block_height 12980.0 1395066363000
  • Main usage: used (alongside other metrics) to check whether the full node is synced with the network. One can manually compare it with 'Best block' at Hathor Explorer.

blocks

  • Type: gauge
  • Meaning: number of blocks recorded on the blockchain. Similar to best_block_height but including voided blocks.
  • Sample text format:
blocks <value> <timestamp>
  • Sample example:
blocks 12981.0 1395066363000
  • Main usage: used (alongside other metrics) to check whether the full node is synced with the network. One can manually compare it with 'Blocks' at Hathor Explorer.

transactions

  • Type: gauge
  • Meaning: number of transactions on the database, regardless of being confirmed or voided.
  • Sample text format:
transactions <value> <timestamp>
  • Sample example:
transactions 95.0 1395066363000
  • Main usage: used (alongside other metrics) to check whether the full node is synced with the network. One can manually compare it with 'Transactions' at Hathor Explorer.

websocket_connections

  • Type: gauge
  • Meaning: number of active websocket connections.
  • Sample text format:
websocket_connections <value> <timestamp>
  • Sample example:
websocket_connections 0.0 1395066363000
  • Main usage: used to check the number of applications (wallets and explorers) being served by the full node.

peer_connection_received_messages

  • Type: gauge
  • Meaning: total number of messages received from peers.
  • Labels:
    • connection_string="<string>"
    • network="testnet|mainnet"
    • peer_id="<string>"
  • Sample text format:
peer_connection_received_messages{connection_string="<string>", network="testnet|mainnet", peer_id="<string>"} <value> <timestamp>
  • Sample example:
peer_connection_received_messages{connection_string="tcp://142.86.77.201:50456",network="mainnet",peer_id="b2c9f2e0d0f765e9830f7463a142e7b097cc22f5010119ee8f3a8ab251ec703a"} 1212.0 1395066363000

peer_connection_sent_messages

  • Type: gauge
  • Meaning: total number of messages sent to peers.
  • Labels:
    • connection_string="<string>"
    • network="testnet|mainnet"
    • peer_id="<string>"
  • Sample text format:
peer_connection_sent_messages{connection_string="<string>", network="testnet|mainnet", peer_id="<string>"} <value> <timestamp>
  • Sample example:
peer_connection_sent_messages{connection_string="tcp://142.86.77.201:50456",network="mainnet",peer_id="b2c9f2e0d0f765e9830f7463a142e7b097cc22f5010119ee8f3a8ab251ec703a"} 42.0 1395066363000

peer_connection_received_bytes

  • Type: gauge
  • Meaning: total number of bytes received from peers.
  • Labels:
    • connection_string="<string>"
    • network="testnet|mainnet"
    • peer_id="<string>"
  • Sample text format:
peer_connection_received_bytes{connection_string="<string>", network="testnet|mainnet", peer_id="<string>"} <value> <timestamp>
  • Sample example:
peer_connection_received_bytes{connection_string="tcp://142.86.77.201:50456",network="mainnet",peer_id="b2c9f2e0d0f765e9830f7463a142e7b097cc22f5010119ee8f3a8ab251ec703a"} 423222.0 1395066363000

peer_connection_sent_bytes

  • Type: gauge
  • Meaning: total number of bytes sent to peers.
  • Labels:
    • connection_string="<string>"
    • network="testnet|mainnet"
    • peer_id="<string>"
  • Sample text format:
peer_connection_sent_bytes{connection_string="<string>", network="testnet|mainnet", peer_id="<string>"} <value> <timestamp>
  • Sample example:
peer_connection_sent_bytes{connection_string="tcp://142.86.77.201:50456",network="mainnet",peer_id="b2c9f2e0d0f765e9830f7463a142e7b097cc22f5010119ee8f3a8ab251ec703a"} 6339.0 1395066363000

peer_connection_received_txs

  • Type: gauge
  • Meaning: total number of transactions received from peers.
  • Labels:
    • connection_string="<string>"
    • network="testnet|mainnet"
    • peer_id="<string>"
  • Sample text format:
peer_connection_received_txs{connection_string="<string>", network="testnet|mainnet", peer_id="<string>"} <value> <timestamp>
  • Sample example:
peer_connection_received_txs{connection_string="tcp://142.86.77.201:50456",network="mainnet",peer_id="b2c9f2e0d0f765e9830f7463a142e7b097cc22f5010119ee8f3a8ab251ec703a"} 0.0 1395066363000

peer_connection_discarded_txs

  • Type: gauge
  • Meaning: total number of discarded transactions among those received from peers.
  • Labels:
    • connection_string="<string>"
    • network="testnet|mainnet"
    • peer_id="<string>"
  • Sample text format:
peer_connection_discarded_txs{connection_string="<string>", network="testnet|mainnet", peer_id="<string>"} <value> <timestamp>
  • Sample example:
peer_connection_discarded_txs{connection_string="tcp://142.86.77.201:50456",network="mainnet",peer_id="b2c9f2e0d0f765e9830f7463a142e7b097cc22f5010119ee8f3a8ab251ec703a"} 0.0 1395066363000

peer_connection_received_blocks

  • Type: gauge
  • Meaning: total number of blocks received from peers.
  • Labels:
    • connection_string="<string>"
    • network="testnet|mainnet"
    • peer_id="<string>"
  • Sample text format:
peer_connection_received_blocks{connection_string="<string>", network="testnet|mainnet", peer_id="<string>"} <value> <timestamp>
  • Sample example:
peer_connection_received_blocks{connection_string="tcp://142.86.77.201:50456",network="mainnet",peer_id="b2c9f2e0d0f765e9830f7463a142e7b097cc22f5010119ee8f3a8ab251ec703a"} 0.0 1395066363000

peer_connection_discarded_blocks

  • Type: gauge
  • Meaning: total number of discarded blocks among those received from peers.
  • Labels:
    • connection_string="<string>"
    • network="testnet|mainnet"
    • peer_id="<string>"
  • Sample text format:
peer_connection_discarded_blocks{connection_string="<string>", network="testnet|mainnet", peer_id="<string>"} <value> <timestamp>
  • Sample example:
peer_connection_discarded_blocks{connection_string="tcp://142.86.77.201:50456",network="mainnet",peer_id="b2c9f2e0d0f765e9830f7463a142e7b097cc22f5010119ee8f3a8ab251ec703a"} 0.0 1395066363000

tx_storage_total_sst_files_size

  • Type: gauge
  • Meaning: size of a specific fraction of full node's database (in bytes).
  • Label:
    • column_family="<string>"
  • Sample text format:
tx_storage_total_sst_files_size{column_family="<string>"} <value> <timestamp>
  • Sample example:
tx_storage_total_sst_files_size{column_family="b'tx'"} 2.572416e+06 1395066363000

hash_rate

  • Type: gauge
  • Meaning: conversion of the weight of the best block to a linear scale equivalent to H/s.
  • Sample text format:
hash_rate <value> <timestamp>
  • Sample example:
hash_rate 1.0519586405340237e+011 1395066363000

connecting_peers

  • Type: gauge
  • Meaning: number of connections being established with peers.
  • Sample text format:
connecting_peers <value> <timestamp>
  • Sample example:
connecting_peers 6.0 1395066363000

handshaking_peers

  • Type: gauge
  • Meaning: number of peer connections in handshake stage.
  • Sample text format:
handshaking_peers <value> <timestamp>
  • Sample example:
handshaking_peers 0.0 1395066363000

known_peers

  • Type: gauge
  • Meaning: total number of peers known by the node.
  • Sample text format:
known_peers <value> <timestamp>
  • Sample example:
known_peers 16.0 1395066363000

best_block_weight

  • Type: gauge
  • Meaning: weight of the latest block in the best chain.
  • Sample text format:
best_block_weight <value> <timestamp>
  • Sample example:
best_block_weight 41.52117762321128 1395066363000

subscribed_addresses

  • Type: gauge
  • Meaning: number of subscribed addresses in the websocket API.
  • Sample text format:
subscribed_addresses <value> <timestamp>
  • Sample example:
subscribed_addresses 0.0 1395066363000

completed_jobs

  • Type: gauge
  • Meaning: total number of completed jobs in the stratum server.
  • Sample text format:
completed_jobs <value> <timestamp>
  • Sample example:
completed_jobs 0.0 1395066363000
  • Main usage: useful only for solo mining (i.e., apart from a mining pool).

blocks_found

  • Type: gauge
  • Meaning: total number of blocks found by the miner in the stratum server.
  • Sample text format:
blocks_found <value> <timestamp>
  • Sample example:
blocks_found 0.0 1395066363000
  • Main usage: useful only for solo mining (i.e., apart from a mining pool).

estimated_hash_rate

  • Type: gauge
  • Meaning: estimated hash rate for stratum miners.
  • Sample text format:
estimated_hash_rate <value> <timestamp>
  • Sample example:
estimated_hash_rate 0.0 1395066363000
  • Main usage: useful only for solo mining (i.e., apart from a mining pool).

transaction_cache_hits

  • Type: gauge
  • Meaning: total number of hits in transaction cache.
  • Sample text format:
transaction_cache_hits <value> <timestamp>
  • Sample example:
transaction_cache_hits 0.0 1395066363000

transaction_cache_misses

  • Type: gauge
  • Meaning: total number of misses in transaction cache.
  • Sample text format:
transaction_cache_misses <value> <timestamp>
  • Sample example:
transaction_cache_misses 0.0 1395066363000

What's next?