@@ -42,61 +42,61 @@ function getChildOfSpans(parentID: string, allSpans: Span[]): Span[] {
42
42
return memoizedParentChildOfMap ( allSpans ) [ parentID ] || [ ] ;
43
43
}
44
44
45
- function computeSelfTime ( span : Span , allSpans : Span [ ] ) : number {
46
- if ( ! span . hasChildren ) return span . duration ;
45
+ function computeSelfTime ( parentSpan : Span , allSpans : Span [ ] ) : number {
46
+ if ( ! parentSpan . hasChildren ) return parentSpan . duration ;
47
47
48
- let spanSelfTime = span . duration ;
49
- let previousSpanEndTime = span . startTime ;
48
+ let parentSpanSelfTime = parentSpan . duration ;
49
+ let previousChildEndTime = parentSpan . startTime ;
50
50
51
- const children = getChildOfSpans ( span . spanID , allSpans ) . sort ( ( a , b ) => a . startTime - b . startTime ) ;
51
+ const children = getChildOfSpans ( parentSpan . spanID , allSpans ) . sort ( ( a , b ) => a . startTime - b . startTime ) ;
52
52
53
- const parentSpanEndTime = span . startTime + span . duration ;
53
+ const parentSpanEndTime = parentSpan . startTime + parentSpan . duration ;
54
54
55
55
for ( let index = 0 ; index < children . length ; index ++ ) {
56
56
const child = children [ index ] ;
57
57
58
- const spanEndTime = child . startTime + child . duration ;
59
- const spanStartsAfterParentEnded = child . startTime > parentSpanEndTime ;
60
- const spanEndsBeforePreviousSpan = spanEndTime < previousSpanEndTime ;
58
+ const childEndTime = child . startTime + child . duration ;
59
+ const childStartsAfterParentEnded = child . startTime > parentSpanEndTime ;
60
+ const childEndsBeforePreviousChild = childEndTime < previousChildEndTime ;
61
61
62
62
// parent |..................|
63
63
// child |.......|
64
- // child |.....| - spanEndsBeforePreviousSpan is true, skipped
65
- // child |......| - spanStartsAfterParentEnded is true, skipped
66
- if ( spanStartsAfterParentEnded || spanEndsBeforePreviousSpan ) {
64
+ // child |.....| - childEndsBeforePreviousChild is true, skipped
65
+ // child |......| - childStartsAfterParentEnded is true, skipped
66
+ if ( childStartsAfterParentEnded || childEndsBeforePreviousChild ) {
67
67
continue ;
68
68
}
69
69
70
70
let nonOverlappingStartTime = child . startTime ;
71
71
let nonOverlappingDuration = child . duration ;
72
- const spanStartsBeforePreviousSpanEnds = child . startTime < previousSpanEndTime ;
72
+ const childStartsBeforePreviousChildEnds = child . startTime < previousChildEndTime ;
73
73
74
74
// parent |.....................|
75
75
// child |.......|
76
- // child |.....| - spanStartsBeforePreviousSpanEnds is true
77
- // child |.....| - spanStartsBeforePreviousSpanEnds is false
78
- if ( spanStartsBeforePreviousSpanEnds ) {
79
- const diff = previousSpanEndTime - child . startTime ;
76
+ // child |.....| - childStartsBeforePreviousChildEnds is true
77
+ // child |.....| - childStartsBeforePreviousChildEnds is false
78
+ if ( childStartsBeforePreviousChildEnds ) {
79
+ const diff = previousChildEndTime - child . startTime ;
80
80
nonOverlappingDuration = child . duration - diff ;
81
- nonOverlappingStartTime = previousSpanEndTime ;
81
+ nonOverlappingStartTime = previousChildEndTime ;
82
82
}
83
83
// last span which can be included in self time calculation, because it ends after parent span ends
84
84
// parent |......................|
85
85
// child |.....| - last span included in self time calculation
86
86
// child |.........| - skipped
87
- else if ( spanEndTime > parentSpanEndTime ) {
88
- const diff = spanEndTime - parentSpanEndTime ;
87
+ else if ( childEndTime > parentSpanEndTime ) {
88
+ const diff = childEndTime - parentSpanEndTime ;
89
89
90
90
nonOverlappingDuration = child . duration - diff ;
91
- spanSelfTime -= nonOverlappingDuration ;
91
+ parentSpanSelfTime -= nonOverlappingDuration ;
92
92
break ;
93
93
}
94
94
95
- spanSelfTime -= nonOverlappingDuration ;
96
- previousSpanEndTime = nonOverlappingStartTime + nonOverlappingDuration ;
95
+ parentSpanSelfTime -= nonOverlappingDuration ;
96
+ previousChildEndTime = nonOverlappingStartTime + nonOverlappingDuration ;
97
97
}
98
98
99
- return spanSelfTime ;
99
+ return parentSpanSelfTime ;
100
100
}
101
101
102
102
function computeColumnValues ( trace : Trace , span : Span , allSpans : Span [ ] , resultValue : StatsPerTag ) {
0 commit comments