Metrics

Metrika’s Node Monitoring metrics come out of the box and provide an overall picture of system, node, and network health. You can use them to monitor the health & performance of your Flow nodes and easily pinpoint performance issues.

Included below is more information about each metric and how it’s calculated. Metrics are listed in alphabetical order.

Agent Status

What is the Agent Status?

The Agent Status indicates whether the Metrika Node Agent (“Agent”) is currently operational either on or adjacent to the node that is running the Flow protocol software.

How is the Agent Status calculated?

The agent status is set to offline when we don’t receive any data from the Agent for an unexpectedly long period of time, otherwise, the status is set to online

Agent Version

What is the Agent Version?

The Agent Version refers to the version tag of the Agent that is monitoring your Flow Node. You can find the most recent version and version history of the Agent here.

How is the Agent Version calculated?

When the agent starts up, it will report its version to the Metrika Platform, and this agent version will show in the dashboard.

Block Propagation Time

What is Block Propagation Time?

Block propagation time tracks the average amount of time it takes for other nodes on the Flow network to receive a block proposal from your node. This is important because your node has a certain amount of time to finalize a proposed block before it is skipped and may miss out on rewards, if it takes a long time for your node’s block proposal to propagate then you could miss the finalization deadline.

How is Block Propagation Time calculated?

This metric is calculated by calculating the average time between registering an ‘OnOwnProposal’ log event emitted by your node and registering an associated ‘OnReceiveProposal’ log event emitted by other nodes referring to the proposed block.

CPU

What is the CPU?

CPU refers to what percentage of your machine’s CPU processing power is currently in use.

How is CPU calculated?

The Agent periodically gathers system metrics about the machine your node is running on. We then aggregate these metrics to arrive at the CPU metrics.

CPU Busy

What is the CPU Busy?

CPU Busy refers to what percentage of your machine’s CPU processing power is currently in use.

How is CPU Busy calculated?

The Agent periodically gathers system metrics about the machine your node is running on. We subtract the idle rate from the total number of CPUs your machine has, and we then normalize this by the number of CPUs. Aggregating this across the time period selected results in CPU Busy.

Current View

What is the Current View?

Nodes operating within the Flow network progress through ‘views’, they are the timesteps of the Flow protocol. For a node to be operating correctly it must be in sync or nearly in sync with the highest view of the other nodes on the Flow network.

How is the Current View calculated?

The Agent periodically gathers consensus-level metrics from your Flow node, one of these metrics reports the current view of your node.

Diskspace

What is Diskspace?

Diskspace (Root FS) refers to the percentage of the root filesystem that is currently occupied on your machine.

How is Diskspace calculated?

The Agent periodically gathers system metrics about the machine your node is running on. From this, we can routinely ascertain the amount of available disk space.

Finalized Block Height

What is the Finalized Block Height?

The Flow blockchain progresses by adding new ‘blocks’, in order for these blocks to make it to the blockchain, they must first be finalized. A proposed block can be finalized when the leader node receives votes for the proposed block from at least 66% of the participating nodes, and three further ‘ProtoBlocks’ are also built on top of it. The Finalized Block Height is the latest finalized block height of the Flow blockchain that your node is currently aware of. In effect, it measures how up-to-date you are with the rest of the nodes on the network.

How is the Finalized Block Height calculated?

Finalized Block Height is gathered from the Prometheus metrics endpoint on your Flow node, it is reported by the Flow protocol software at regular intervals.

Last Sealed Height

What is the Last Sealed Height?

Consensus Nodes are responsible for sealing blocks on the Flow blockchain after they have been finalized. A Block Seal is a commitment to the execution result of a block after it is executed and verified. The Last Sealed Height is the height of the last block that your node can verify has been sealed.

How is the Last Sealed Height calculated?

The Agent periodically gathers consensus-level metrics from your Flow node, one of these metrics reports the Last Sealed Height of your node.

Network Traffic

What is Network Traffic?

Network Traffic refers to the amount of data received and transmitted to the network by the machine running your Flow node, this is measured in Mbps

How is Network Traffic calculated?

The Agent periodically gathers system metrics about the machine your node is running on. From this, we can calculate the network traffic received and transmitted.

Node Software Version

What is the Node Software Version?

The Node Protocol Software Version is defined by the relevant release tag (version) that is being used to run the Flow software. Each version of Mainnet has an associated release tag, these can be found here; for example, Flow Mainnet 20 uses protocol software version v0.28.6 . When the Flow network is ‘sporked’, the protocol software version will also be updated.

How is the Node Software Version calculated?

When the Agent starts up, it will automatically detect the node software version that your Flow node is using. It does this by reading either the docker image tag or the configuration file.

Node Status

What is the Node Status?

The Node Status indicates whether the node running the Flow protocol software is currently online or offline.

How is the Node Status calculated?

The node status is monitored by the Flow network. It’s calculated by whether nodes can communicate with other nodes on the network. When this set of nodes is unable to communicate with certain nodes, these nodes will be flagged as offline.

Proposal Success Rate

What is the Proposal Success Rate?

The proposal success rate is defined as the number of blocks that your node has finalized divided by the number of blocks that your node has proposed in a given time period. Ideally, all blocks that your node proposes will become finalized and added to the Flow blockchain, however, those that aren’t finalized become ‘orphan’ blocks and never make it to the chain. In the future, if too many of your proposed blocks get orphaned then you could be liable to slashing.

How is the Proposal Success Rate calculated?

