From a20c51e94d29153673d9c7759d6e664e017a3d00 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Mon, 25 May 2020 13:12:47 +0000 Subject: [PATCH] Higher limit on topology size for merged reports. Where a report has been merged from several probes, give it a higher limit before dropping topologies. We will already have applied the limit on each single-probe report as it came in, except for historical ones. --- app/multitenant/aws_collector.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/multitenant/aws_collector.go b/app/multitenant/aws_collector.go index 15193e719..39b2edced 100644 --- a/app/multitenant/aws_collector.go +++ b/app/multitenant/aws_collector.go @@ -450,8 +450,12 @@ func (c *awsCollector) getReports(ctx context.Context, userid string, reportKeys // process a report from a probe which may be at an older version or overloaded func (c *awsCollector) massageReport(userid string, report report.Report) report.Report { if c.cfg.MaxTopNodes > 0 { + max := c.cfg.MaxTopNodes + if len(report.Host.Nodes) > 1 { + max = max * len(report.Host.Nodes) // higher limit for merged reports + } var dropped []string - report, dropped = report.DropTopologiesOver(c.cfg.MaxTopNodes) + report, dropped = report.DropTopologiesOver(max) for _, name := range dropped { topologiesDropped.WithLabelValues(userid, name).Inc() }