Skip to content

Commit e06e490

Browse files
committed
fix: adding metrics sender issue
1 parent f4fb5d0 commit e06e490

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/plugins/metrics_sender.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,14 @@ package plugins
99

1010
import (
1111
"context"
12-
"strings"
13-
1412
"github.com/nginx/agent/sdk/v2"
1513
agent_config "github.com/nginx/agent/sdk/v2/agent/config"
1614
"github.com/nginx/agent/sdk/v2/client"
1715
"github.com/nginx/agent/sdk/v2/proto"
1816
models "github.com/nginx/agent/sdk/v2/proto/events"
1917
"github.com/nginx/agent/v2/src/core"
2018
"github.com/nginx/agent/v2/src/core/config"
19+
"strings"
2120
"sync"
2221

2322
log "github.com/sirupsen/logrus"
@@ -55,15 +54,18 @@ func (r *MetricsSender) Init(pipeline core.MessagePipeInterface) {
5554

5655
func (r *MetricsSender) Close() {
5756
log.Info("MetricsSender is wrapping up")
57+
r.readyToSendMu.Lock()
5858
r.started.Store(false)
5959
r.readyToSend.Store(false)
60+
defer r.readyToSendMu.Unlock()
6061
}
6162

6263
func (r *MetricsSender) Info() *core.Info {
6364
return core.NewInfo(agent_config.FeatureMetricsSender, "v0.0.1")
6465
}
6566

6667
func (r *MetricsSender) Process(msg *core.Message) {
68+
6769
if msg.Exact(core.AgentConnected) {
6870
log.Debugf("metrics_sender: agent connected %s", strings.Join(r.conf.Features, ","))
6971
if r.conf.Features != nil && r.isFeatureEnabled(r.conf.Features) {
@@ -83,9 +85,9 @@ func (r *MetricsSender) Process(msg *core.Message) {
8385
log.Warnf("Failed to coerce Message to []Payload: %v", msg.Data())
8486
return
8587
}
88+
r.readyToSendMu.RLock()
8689
defer r.readyToSendMu.RUnlock()
8790
for _, p := range payloads {
88-
r.readyToSendMu.RLock()
8991
if !r.readyToSend.Load() {
9092
log.Debugf("metrics_sender is not ready to send the metrics")
9193
continue

0 commit comments

Comments
 (0)