Skip to content
This repository was archived by the owner on Oct 3, 2023. It is now read-only.

Commit 1aea7a9

Browse files
skjindal93draffensperger
authored andcommitted
Custom end time for span (#95)
1 parent 82464ed commit 1aea7a9

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

packages/opencensus-web-core/src/trace/model/span.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,9 @@ export class Span implements webTypes.Span {
261261

262262
/** Ends the span by setting `endTime` to now. */
263263
end() {
264-
this.endPerfTime = performance.now();
264+
if (this.endPerfTime === 0) {
265+
this.endPerfTime = performance.now();
266+
}
265267
}
266268

267269
/** Forces the span to end. Same as `end` for opencensus-web. */

packages/opencensus-web-core/test/test-span.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,12 @@ describe('Span', () => {
9595
expect(span.endPerfTime).toBe(33);
9696
});
9797

98+
it('does not set endPerfTime when end is called, if endPerfTime is already set', () => {
99+
span.endPerfTime = 22;
100+
span.end();
101+
expect(span.endPerfTime).toBe(22);
102+
});
103+
98104
it('sets endPerfTime when truncate is called', () => {
99105
spyOn(performance, 'now').and.returnValue(77);
100106
span.truncate();

0 commit comments

Comments
 (0)