Skip to content

rpc: add new metrics for rpc module#508

Merged
tungng98 merged 2 commits intoBuildOnViction:pre-releasefrom
c98tristan:feat/add-rpc-metrics
Mar 20, 2025
Merged

rpc: add new metrics for rpc module#508
tungng98 merged 2 commits intoBuildOnViction:pre-releasefrom
c98tristan:feat/add-rpc-metrics

Conversation

@c98tristan
Copy link
Copy Markdown
Contributor

@c98tristan c98tristan commented Mar 4, 2025

This pull request includes significant changes to the metrics/gauge.go file to add increment and decrement functionalities to the Gauge interface and its implementations. Additionally, it introduces new metrics and timing functionalities in the rpc package.

Introduction of new metrics and timing functionalities in rpc package:

  • Added new gauges for tracking RPC requests, successes, and failures, as well as timers for measuring RPC method call durations. (rpc/metrics.go, rpc/metrics.goR1-R39)
rpcRequestGauge        = metrics.NewRegisteredGauge("rpc/requests", nil)
successfulRequestGauge = metrics.NewRegisteredGauge("rpc/success", nil)
failedRequestGauge     = metrics.NewRegisteredGauge("rpc/failure", nil)
rpcServingTimer        = metrics.NewRegisteredTimer("rpc/duration/all", nil)
  • Imported the time package to support timing functionalities. (rpc/server.go, rpc/server.goR27)
  • Corrected a typo in the comment for OptionSubscriptions. (rpc/server.go, rpc/server.goL41-R42)
  • Incremented the rpcRequestGauge at the start of the handle function and added timing logic for RPC method calls. (rpc/server.go, [1] [2]

New rpc metrics:

# TYPE rpc_duration_Version_success_count counter
rpc_duration_Version_success_count 210

# TYPE rpc_duration_Version_success summary
rpc_duration_Version_success {quantile="0.5"} 24145.5
rpc_duration_Version_success {quantile="0.75"} 54249.75
rpc_duration_Version_success {quantile="0.95"} 693722.5499999997
rpc_duration_Version_success {quantile="0.99"} 2.212035999999999e+06
rpc_duration_Version_success {quantile="0.999"} 2.692416e+06
rpc_duration_Version_success {quantile="0.9999"} 2.692416e+06

# TYPE rpc_duration_all_count counter
rpc_duration_all_count 781

# TYPE rpc_duration_all summary
rpc_duration_all {quantile="0.5"} 103500
rpc_duration_all {quantile="0.75"} 272021
rpc_duration_all {quantile="0.95"} 1.2166131e+06
rpc_duration_all {quantile="0.99"} 5.447050559999951e+06
rpc_duration_all {quantile="0.999"} 1.8066041e+07
rpc_duration_all {quantile="0.9999"} 1.8066041e+07

# TYPE rpc_failure gauge
rpc_failure 0

# TYPE rpc_requests gauge
rpc_requests 781

# TYPE rpc_success gauge
rpc_success 781

Reference:

@tungng98 tungng98 merged commit c7e1ad3 into BuildOnViction:pre-release Mar 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants