@@ -69,9 +69,6 @@ import (
69
69
staking "github.com/harmony-one/harmony/staking/types"
70
70
lru "github.com/hashicorp/golang-lru"
71
71
goleveldb "github.com/syndtr/goleveldb/leveldb"
72
-
73
- // Import for crosslink metrics
74
- crosslinkmetrics "github.com/harmony-one/harmony/internal/metrics"
75
72
)
76
73
77
74
var (
93
90
blockValidationTimer = metrics .NewRegisteredTimer ("chain/validation" , nil )
94
91
blockExecutionTimer = metrics .NewRegisteredTimer ("chain/execution" , nil )
95
92
blockWriteTimer = metrics .NewRegisteredTimer ("chain/write" , nil )
93
+
94
+ // CrossLinkPendingQueueGauge is used to monitor the current size of pending crosslink queue
95
+ CrossLinkPendingQueueGauge = metrics .NewRegisteredGauge ("chain/crosslink/pending_queue_size" , nil )
96
+
96
97
// ErrCrosslinkNotFound is the error when no crosslink found
97
98
ErrCrosslinkNotFound = errors .New ("crosslink not found" )
98
99
// ErrZeroBytes is the error when it reads empty crosslink
@@ -2564,7 +2565,7 @@ func (bc *BlockChainImpl) ReadPendingCrossLinks() ([]types.CrossLink, error) {
2564
2565
cls , err := bc .readPendingCrossLinks ()
2565
2566
if err == nil {
2566
2567
// Update pending queue gauge with current size
2567
- crosslinkmetrics . UpdatePendingCrossLinkQueueGauge (len (cls ))
2568
+ bc . updatePendingCrossLinkQueueGauge (len (cls ))
2568
2569
}
2569
2570
return cls , err
2570
2571
}
@@ -2578,15 +2579,15 @@ func (bc *BlockChainImpl) AddPendingCrossLinks(pendingCLs []types.CrossLink) (in
2578
2579
err := bc .CachePendingCrossLinks (pendingCLs )
2579
2580
if err == nil {
2580
2581
// Update pending queue gauge with new size
2581
- crosslinkmetrics . UpdatePendingCrossLinkQueueGauge (len (pendingCLs ))
2582
+ bc . updatePendingCrossLinkQueueGauge (len (pendingCLs ))
2582
2583
}
2583
2584
return len (pendingCLs ), err
2584
2585
}
2585
2586
cls = append (cls , pendingCLs ... )
2586
2587
err = bc .CachePendingCrossLinks (cls )
2587
2588
if err == nil {
2588
2589
// Update pending queue gauge with new size
2589
- crosslinkmetrics . UpdatePendingCrossLinkQueueGauge (len (cls ))
2590
+ bc . updatePendingCrossLinkQueueGauge (len (cls ))
2590
2591
}
2591
2592
return len (cls ), err
2592
2593
}
@@ -2621,11 +2622,16 @@ func (bc *BlockChainImpl) DeleteFromPendingCrossLinks(crossLinks []types.CrossLi
2621
2622
err = bc .CachePendingCrossLinks (pendingCLs )
2622
2623
if err == nil {
2623
2624
// Update pending queue gauge with new size after deletion
2624
- crosslinkmetrics . UpdatePendingCrossLinkQueueGauge (len (pendingCLs ))
2625
+ bc . updatePendingCrossLinkQueueGauge (len (pendingCLs ))
2625
2626
}
2626
2627
return len (pendingCLs ), err
2627
2628
}
2628
2629
2630
+ // updatePendingCrossLinkQueueGauge updates the pending crosslink queue size gauge
2631
+ func (bc * BlockChainImpl ) updatePendingCrossLinkQueueGauge (size int ) {
2632
+ CrossLinkPendingQueueGauge .Update (int64 (size ))
2633
+ }
2634
+
2629
2635
func (bc * BlockChainImpl ) IsSameLeaderAsPreviousBlock (block * types.Block ) bool {
2630
2636
if IsEpochBlock (block ) {
2631
2637
return false
0 commit comments