The proposal success rate is defined as the number of blocks that your node has finalized divided by the number of blocks that your node has proposed in a given time period.

QC View

What is the QC View?

Nodes operating within the Flow network progress through ‘views’, they are the timesteps of the Flow protocol. The QC View is slightly behind the current view as it references the view in which a ‘Quorum Certificate’ has been formed. For a node to be operating correctly it must be in sync or nearly in sync with the highest QC view of the other nodes on the Flow network.

How is the QC View calculated?

The Agent periodically gathers consensus-level metrics from your Flow node, one of these metrics reports the QC view of your node.

RAM

What is RAM?

RAM refers to the amount of active memory currently being used by the machine running your node. We display the RAM Total, RAM Used, RAM Cache Buffer, RAM Free, and Swap Used

How is RAM calculated?

The Agent periodically gathers system metrics about the machine your node is running on. We then aggregate these metrics to arrive at the RAM metrics.

RAM Used

What is RAM Used?

RAM Used refers to the amount of active memory currently being used by the machine running your node.

How is the RAM Used calculated?

The Agent periodically gathers system metrics about the machine your node is running on. We then subtract from total memory the free memory, memory buffer, and memory cached and aggregate this to arrive at the amount of RAM used.

Root FS Used

What is Root FS Used?

Root FS Used refers to the percentage of the root filesystem that is currently occupied on your machine.

How is Root FS calculated?

The Agent periodically gathers system metrics about the machine your node is running on. From this, we can routinely ascertain the amount of occupied root filesystem space.

Time to Finalization

What is the Time to Finalization?

The Time to Finalization is the average amount of time it takes for your node to finalize a block proposal. This is important because your node has a certain amount of time to finalize a proposed block before it is skipped and may miss out on rewards.

How is the Time to Finalization calculated?

Time to Finalization is calculated by measuring the time between the ‘OnProposingBlock’ and ‘OnFinalizedBlock’ log events emitted by your node for the same block.

Total Proposals

What is the Total Proposals Metric?

The Total Proposals Metric counts the number of total block proposals that your node has made.

How is the Node Status calculated?

This metric is calculated by counting the number of ‘OnProposingBlock’ log events emitted by your node.

Total Votes Casted

What is the Total Votes Casted metric?

When a node receives a block proposal it is compelled by the rules of the Flow protocol to vote for that block if it can also verify that the proposed block is valid. The Total Votes Casted metric tracks the number of votes that your Flow node has made for proposed blocks. Not all casted votes are casted for blocks that get finalized, so these could never be considered successful.

How is the Total Votes Casted metric calculated?

This metric is calculated by counting the number of ‘OnVoting’ log events emitted by your node.

Total Votes Successful

What is the Total Votes Successful metric?

When a vote from a node is used as one of the two-thirds of total node votes required by the leader node to incorporate a block it is deemed to be a successful vote and your node is labeled a ‘parent voter’. The Total Votes Successful metric tracks the number of times that votes cast by your Flow node are successfully used to incorporate a block. Not all casted votes are casted for blocks that get finalized, so these could never be considered successful.

How is the Total Votes Successful metric calculated?

The Total Votes Successful metric is calculated by counting the number of finalized blocks on the Flow blockchain ledger that include your node as a parent voter.

Unsealed Finalized Blocks

What are Unsealed Finalized Blocks?

Consensus Nodes are responsible for sealing blocks on the Flow blockchain after they have been finalized. A Block Seal is a commitment to the execution result of a block after it is executed and verified. The Unsealed Finalized Blocks metric is the difference between the height of the last block that your node can verify has been sealed and the height of the last block that your node can verify has been finalized.

How are Unsealed Finalized Blocks calculated?

The Agent periodically gathers consensus-level metrics from your Flow node, one of these metrics reports the number of Unsealed Finalized Blocks your node can see.

Uptime

What is Uptime?

Uptime refers to the percentage of time that your Flow node has been online. The Flow network monitors the online status of your Flow node, uptime is an aggregation of your online time.

How is Uptime calculated?

The Flow network monitors the online status of your Flow node, uptime is an aggregation of your online time.

Vote Propagation Latency

What is Vote Propagation Latency?

Vote Propagation Latency tracks the average amount of time it takes for the leader node to receive your node’s vote once it has sent it. This is important because only two-thirds of the total nodes’ votes are required to finalize a block. If it takes a long time for your node’s vote to reach the leader node, you could miss out on being included in the required two-thirds of total node votes. If your vote is regularly not included, you may miss out on rewards.

How is Vote Propagation Latency calculated?

This metric is calculated by calculating the time between registering an ‘OnVoting’’ log event emitted by your node and registering the associated ‘block vote received’ log event emitted by the lead node referring to the proposed block.

Vote Success Rate

What is the Vote Success Rate?

When your node receives a block proposal from the leader node in the current view of the Flow protocol they must vote for this block if it meets the requirements as laid out in the Flow protocol. If this block receives enough votes (66%) then it will be finalized; if your vote was used in the production of this block then you will be deemed to be a ‘parent voter’ of that finalized block and your vote will be deemed ‘successful’. Ideally, your node would be a parent voter for 66% of finalized blocks. Your ‘Vote Success Rate’ is the number of blocks for which you are deemed a ‘parent voter’ divided by the number of finalized blocks.

How is the Vote Success Rate calculated?

The number of blocks for which you are deemed a ‘parent voter’ is divided by the number of finalized blocks.

Last updated