Skip to content

Commit 1db1871

Browse files
authored
fix(connmanager): guard against setting nil metrics (#1051)
Signed-off-by: Chris Gianelloni <wolf31o2@blinklabs.io>
1 parent 09df083 commit 1db1871

File tree

1 file changed

+21
-6
lines changed

1 file changed

+21
-6
lines changed

connmanager/connection_manager.go

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@ func (c *ConnectionManager) initMetrics() {
120120
}
121121

122122
func (c *ConnectionManager) updateConnectionMetrics() {
123+
if c == nil {
124+
return
125+
}
123126
if c.metrics == nil {
124127
return
125128
}
@@ -181,12 +184,24 @@ func (c *ConnectionManager) updateConnectionMetrics() {
181184
}
182185
}
183186

184-
c.metrics.incomingConns.Set(float64(incomingCount))
185-
c.metrics.outgoingConns.Set(float64(outgoingCount))
186-
c.metrics.unidirectionalConns.Set(float64(unidirectionalCount))
187-
c.metrics.duplexConns.Set(float64(duplexCount))
188-
c.metrics.fullDuplexConns.Set(float64(fullDuplexCount))
189-
c.metrics.prunableConns.Set(float64(prunableCount))
187+
if c.metrics.incomingConns != nil {
188+
c.metrics.incomingConns.Set(float64(incomingCount))
189+
}
190+
if c.metrics.outgoingConns != nil {
191+
c.metrics.outgoingConns.Set(float64(outgoingCount))
192+
}
193+
if c.metrics.unidirectionalConns != nil {
194+
c.metrics.unidirectionalConns.Set(float64(unidirectionalCount))
195+
}
196+
if c.metrics.duplexConns != nil {
197+
c.metrics.duplexConns.Set(float64(duplexCount))
198+
}
199+
if c.metrics.fullDuplexConns != nil {
200+
c.metrics.fullDuplexConns.Set(float64(fullDuplexCount))
201+
}
202+
if c.metrics.prunableConns != nil {
203+
c.metrics.prunableConns.Set(float64(prunableCount))
204+
}
190205
}
191206

192207
func (c *ConnectionManager) Start() error {

0 commit comments

Comments
 (0)