From d4eea56ae11100461f08085ab46cb125678a8892 Mon Sep 17 00:00:00 2001 From: Bram Schuur Date: Fri, 26 Jan 2024 13:36:34 +0100 Subject: [PATCH 1/2] STAC-20704: Always send increment to make sure deletes have low latency --- checks/process.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/checks/process.go b/checks/process.go index 57faf7ef..7a97b097 100644 --- a/checks/process.go +++ b/checks/process.go @@ -136,7 +136,7 @@ func (p *ProcessCheck) Run(cfg *config.AgentConfig, featureFlags features.Featur return nil, nil } - var messages []model.MessageBody + var messages = make([]model.MessageBody, 0, 0) processes, topUsage, whiteListedLongLiving := p.fmtProcesses(cfg, procs, pidToCid, cpuTimes[0], p.lastCPUTime, p.lastRun) @@ -147,12 +147,16 @@ func (p *ProcessCheck) Run(cfg *config.AgentConfig, featureFlags features.Featur containers, multiMetrics := retrieveMetricsAndFormat(cfg, ctrList) - if cfg.EnableIncrementalPublishing && featureFlags.FeatureEnabled(features.IncrementalTopology) && time.Now().Before(p.lastRefresh.Add(cfg.IncrementalPublishingRefreshInterval)) { + // Always send increment (to allow for low-latency deletes) + if cfg.EnableIncrementalPublishing && featureFlags.FeatureEnabled(features.IncrementalTopology) { log.Debug("Sending process status increment") messages = p.fmtIncrement(cfg, groupID, buildIncrement(processes, containers, p.lastProcState, p.lastCtrState)) - } else { + } + + // Sometimes also add the full snapshot, in case some of the data was lost + if (!cfg.EnableIncrementalPublishing) || (!featureFlags.FeatureEnabled(features.IncrementalTopology)) || time.Now().After(p.lastRefresh.Add(cfg.IncrementalPublishingRefreshInterval)) { log.Debug("Sending process status snapshot") - messages = p.fmtSnapshot(cfg, groupID, processes, containers) + messages = append(messages, p.fmtSnapshot(cfg, groupID, processes, containers)...) p.lastRefresh = time.Now() } From 577a75e7a0cf05ce14b818ab4b6b1483d37a232e Mon Sep 17 00:00:00 2001 From: Bram Schuur Date: Fri, 26 Jan 2024 13:41:16 +0100 Subject: [PATCH 2/2] STAC-20704: Fix test --- checks/net.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/checks/net.go b/checks/net.go index 5e7c50fe..a9c0ecbd 100644 --- a/checks/net.go +++ b/checks/net.go @@ -471,12 +471,12 @@ func (c *ConnectionsCheck) formatConnections( } } } else { - unsentNonRootObservations = -1 - unsentNonRootConnectionMetrics = -1 + unsentNonRootObservations = 0 + unsentNonRootConnectionMetrics = 0 } } else { - unsentNonRootObservations = -1 - unsentNonRootConnectionMetrics = -1 + unsentNonRootObservations = 0 + unsentNonRootConnectionMetrics = 0 } connectionMetricsProcessedCounter.WithLabelValues("no_process").Add(connectionMetricNoProcess)