Axon r02
Full changelog below.
β HIGHLIGHTED | Observability Framework ποΈπ
- Introduced a new observability framework utilizing the
ipc-observability
crate.- This framework introduces events and metrics for detailed system monitoring and analysis.
- Integrates with Prometheus for real-time tracking, alerting, and visualization.
- Simplifies observability integration with ready-to-use macros, structs, and functions.
IPC now emits events during execution. These events are recorded in the Journal, and are transformed into Prometheus metrics. Observability configuration is performed via config.toml
.
Refer to full observability documentation here.
New events and metrics
Domain | Event | Description | Metric(s) derived |
---|---|---|---|
Consensus | BlockProposalReceived |
Tracks block proposal reception | consensus_block_proposal_received_height (IntGauge) |
Consensus | BlockProposalSent |
Tracks block proposal sending | consensus_block_proposal_sent_height (IntGauge) |
Consensus | BlockProposalEvaluated |
Records the result from evaluating block proposals | consensus_block_proposal_accepted_height (IntGauge), consensus_block_proposal_rejected_height (IntGauge) |
Consensus | BlockCommitted |
Tracks committed blocks | consensus_block_committed_height (IntGauge) |
Execution | MsgExec |
Represents various message execution paths (Check, Apply, Estimate, Call) | exec_fvm_check_execution_time_secs (Histogram), exec_fvm_estimate_execution_time_secs (Histogram), exec_fvm_apply_execution_time_secs (Histogram), exec_fvm_call_execution_time_secs (Histogram) |
Bottomup | CheckpointCreated |
Records checkpoint creation | bottomup_checkpoint_created_total (IntCounter), bottomup_checkpoint_created_height (IntGauge), bottomup_checkpoint_created_msgcount (IntGauge), bottomup_checkpoint_created_confignum (IntGauge) |
Bottomup | CheckpointSigned |
Records checkpoint signatures | bottomup_checkpoint_signed_height (IntGaugeVec) |
Bottomup | CheckpointFinalized |
Records checkpoint finalization (quorum reached) | bottomup_checkpoint_finalized_height (IntGauge) |
Topdown | ParentRpcCalled |
Tracks parent RPC calls in the context of top-down finality | topdown_parent_rpc_call_total (IntCounterVec), topdown_parent_rpc_call_latency_secs (HistogramVec) |
Topdown | ParentFinalityAcquired |
Records acquisition of new parent finality | topdown_parent_finality_latest_acquired_height (IntGaugeVec) |
Topdown | ParentFinalityPeerVoteReceived |
Records peer votes for parent finality | topdown_parent_finality_voting_latest_received_height (IntGaugeVec) |
Topdown | ParentFinalityPeerVoteSent |
Records own votes for parent finality | topdown_parent_finality_voting_latest_sent_height (IntGauge) |
Topdown | ParentFinalityPeerQuorumReached |
Records quorum reached in parent finality voting | topdown_parent_finality_voting_quorum_height (IntGauge), topdown_parent_finality_voting_quorum_weight (IntGauge) |
Topdown | ParentFinalityCommitted |
Tracks parent finality committed on chain | topdown_parent_finality_committed_height (IntGauge) |
System | TracingError |
Logs tracing errors | tracing_errors (IntCounterVec) |
π Features
- (node) New observability architecture + events (#1053)
- (node) New observability bottom up tracing/metrics (#1061)
- (ethapi) Add eth cors settings (#1021)
- (node) File-based observability configuration (#1078)
- (node) Observability docs and changelog section (#1083)
π Bug Fixes
- (ethapi) Make
eth_getTransactionReceipt
null for unexecuted/unknown transactions (#1006)
π Refactor
- (node) Observability refinements. (#1085)
π Documentation
- (specs) Ethereum JSON-RPC API (#913)
βοΈ Miscellaneous Tasks
- Validate PR titles against conventional commits. (#1075)