Compare commits

...

3 Commits

Author SHA1 Message Date
Nityananda Gohain
567bb8cced Merge branch 'main' into fix/opamp 2025-03-24 17:25:31 +05:30
nityanandagohain
0f7e6da613 fix: update log 2025-03-20 19:16:47 +05:30
nityanandagohain
eec45da84b fix: add exponential backoff to opamp onmessage 2025-03-20 19:09:28 +05:30

View File

@@ -2,6 +2,7 @@ package opamp
import (
"context"
"time"
model "github.com/SigNoz/signoz/pkg/query-service/app/opamp/model"
"github.com/open-telemetry/opamp-go/protobufs"
@@ -81,10 +82,18 @@ func (srv *Server) onDisconnect(conn types.Connection) {
func (srv *Server) OnMessage(conn types.Connection, msg *protobufs.AgentToServer) *protobufs.ServerToAgent {
agentID := msg.InstanceUid
agent, created, err := srv.agents.FindOrCreateAgent(agentID, conn)
if err != nil {
zap.L().Error("Failed to find or create agent", zap.String("agentID", agentID), zap.Error(err))
// TODO: handle error
sleep := 1 * time.Second
var agent *model.Agent
var created bool
var err error
for {
agent, created, err = srv.agents.FindOrCreateAgent(agentID, conn)
if err == nil {
break
}
zap.L().Error("Failed to find or create agent retrying....", zap.String("agentID", agentID), zap.Error(err), zap.Duration("backoff", sleep))
time.Sleep(sleep)
sleep *= 2
}
if created {