From ccc93eefecd77dff25e25a63983b4fb22a077142 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de> Date: Mon, 16 May 2016 22:48:31 +0200 Subject: [PATCH] added operations statistics decoration --- .../OperationsStatisticsDecoratorStage.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/main/java/kieker/analysis/dev/OperationsStatisticsDecoratorStage.java diff --git a/src/main/java/kieker/analysis/dev/OperationsStatisticsDecoratorStage.java b/src/main/java/kieker/analysis/dev/OperationsStatisticsDecoratorStage.java new file mode 100644 index 00000000..8c69048b --- /dev/null +++ b/src/main/java/kieker/analysis/dev/OperationsStatisticsDecoratorStage.java @@ -0,0 +1,40 @@ +package kieker.analysis.dev; + +import java.util.List; +import java.util.stream.Collectors; + +import kieker.analysis.domain.systemdependency.Component; +import kieker.analysis.domain.systemdependency.Container; +import kieker.analysis.domain.systemdependency.Operation; +import kieker.analysis.domain.systemdependency.SoftwareSystem; +import kieker.analysis.traceanalysisutil.Statistics; +import kieker.analysis.traceanalysisutil.StatisticsUtility; + +import teetime.stage.basic.AbstractTransformation; + +public class OperationsStatisticsDecoratorStage extends AbstractTransformation<SoftwareSystem, SoftwareSystem> { + + @Override + protected void execute(final SoftwareSystem softwareSystem) { + + for (Container container : softwareSystem.getContainers()) { + for (Component component : container.getComponents()) { + for (Operation operation : component.getOperations()) { + + List<Long> durations = operation.getOperationCalls().stream().map(c -> c.getDuration()).collect(Collectors.toList()); + + final Statistics statistics = StatisticsUtility.calculateStatistics(durations); + + operation.setTotalDuration(statistics.getTotalDuration()); + operation.setMaxDuration(statistics.getMaxDuration()); + operation.setMinDuration(statistics.getMinDuration()); + operation.setMeanDuration(statistics.getMeanDuration()); + operation.setMedianDuration(statistics.getMedianDuration()); + + } + } + } + + } + +} -- GitLab