Skip to content

Commit e509def

Browse files
authored
feat: Public ListenerTrace api implementation (#136)
1 parent 47844a8 commit e509def

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

tracing/tracing.go

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
215223
type 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

220233
func (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

Comments
 (0)