Skip to content

Commit 7b7286d

Browse files
Include diagrams in comments to make the logic easier to understand
Signed-off-by: Damian Maslanka <[email protected]>
1 parent 7eaec1e commit 7b7286d

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

packages/jaeger-ui/src/components/TracePage/TraceStatistics/tableValues.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,20 +58,32 @@ function computeSelfTime(span: Span, allSpans: Span[]): number {
5858
const spanEndTime = child.startTime + child.duration;
5959
const spanStartsAfterParentEnded = child.startTime > parentSpanEndTime;
6060
const spanEndsBeforePreviousSpan = spanEndTime < previousSpanEndTime;
61+
62+
// parent |..................|
63+
// child |.......|
64+
// child |.....| - spanEndsBeforePreviousSpan is true, skipped
65+
// child |......| - spanStartsAfterParentEnded is true, skipped
6166
if (spanStartsAfterParentEnded || spanEndsBeforePreviousSpan) {
6267
continue;
6368
}
6469

6570
let nonOverlappingStartTime = child.startTime;
6671
let nonOverlappingDuration = child.duration;
67-
6872
const spanStartsBeforePreviousSpanEnds = child.startTime < previousSpanEndTime;
73+
74+
// parent |.....................|
75+
// child |.......|
76+
// child |.....| - spanStartsBeforePreviousSpanEnds is true
77+
// child |.....| - spanStartsBeforePreviousSpanEnds is false
6978
if (spanStartsBeforePreviousSpanEnds) {
7079
const diff = previousSpanEndTime - child.startTime;
7180
nonOverlappingDuration = child.duration - diff;
7281
nonOverlappingStartTime = previousSpanEndTime;
7382
}
7483
// last span which can be included in self time calculation, because it ends after parent span ends
84+
// parent |......................|
85+
// child |.....| - last span included in self time calculation
86+
// child |.........| - skipped
7587
else if (spanEndTime > parentSpanEndTime) {
7688
const diff = spanEndTime - parentSpanEndTime;
7789

0 commit comments

Comments
 (0)