@@ -20,6 +20,8 @@ const SpanBuilder = require('./span-builder')
2020const SpanChunkBuilder = require ( './span-chunk-builder' )
2121const SpanRepository = require ( './trace/span-repository' )
2222const Trace2 = require ( './trace/trace2' )
23+ const AsyncSpanChunkBuilder = require ( './trace/async-span-chunk-builder' )
24+ const ChildTraceBuilder = require ( './trace/child-trace-builder' )
2325
2426class TraceContext {
2527 constructor ( agentInfo , dataSender , config ) {
@@ -33,6 +35,10 @@ class TraceContext {
3335 this . traceSampler = new TraceSampler ( agentInfo , config )
3436 }
3537
38+ getAgentInfo ( ) {
39+ return this . agentInfo
40+ }
41+
3642 continueTraceObject ( requestData ) {
3743 const traceId = new TraceId (
3844 requestData . transactionId ,
@@ -125,14 +131,16 @@ class TraceContext {
125131 const spanBuilder = new SpanBuilder ( traceRoot )
126132 const spanChunkBuilder = new SpanChunkBuilder ( traceRoot )
127133 const repository = new SpanRepository ( spanChunkBuilder , this . dataSender )
128- return new Trace2 ( spanBuilder , repository , this . agentInfo . getServiceType ( ) )
134+ return new Trace2 ( spanBuilder , repository )
129135 }
130136
131137 // DefaultAsyncContext.java: newAsyncContextTrace
132138 // DefaultBaseTraceFactory.java: continueAsyncContextTraceObject
133- continueAsyncContextTraceObject ( traceRoot , asyncId ) {
134- const localAsyncId = asyncId . nextLocalAsyncId2 ( )
135-
139+ // AsyncContextSpanEventEndPointApiAwareInterceptor.java : before
140+ continueAsyncContextTraceObject ( traceRoot , localAsyncId ) {
141+ const spanChunkBuilder = new AsyncSpanChunkBuilder ( traceRoot , localAsyncId )
142+ const repository = new SpanRepository ( spanChunkBuilder , this . dataSender )
143+ return new ChildTraceBuilder ( traceRoot , repository , localAsyncId )
136144 }
137145}
138146
0 commit comments