diff --git a/src/main/java/kieker/analysis/dev/ComponentStatisticsDecoratorStage.java b/src/main/java/kieker/analysis/dev/ComponentStatisticsDecoratorStage.java index 3883ae5d7eedf67af901f54d5a0b1a4c621bd7b4..2c49fa234a15ef8eba2e63660ecc319c642f753c 100644 --- a/src/main/java/kieker/analysis/dev/ComponentStatisticsDecoratorStage.java +++ b/src/main/java/kieker/analysis/dev/ComponentStatisticsDecoratorStage.java @@ -2,8 +2,8 @@ package kieker.analysis.dev; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; +import kieker.analysis.domain.OperationCall; import kieker.analysis.domain.systemdependency.Component; import kieker.analysis.domain.systemdependency.Container; import kieker.analysis.domain.systemdependency.Operation; @@ -20,14 +20,19 @@ public class ComponentStatisticsDecoratorStage extends AbstractTransformation<So for (Container container : softwareSystem.getContainers()) { for (Component component : container.getComponents()) { - // TODO How to handle Statistics? - // All durations of all OperationCalls - List<Long> durations = new ArrayList<>(); + final List<Long> durations = new ArrayList<>(); for (Operation operation : component.getOperations()) { - List<Long> operationsDurations = operation.getOperationCalls().stream().map(c -> c.getDuration()).collect(Collectors.toList()); - durations.addAll(operationsDurations); + + for (OperationCall call : operation.getOperationCalls()) { + // Just handle calls from outside of this component + OperationCall caller = call.getParent(); + if (caller == null || (caller.getComponent().equals(component.getName()) && caller.getContainer().equals(container.getName()))) { + durations.add(call.getDuration()); + } + } + } final Statistics statistics = StatisticsUtility.calculateStatistics(durations); diff --git a/src/main/java/kieker/analysis/dev/ContainerStatisticsDecoratorStage.java b/src/main/java/kieker/analysis/dev/ContainerStatisticsDecoratorStage.java index 1ef03e80945c0390935461b93df45c5cf172ad63..1c17eec73f7a658896c8c6989a9f0cc9aa50544c 100644 --- a/src/main/java/kieker/analysis/dev/ContainerStatisticsDecoratorStage.java +++ b/src/main/java/kieker/analysis/dev/ContainerStatisticsDecoratorStage.java @@ -13,6 +13,8 @@ import kieker.analysis.traceanalysisutil.StatisticsUtility; import teetime.stage.basic.AbstractTransformation; +//TODO Not required +@Deprecated public class ContainerStatisticsDecoratorStage extends AbstractTransformation<SoftwareSystem, SoftwareSystem> { @Override