Shell: add metrics about ddb messages sent/received/broadcasted
Context
Add metrics about DDB messages sent, broadcasted or received.
Grafazos dashboard integration (nomadic-labs/grafazos!39 (merged)):
Manually testing the MR
Launch a node with a given metric address:
./octez-node run --metrics-addr=localhost:12345
In another terminal, use curl to view the metrics:
curl -s http://localhost:12345/metrics |grep -v "#" |grep octez_distributed_db_message
Output example:
octez_distributed_db_message_block_header_messages{action="received"} 27830.000000
octez_distributed_db_message_block_header_messages{action="sent"} 1205.000000
octez_distributed_db_message_checkpoint_messages{action="received"} 0.000000
octez_distributed_db_message_checkpoint_messages{action="sent"} 0.000000
octez_distributed_db_message_current_branch_messages{action="received"} 6711.000000
octez_distributed_db_message_current_branch_messages{action="sent"} 3974.000000
octez_distributed_db_message_current_head_messages{action="broadcasted"} 209579.000000
octez_distributed_db_message_current_head_messages{action="received"} 14578092.000000
octez_distributed_db_message_current_head_messages{action="sent"} 132987.000000
octez_distributed_db_message_deactivate_messages{action="received"} 17.000000
octez_distributed_db_message_deactivate_messages{action="sent"} 0.000000
octez_distributed_db_message_get_block_headers_messages{action="received"} 1206.000000
octez_distributed_db_message_get_block_headers_messages{action="sent"} 27832.000000
octez_distributed_db_message_get_checkpoint_messages{action="received"} 0.000000
octez_distributed_db_message_get_checkpoint_messages{action="sent"} 0.000000
octez_distributed_db_message_get_current_branch_messages{action="received"} 3974.000000
octez_distributed_db_message_get_current_branch_messages{action="sent"} 3684.000000
octez_distributed_db_message_get_current_head_messages{action="broadcasted"} 0.000000
octez_distributed_db_message_get_current_head_messages{action="received"} 132987.000000
octez_distributed_db_message_get_current_head_messages{action="sent"} 3534.000000
octez_distributed_db_message_get_operations_for_blocks_messages{action="received"} 261981.000000
octez_distributed_db_message_get_operations_for_blocks_messages{action="sent"} 114368.000000
octez_distributed_db_message_get_operations_messages{action="received"} 23234148.000000
octez_distributed_db_message_get_operations_messages{action="sent"} 5194756.000000
octez_distributed_db_message_get_predecessor_header_messages{action="received"} 0.000000
octez_distributed_db_message_get_predecessor_header_messages{action="sent"} 0.000000
octez_distributed_db_message_get_protocol_branch_messages{action="received"} 0.000000
octez_distributed_db_message_get_protocol_branch_messages{action="sent"} 0.000000
octez_distributed_db_message_get_protocols_messages{action="received"} 2.000000
octez_distributed_db_message_get_protocols_messages{action="sent"} 0.000000
octez_distributed_db_message_operation_messages{action="received"} 6502504.000000
octez_distributed_db_message_operation_messages{action="sent"} 41559875.000000
octez_distributed_db_message_operations_for_block_messages{action="received"} 243093.000000
octez_distributed_db_message_operations_for_block_messages{action="sent"} 364083.000000
octez_distributed_db_message_predecessor_header_messages{action="received"} 0.000000
octez_distributed_db_message_predecessor_header_messages{action="sent"} 0.000000
octez_distributed_db_message_protocol_branch_messages{action="received"} 0.000000
octez_distributed_db_message_protocol_branch_messages{action="sent"} 0.000000
octez_distributed_db_message_protocol_messages{action="received"} 0.000000
octez_distributed_db_message_protocol_messages{action="sent"} 1.000000
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rst
for the protocol and the environment,CHANGES.rst
at the root of the repository for everything else). -
Select suitable reviewers using the Reviewers
field below. -
Select as Assignee
the next person who should take action on that MR
Edited by Vivien Pelletier