Skip to content

Commit

Permalink
only aggregate centrifuge metrics (#453)
Browse files Browse the repository at this point in the history
  • Loading branch information
FZambia authored Jan 21, 2025
1 parent 709ffeb commit ae73164
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 17 deletions.
2 changes: 1 addition & 1 deletion _examples/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ require (

require (
cloud.google.com/go/compute/metadata v0.5.2 // indirect
github.com/FZambia/eagle v0.1.0 // indirect
github.com/FZambia/eagle v0.2.0 // indirect
github.com/benbjohnson/clock v1.3.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bytedance/sonic v1.11.6 // indirect
Expand Down
4 changes: 2 additions & 2 deletions _examples/go.sum
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo=
cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k=
github.com/FZambia/eagle v0.1.0 h1:9gyX6x+xjoIfglgyPTcYm7dvY7FJ93us1QY5De4CyXA=
github.com/FZambia/eagle v0.1.0/go.mod h1:YjGSPVkQTNcVLfzEUQJNgW9ScPR0K4u/Ky0yeFa4oDA=
github.com/FZambia/eagle v0.2.0 h1:1kQaZpJvbkvAXFRE/9K2ucBMuVqo+E29EMLYB74hIis=
github.com/FZambia/eagle v0.2.0/go.mod h1:LKMYBwGYhao5sJI0TppvQ4SvvldFj9gITxrl8NvGwG0=
github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/centrifugal/centrifuge
go 1.21

require (
github.com/FZambia/eagle v0.1.0
github.com/FZambia/eagle v0.2.0
github.com/centrifugal/protocol v0.14.0
github.com/google/uuid v1.6.0
github.com/maypok86/otter v1.2.4
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
github.com/FZambia/eagle v0.1.0 h1:9gyX6x+xjoIfglgyPTcYm7dvY7FJ93us1QY5De4CyXA=
github.com/FZambia/eagle v0.1.0/go.mod h1:YjGSPVkQTNcVLfzEUQJNgW9ScPR0K4u/Ky0yeFa4oDA=
github.com/FZambia/eagle v0.2.0 h1:1kQaZpJvbkvAXFRE/9K2ucBMuVqo+E29EMLYB74hIis=
github.com/FZambia/eagle v0.2.0/go.mod h1:LKMYBwGYhao5sJI0TppvQ4SvvldFj9gITxrl8NvGwG0=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/centrifugal/protocol v0.14.0 h1:HfB/oKcU7ZVpSzbWUcA5e+0NuUOFaRAOvxfcKBTHVf4=
Expand Down
12 changes: 8 additions & 4 deletions metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,18 @@ type metrics struct {
codeStrings map[uint32]string
}

func getMetricsNamespace(config MetricsConfig) string {
if config.MetricsNamespace == "" {
return defaultMetricsNamespace
}
return config.MetricsNamespace
}

func newMetricsRegistry(config MetricsConfig) (*metrics, error) {
registryMu.Lock()
defer registryMu.Unlock()

metricsNamespace := config.MetricsNamespace
if metricsNamespace == "" {
metricsNamespace = defaultMetricsNamespace
}
metricsNamespace := getMetricsNamespace(config)

var registerer prometheus.Registerer
if config.RegistererGatherer != nil {
Expand Down
15 changes: 8 additions & 7 deletions node.go
Original file line number Diff line number Diff line change
Expand Up @@ -352,25 +352,26 @@ func (n *Node) initMetrics() error {

metricsSink := make(chan eagle.Metrics)
n.metricsExporter = eagle.New(eagle.Config{
Gatherer: gatherer,
Interval: n.config.NodeInfoMetricsAggregateInterval,
Sink: metricsSink,
Gatherer: gatherer,
Interval: n.config.NodeInfoMetricsAggregateInterval,
Sink: metricsSink,
PrefixWhitelist: []string{getMetricsNamespace(n.config.Metrics)},
})
metrics, err := n.metricsExporter.Export()
initialMetricsSnapshot, err := n.metricsExporter.Export()
if err != nil {
return err
}
n.metricsMu.Lock()
n.metricsSnapshot = &metrics
n.metricsSnapshot = &initialMetricsSnapshot
n.metricsMu.Unlock()
go func() {
for {
select {
case <-n.NotifyShutdown():
return
case metrics := <-metricsSink:
case metricsSnapshot := <-metricsSink:
n.metricsMu.Lock()
n.metricsSnapshot = &metrics
n.metricsSnapshot = &metricsSnapshot
n.metricsMu.Unlock()
}
}
Expand Down

0 comments on commit ae73164

Please sign in to comment.