File tree Expand file tree Collapse file tree 3 files changed +17
-1
lines changed Expand file tree Collapse file tree 3 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -167,7 +167,7 @@ export class Span implements SpanInterface {
167167    if  ( spanContext . endTimestamp )  { 
168168      this . _endTime  =  spanContext . endTimestamp ; 
169169    } 
170-     if  ( spanContext . exclusiveTime )  { 
170+     if  ( spanContext . exclusiveTime   !==   undefined )  { 
171171      this . _exclusiveTime  =  spanContext . exclusiveTime ; 
172172    } 
173173    this . _measurements  =  spanContext . measurements  ? {  ...spanContext . measurements  }  : { } ; 
Original file line number Diff line number Diff line change @@ -56,6 +56,21 @@ describe('span', () => {
5656      expect ( span . name ) . toEqual ( 'new name' ) ; 
5757      expect ( span . description ) . toEqual ( 'new name' ) ; 
5858    } ) ; 
59+ 
60+     it ( 'allows exclusiveTime to be set' ,  ( )  =>  { 
61+       const  span  =  new  Span ( {  name : 'span name' ,  exclusiveTime : 100  } ) ; 
62+       expect ( spanToJSON ( span ) . exclusive_time ) . toEqual ( 100 ) ; 
63+     } ) ; 
64+ 
65+     it ( 'allows exclusiveTime to be zero' ,  ( )  =>  { 
66+       const  span  =  new  Span ( {  name : 'span name' ,  exclusiveTime : 0  } ) ; 
67+       expect ( spanToJSON ( span ) . exclusive_time ) . toEqual ( 0 ) ; 
68+     } ) ; 
69+ 
70+     it ( 'drops undefined exclusiveTime' ,  ( )  =>  { 
71+       const  span  =  new  Span ( {  name : 'span name' ,  exclusiveTime : undefined  } ) ; 
72+       expect ( Object . keys ( spanToJSON ( span ) ) . includes ( 'exclusive_time' ) ) . toBe ( false ) ; 
73+     } ) ; 
5974  } ) ; 
6075  /* eslint-enable deprecation/deprecation */ 
6176
Original file line number Diff line number Diff line change @@ -57,6 +57,7 @@ export interface SpanJSON {
5757  trace_id : string ; 
5858  origin ?: SpanOrigin ; 
5959  _metrics_summary ?: Record < string ,  Array < MetricSummary > > ; 
60+   exclusive_time ?: number ; 
6061} 
6162
6263// These are aligned with OpenTelemetry trace flags 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments