From 84728ec4aab48b635be8c0440828ca1451ad1e75 Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Tue, 7 Oct 2025 20:37:47 +0300 Subject: [PATCH] send status events to all profiles if none set --- agents/diam_conn_stats_test.go | 2 +- agents/diamagent.go | 19 ++++++++----------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/agents/diam_conn_stats_test.go b/agents/diam_conn_stats_test.go index 533b23e0f..90fdd4c1f 100644 --- a/agents/diam_conn_stats_test.go +++ b/agents/diam_conn_stats_test.go @@ -73,7 +73,7 @@ func TestDiamConnStats(t *testing.T) { "enabled": true, "stats_conns": ["*localhost"], // "thresholds_conns": ["*localhost"], - "conn_status_stat_queue_ids": ["SQ_CONN_1", "SQ_CONN_2", "SQ_CONN_3"], + // "conn_status_stat_queue_ids": ["SQ_CONN_1", "SQ_CONN_2", "SQ_CONN_3"], // "conn_status_threshold_ids": [], "conn_health_check_interval": "100ms" } diff --git a/agents/diamagent.go b/agents/diamagent.go index 5476f8899..41937e2ca 100644 --- a/agents/diamagent.go +++ b/agents/diamagent.go @@ -454,9 +454,8 @@ func (da *DiameterAgent) handleRAA(c diam.Conn, m *diam.Message) { // sendConnStatusReport reports connection status changes to StatS and ThresholdS. func (da *DiameterAgent) sendConnStatusReport(metadata *smpeer.Metadata, status string, localAddr, remoteAddr net.Addr) { - sqIDs := da.cgrCfg.DiameterAgentCfg().ConnStatusStatQueueIDs - thIDs := da.cgrCfg.DiameterAgentCfg().ConnStatusThresholdIDs - if len(sqIDs) == 0 && len(thIDs) == 0 { + daCfg := da.cgrCfg.DiameterAgentCfg() + if len(daCfg.StatSConns) == 0 && len(daCfg.ThresholdSConns) == 0 { return // nothing to do } @@ -477,22 +476,20 @@ func (da *DiameterAgent) sendConnStatusReport(metadata *smpeer.Metadata, status }, } - if len(sqIDs) != 0 { - ev.APIOpts[utils.OptsStatsProfileIDs] = sqIDs + if len(daCfg.StatSConns) != 0 { + ev.APIOpts[utils.OptsStatsProfileIDs] = daCfg.ConnStatusStatQueueIDs var reply []string - if err := da.connMgr.Call(context.TODO(), - da.cgrCfg.DiameterAgentCfg().StatSConns, + if err := da.connMgr.Call(context.TODO(), daCfg.StatSConns, utils.StatSv1ProcessEvent, ev, &reply); err != nil { utils.Logger.Err(fmt.Sprintf("failed to process %s event in %s: %v", utils.EventConnectionStatusReport, utils.StatS, err)) } delete(ev.APIOpts, utils.OptsStatsProfileIDs) } - if len(thIDs) != 0 { - ev.APIOpts[utils.OptsThresholdsProfileIDs] = thIDs + if len(daCfg.ThresholdSConns) != 0 { + ev.APIOpts[utils.OptsThresholdsProfileIDs] = daCfg.ConnStatusThresholdIDs var reply []string - if err := da.connMgr.Call(context.TODO(), - da.cgrCfg.DiameterAgentCfg().ThresholdSConns, + if err := da.connMgr.Call(context.TODO(), daCfg.ThresholdSConns, utils.ThresholdSv1ProcessEvent, ev, &reply); err != nil { utils.Logger.Err(fmt.Sprintf("failed to process %s event in %s: %v", utils.EventConnectionStatusReport, utils.ThresholdS, err))