Skip to content

Commit 088bc34

Browse files
authored
les/vflux/server: fix metrics (#22946)
* les/vflux/server: fix metrics * les/vflux/server: fix metrics
1 parent 53b1420 commit 088bc34

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

les/vflux/server/clientpool.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,10 @@ func NewClientPool(balanceDb ethdb.KeyValueStore, minCap uint64, connectedBias t
143143
if oldState.HasAll(cp.setup.activeFlag) && oldState.HasNone(cp.setup.activeFlag) {
144144
clientDeactivatedMeter.Mark(1)
145145
}
146-
_, connected := cp.Active()
147-
totalConnectedGauge.Update(int64(connected))
146+
activeCount, activeCap := cp.Active()
147+
totalActiveCountGauge.Update(int64(activeCount))
148+
totalActiveCapacityGauge.Update(int64(activeCap))
149+
totalInactiveCountGauge.Update(int64(cp.Inactive()))
148150
})
149151
return cp
150152
}

les/vflux/server/metrics.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ import (
2121
)
2222

2323
var (
24-
totalConnectedGauge = metrics.NewRegisteredGauge("vflux/server/totalConnected", nil)
24+
totalActiveCapacityGauge = metrics.NewRegisteredGauge("vflux/server/active/capacity", nil)
25+
totalActiveCountGauge = metrics.NewRegisteredGauge("vflux/server/active/count", nil)
26+
totalInactiveCountGauge = metrics.NewRegisteredGauge("vflux/server/inactive/count", nil)
2527

2628
clientConnectedMeter = metrics.NewRegisteredMeter("vflux/server/clientEvent/connected", nil)
2729
clientActivatedMeter = metrics.NewRegisteredMeter("vflux/server/clientEvent/activated", nil)

les/vflux/server/prioritypool.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ func newPriorityPool(ns *nodestate.NodeStateMachine, setup *serverSetup, clock m
128128
} else {
129129
ns.SetStateSub(node, nodestate.Flags{}, pp.setup.activeFlag.Or(pp.setup.inactiveFlag), 0)
130130
if n, _ := pp.ns.GetField(node, pp.setup.queueField).(*ppNodeInfo); n != nil {
131-
pp.disconnectedNode(n)
131+
pp.disconnectNode(n)
132132
}
133133
ns.SetFieldSub(node, pp.setup.capacityField, nil)
134134
ns.SetFieldSub(node, pp.setup.queueField, nil)
@@ -137,10 +137,10 @@ func newPriorityPool(ns *nodestate.NodeStateMachine, setup *serverSetup, clock m
137137
ns.SubscribeState(pp.setup.activeFlag.Or(pp.setup.inactiveFlag), func(node *enode.Node, oldState, newState nodestate.Flags) {
138138
if c, _ := pp.ns.GetField(node, pp.setup.queueField).(*ppNodeInfo); c != nil {
139139
if oldState.IsEmpty() {
140-
pp.connectedNode(c)
140+
pp.connectNode(c)
141141
}
142142
if newState.IsEmpty() {
143-
pp.disconnectedNode(c)
143+
pp.disconnectNode(c)
144144
}
145145
}
146146
})
@@ -233,6 +233,14 @@ func (pp *priorityPool) Active() (uint64, uint64) {
233233
return pp.activeCount, pp.activeCap
234234
}
235235

236+
// Inactive returns the number of currently inactive nodes
237+
func (pp *priorityPool) Inactive() int {
238+
pp.lock.Lock()
239+
defer pp.lock.Unlock()
240+
241+
return pp.inactiveQueue.Size()
242+
}
243+
236244
// Limits returns the maximum allowed number and total capacity of active nodes
237245
func (pp *priorityPool) Limits() (uint64, uint64) {
238246
pp.lock.Lock()
@@ -285,9 +293,9 @@ func (pp *priorityPool) inactivePriority(p *ppNodeInfo) int64 {
285293
return p.nodePriority.priority(pp.minCap)
286294
}
287295

288-
// connectedNode is called when a new node has been added to the pool (inactiveFlag set)
296+
// connectNode is called when a new node has been added to the pool (inactiveFlag set)
289297
// Note: this function should run inside a NodeStateMachine operation
290-
func (pp *priorityPool) connectedNode(c *ppNodeInfo) {
298+
func (pp *priorityPool) connectNode(c *ppNodeInfo) {
291299
pp.lock.Lock()
292300
pp.activeQueue.Refresh()
293301
if c.connected {
@@ -301,10 +309,10 @@ func (pp *priorityPool) connectedNode(c *ppNodeInfo) {
301309
pp.updateFlags(updates)
302310
}
303311

304-
// disconnectedNode is called when a node has been removed from the pool (both inactiveFlag
312+
// disconnectNode is called when a node has been removed from the pool (both inactiveFlag
305313
// and activeFlag reset)
306314
// Note: this function should run inside a NodeStateMachine operation
307-
func (pp *priorityPool) disconnectedNode(c *ppNodeInfo) {
315+
func (pp *priorityPool) disconnectNode(c *ppNodeInfo) {
308316
pp.lock.Lock()
309317
pp.activeQueue.Refresh()
310318
if !c.connected {

0 commit comments

Comments
 (0)