From 20a3e51a1d0165d0da6a521b06b03da17a9c585d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de> Date: Mon, 23 May 2016 15:45:16 +0200 Subject: [PATCH] added total percent values for operation calls (#37) --- .../java/kieker/analysis/domain/OperationCall.java | 9 +++++++++ .../tracediagnosis/TraceStatisticsDecorator.java | 13 +++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/main/java/kieker/analysis/domain/OperationCall.java b/src/main/java/kieker/analysis/domain/OperationCall.java index 125d7791..2869d2c1 100644 --- a/src/main/java/kieker/analysis/domain/OperationCall.java +++ b/src/main/java/kieker/analysis/domain/OperationCall.java @@ -29,6 +29,7 @@ public final class OperationCall extends AbstractOperationCall<OperationCall> { private OperationCall parent; private float percent; + private float totalPercent; private long duration; private long timestamp; @@ -63,6 +64,14 @@ public final class OperationCall extends AbstractOperationCall<OperationCall> { this.percent = percent; } + public float getTotalPercent() { + return this.totalPercent; + } + + public void setTotalPercent(final float percent) { + this.percent = totalPercent; + } + public long getDuration() { return this.duration; } diff --git a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceStatisticsDecorator.java b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceStatisticsDecorator.java index 21bbd28e..d1828d9c 100644 --- a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceStatisticsDecorator.java +++ b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceStatisticsDecorator.java @@ -34,6 +34,7 @@ public final class TraceStatisticsDecorator extends AbstractTransformation<Trace addTraceDepth(trace.getRootOperationCall()); addTraceSize(trace.getRootOperationCall()); addPercentValues(trace.getRootOperationCall(), trace.getRootOperationCall().getDuration()); + addTotalPercentValues(trace.getRootOperationCall(), trace.getRootOperationCall().getDuration()); super.getOutputPort().send(trace); } @@ -81,4 +82,16 @@ public final class TraceStatisticsDecorator extends AbstractTransformation<Trace addPercentValues(child, call.getDuration()); } } + + private static void addTotalPercentValues(final OperationCall call, final long rootDuration) { + if (call.getParent() == null) { + call.setPercent(100.0f); + } else { + call.setPercent((100.0f * call.getDuration()) / rootDuration); + } + + for (final OperationCall child : call.getChildren()) { + addPercentValues(child, rootDuration); + } + } } -- GitLab