From c64c933e387608e9b33757b1ec463c7471c367a5 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Wed, 26 Aug 2015 16:42:34 +0200 Subject: [PATCH] Adding trace log on visitors and measure computers --- .../server/computation/component/ComponentImpl.java | 12 ++++++++++++ .../server/computation/component/FileAttributes.java | 8 ++++++++ .../component/PathAwareVisitorWrapper.java | 4 ++++ .../computation/component/ReportAttributes.java | 9 +++++++-- .../component/TypeAwareVisitorWrapper.java | 4 ++++ .../computation/component/VisitorsCrawler.java | 5 +++++ .../computation/measure/MeasureComputersVisitor.java | 9 +++++++-- 7 files changed, 47 insertions(+), 4 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/component/ComponentImpl.java b/server/sonar-server/src/main/java/org/sonar/server/computation/component/ComponentImpl.java index d1b3e9b4bfd..a20aa98e752 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/component/ComponentImpl.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/component/ComponentImpl.java @@ -139,4 +139,16 @@ public class ComponentImpl implements Component { public ProjectViewAttributes getProjectViewAttributes() { throw new IllegalStateException("Only component of type PROJECT_VIEW have a FileAttributes object"); } + + @Override + public String toString() { + return "ComponentImpl{" + + "key='" + key + '\'' + + ", type=" + type + + ", uuid='" + uuid + '\'' + + ", fileAttributes=" + fileAttributes + + ", name='" + name + '\'' + + ", reportAttributes=" + reportAttributes + + '}'; + } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/component/FileAttributes.java b/server/sonar-server/src/main/java/org/sonar/server/computation/component/FileAttributes.java index f7fdfb4eac3..bbcf22e0c08 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/component/FileAttributes.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/component/FileAttributes.java @@ -44,4 +44,12 @@ public class FileAttributes { public String getLanguageKey() { return languageKey; } + + @Override + public String toString() { + return "FileAttributes{" + + "languageKey='" + languageKey + '\'' + + ", unitTest=" + unitTest + + '}'; + } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/component/PathAwareVisitorWrapper.java b/server/sonar-server/src/main/java/org/sonar/server/computation/component/PathAwareVisitorWrapper.java index 560868b84a8..acd5bd91122 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/component/PathAwareVisitorWrapper.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/component/PathAwareVisitorWrapper.java @@ -105,4 +105,8 @@ public class PathAwareVisitorWrapper implements VisitorWrapper { } } + @Override + public String toString() { + return delegate.toString(); + } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/component/ReportAttributes.java b/server/sonar-server/src/main/java/org/sonar/server/computation/component/ReportAttributes.java index 53c32ca3773..22ffb0b0002 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/component/ReportAttributes.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/component/ReportAttributes.java @@ -23,8 +23,6 @@ import javax.annotation.CheckForNull; import javax.annotation.Nullable; import javax.annotation.concurrent.Immutable; -import static java.util.Objects.requireNonNull; - @Immutable public class ReportAttributes { private final int ref; @@ -50,4 +48,11 @@ public class ReportAttributes { return this.version; } + @Override + public String toString() { + return "ReportAttributes{" + + "ref=" + ref + + ", version='" + version + '\'' + + '}'; + } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/component/TypeAwareVisitorWrapper.java b/server/sonar-server/src/main/java/org/sonar/server/computation/component/TypeAwareVisitorWrapper.java index 182cb4aa612..fc04c6e1fa4 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/component/TypeAwareVisitorWrapper.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/component/TypeAwareVisitorWrapper.java @@ -88,4 +88,8 @@ public class TypeAwareVisitorWrapper implements VisitorWrapper { return delegate.getMaxDepth(); } + @Override + public String toString() { + return delegate.toString(); + } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/component/VisitorsCrawler.java b/server/sonar-server/src/main/java/org/sonar/server/computation/component/VisitorsCrawler.java index 6333fcf4a6f..ea5e20ee9a2 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/component/VisitorsCrawler.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/component/VisitorsCrawler.java @@ -26,6 +26,8 @@ import com.google.common.collect.ImmutableMap; import java.util.List; import java.util.Map; import javax.annotation.Nonnull; +import org.sonar.api.utils.log.Logger; +import org.sonar.api.utils.log.Loggers; import static com.google.common.collect.FluentIterable.from; import static com.google.common.collect.Iterables.concat; @@ -36,6 +38,8 @@ import static java.util.Objects.requireNonNull; */ public class VisitorsCrawler implements ComponentCrawler { + private static final Logger LOGGER = Loggers.get(VisitorsCrawler.class); + private final List preOrderVisitorWrappers; private final List postOrderVisitorWrappers; @@ -80,6 +84,7 @@ public class VisitorsCrawler implements ComponentCrawler { } private void visitNode(Component component, VisitorWrapper visitor) { + LOGGER.trace("Visitor '{}' is currently visiting component {}", visitor, component); visitor.visitAny(component); switch (component.getType()) { case PROJECT: diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/measure/MeasureComputersVisitor.java b/server/sonar-server/src/main/java/org/sonar/server/computation/measure/MeasureComputersVisitor.java index 43ad33fdf05..8998020f111 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/measure/MeasureComputersVisitor.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/measure/MeasureComputersVisitor.java @@ -21,6 +21,8 @@ package org.sonar.server.computation.measure; import org.sonar.api.ce.measure.MeasureComputer; +import org.sonar.api.utils.log.Logger; +import org.sonar.api.utils.log.Loggers; import org.sonar.server.computation.component.CrawlerDepthLimit; import org.sonar.server.computation.component.SettingsRepository; import org.sonar.server.computation.component.TypeAwareVisitorAdapter; @@ -28,10 +30,12 @@ import org.sonar.server.computation.issue.ComponentIssuesRepository; import org.sonar.server.computation.measure.api.MeasureComputerImplementationContext; import org.sonar.server.computation.metric.MetricRepository; -import static org.sonar.server.computation.component.ComponentVisitor.Order.PRE_ORDER; +import static org.sonar.server.computation.component.ComponentVisitor.Order.POST_ORDER; public class MeasureComputersVisitor extends TypeAwareVisitorAdapter { + private static final Logger LOGGER = Loggers.get(MeasureComputersVisitor.class); + private final MetricRepository metricRepository; private final MeasureRepository measureRepository; private final SettingsRepository settings; @@ -41,7 +45,7 @@ public class MeasureComputersVisitor extends TypeAwareVisitorAdapter { public MeasureComputersVisitor(MetricRepository metricRepository, MeasureRepository measureRepository, SettingsRepository settings, MeasureComputersHolder measureComputersHolder, ComponentIssuesRepository componentIssuesRepository) { - super(CrawlerDepthLimit.FILE, PRE_ORDER); + super(CrawlerDepthLimit.FILE, POST_ORDER); this.metricRepository = metricRepository; this.measureRepository = measureRepository; this.settings = settings; @@ -52,6 +56,7 @@ public class MeasureComputersVisitor extends TypeAwareVisitorAdapter { @Override public void visitAny(org.sonar.server.computation.component.Component component) { for (MeasureComputer computer : measureComputersHolder.getMeasureComputers()) { + LOGGER.trace("Measure computer '{}' is computing component {}", computer.getImplementation(), component); MeasureComputerImplementationContext measureComputerContext = new MeasureComputerImplementationContext(component, computer, settings, measureRepository, metricRepository, componentIssuesRepository); computer.getImplementation().compute(measureComputerContext); -- 2.39.5