From 165d0d179ae8b9fef724dac5a83e879463e2a64e Mon Sep 17 00:00:00 2001 From: Krzysztof Reczek Date: Fri, 6 Sep 2024 15:23:32 +0200 Subject: [PATCH] Detect recursive use by looking for repeated component connections (#156) --- pkg/scraper/strategy.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/scraper/strategy.go b/pkg/scraper/strategy.go index 1efbe73..d44474b 100644 --- a/pkg/scraper/strategy.go +++ b/pkg/scraper/strategy.go @@ -161,11 +161,12 @@ func (s *scraper) scrapeStruct( } vID := componentID(v) - if c, ok := s.typeCounters[vID]; ok && c > maxRecursiveScrapes { + vUsageKey := fmt.Sprintf("%s-%s", parentID, vID) + if c, ok := s.typeCounters[vUsageKey]; ok && c > maxRecursiveScrapes { s.debug(v, "struct is being used recursively, skipping") return } else { - s.typeCounters[vID]++ + s.typeCounters[vUsageKey]++ } var c model.Component