@@ -33,6 +33,8 @@ export class RootSpan extends SpanBase implements types.RootSpan {
3333 private traceStateLocal : types . TraceState ;
3434 /** set isRootSpan = true */
3535 readonly isRootSpan = true ;
36+ /** A number of children. */
37+ private numberOfChildrenLocal : number ;
3638
3739 /**
3840 * Constructs a new RootSpanImpl instance.
@@ -56,6 +58,7 @@ export class RootSpan extends SpanBase implements types.RootSpan {
5658 context && context . kind ? context . kind : types . SpanKind . UNSPECIFIED ;
5759 this . logger = tracer . logger || logger . logger ( ) ;
5860 this . activeTraceParams = tracer . activeTraceParams ;
61+ this . numberOfChildrenLocal = 0 ;
5962 }
6063
6164 /** Gets span list from rootspan instance. */
@@ -73,6 +76,11 @@ export class RootSpan extends SpanBase implements types.RootSpan {
7376 return this . traceStateLocal ;
7477 }
7578
79+ /** Gets the number of child span created for this span. */
80+ get numberOfChildren ( ) : number {
81+ return this . numberOfChildrenLocal ;
82+ }
83+
7684 /** Starts a rootspan instance. */
7785 start ( ) {
7886 super . start ( ) ;
@@ -121,6 +129,7 @@ export class RootSpan extends SpanBase implements types.RootSpan {
121129 this . className , { id : this . id , name : this . name , kind : this . kind } ) ;
122130 return null ;
123131 }
132+ this . numberOfChildrenLocal ++ ;
124133 const newSpan = new Span ( this ) ;
125134 let spanName ;
126135 let spanKind ;
0 commit comments