@@ -170,8 +170,9 @@ func (tc *listenerTracerComponent) InitializeListenerTrace(
170170 }
171171
172172 return & listenerTracer {
173- parentContext : listenerSpan .Context (),
174- span : listenerSpan ,
173+ listenerTracerComponent : tc ,
174+ parentContext : listenerSpan .Context (),
175+ span : listenerSpan ,
175176 }
176177}
177178
@@ -188,8 +189,9 @@ func (tc *listenerTracerComponent) CreateListenerTrace(
188189 }
189190
190191 return & listenerTracer {
191- parentContext : listenerSpan .Context (),
192- span : listenerSpan ,
192+ listenerTracerComponent : tc ,
193+ parentContext : listenerSpan .Context (),
194+ span : listenerSpan ,
193195 }
194196}
195197
@@ -212,9 +214,20 @@ func (tracer *opTracer) RootContext() RequestSpanContext {
212214 return tracer .parentContext
213215}
214216
217+ type ListenerTrace interface {
218+ CreateChildTrace (operationName string , attributes map [string ]interface {}) * listenerTracer
219+ Finish ()
220+ ParentContext () RequestSpanContext
221+ }
222+
215223type listenerTracer struct {
216- parentContext RequestSpanContext
217- span RequestSpan
224+ listenerTracerComponent ListenerTracerComponent
225+ parentContext RequestSpanContext
226+ span RequestSpan
227+ }
228+
229+ func (tracer * listenerTracer ) CreateChildTrace (operationName string , attributes map [string ]interface {}) * listenerTracer {
230+ return tracer .listenerTracerComponent .CreateListenerTrace (tracer , operationName , attributes )
218231}
219232
220233func (tracer * listenerTracer ) Finish () {
@@ -223,7 +236,7 @@ func (tracer *listenerTracer) Finish() {
223236 }
224237}
225238
226- func (tracer * listenerTracer ) RootContext () RequestSpanContext {
239+ func (tracer * listenerTracer ) ParentContext () RequestSpanContext {
227240 if tracer .span != nil {
228241 return tracer .span .Context ()
229242 }
0 commit comments