@@ -97,6 +97,8 @@ const (
97
97
98
98
// Prefixes for metrics gatherers
99
99
ethMetricsPrefix = "eth"
100
+ sdkMetricsPrefix = "sdk"
101
+ p2pMetricsPrefix = "p2p"
100
102
chainStateMetricsPrefix = "chain_state"
101
103
)
102
104
@@ -281,6 +283,7 @@ type VM struct {
281
283
282
284
// Metrics
283
285
multiGatherer avalanchegoMetrics.MultiGatherer
286
+ sdkMetrics * prometheus.Registry
284
287
285
288
bootstrapped bool
286
289
IsPlugin bool
@@ -509,7 +512,7 @@ func (vm *VM) Initialize(
509
512
}
510
513
511
514
// initialize peer network
512
- vm .router = p2p .NewRouter (vm .ctx .Log , appSender , prometheus . NewRegistry (), "p2p" )
515
+ vm .router = p2p .NewRouter (vm .ctx .Log , appSender , vm . sdkMetrics , p2pMetricsPrefix )
513
516
vm .networkCodec = message .Codec
514
517
vm .Network = peer .NewNetwork (vm .router , appSender , vm .networkCodec , message .CrossChainCodec , chainCtx .NodeID , vm .config .MaxOutboundActiveRequests , vm .config .MaxOutboundActiveCrossChainRequests )
515
518
vm .client = peer .NewNetworkClient (vm .Network )
@@ -561,13 +564,17 @@ func (vm *VM) Initialize(
561
564
}
562
565
563
566
func (vm * VM ) initializeMetrics () error {
567
+ vm .sdkMetrics = prometheus .NewRegistry ()
564
568
vm .multiGatherer = avalanchegoMetrics .NewMultiGatherer ()
565
569
// If metrics are enabled, register the default metrics regitry
566
570
if metrics .Enabled {
567
571
gatherer := corethPrometheus .Gatherer (metrics .DefaultRegistry )
568
572
if err := vm .multiGatherer .Register (ethMetricsPrefix , gatherer ); err != nil {
569
573
return err
570
574
}
575
+ if err := vm .multiGatherer .Register (sdkMetricsPrefix , vm .sdkMetrics ); err != nil {
576
+ return err
577
+ }
571
578
// Register [multiGatherer] after registerers have been registered to it
572
579
if err := vm .ctx .Metrics .Register (vm .multiGatherer ); err != nil {
573
580
return err
0 commit comments