63 lines
1.4 KiB
Go
63 lines
1.4 KiB
Go
|
package loggabletracer
|
||
|
|
||
|
import "github.com/opentracing/opentracing-go"
|
||
|
|
||
|
// A SpanEvent is emitted when a mutating command is called on a Span.
|
||
|
type SpanEvent interface{}
|
||
|
|
||
|
// EventCreate is emitted when a Span is created.
|
||
|
type EventCreate struct{ OperationName string }
|
||
|
|
||
|
// EventTag is received when SetTag is called.
|
||
|
type EventTag struct {
|
||
|
Key string
|
||
|
Value interface{}
|
||
|
}
|
||
|
|
||
|
// EventBaggage is received when SetBaggageItem is called.
|
||
|
type EventBaggage struct {
|
||
|
Key, Value string
|
||
|
}
|
||
|
|
||
|
// EventLogFields is received when LogFields or LogKV is called.
|
||
|
type EventLogFields opentracing.LogRecord
|
||
|
|
||
|
// EventLog is received when Log (or one of its derivatives) is called.
|
||
|
//
|
||
|
// DEPRECATED
|
||
|
type EventLog opentracing.LogData
|
||
|
|
||
|
// EventFinish is received when Finish is called.
|
||
|
type EventFinish RawSpan
|
||
|
|
||
|
func (s *spanImpl) onCreate(opName string) {
|
||
|
if s.event != nil {
|
||
|
s.event(EventCreate{OperationName: opName})
|
||
|
}
|
||
|
}
|
||
|
func (s *spanImpl) onTag(key string, value interface{}) {
|
||
|
if s.event != nil {
|
||
|
s.event(EventTag{Key: key, Value: value})
|
||
|
}
|
||
|
}
|
||
|
func (s *spanImpl) onLog(ld opentracing.LogData) {
|
||
|
if s.event != nil {
|
||
|
s.event(EventLog(ld))
|
||
|
}
|
||
|
}
|
||
|
func (s *spanImpl) onLogFields(lr opentracing.LogRecord) {
|
||
|
if s.event != nil {
|
||
|
s.event(EventLogFields(lr))
|
||
|
}
|
||
|
}
|
||
|
func (s *spanImpl) onBaggage(key, value string) {
|
||
|
if s.event != nil {
|
||
|
s.event(EventBaggage{Key: key, Value: value})
|
||
|
}
|
||
|
}
|
||
|
func (s *spanImpl) onFinish(sp RawSpan) {
|
||
|
if s.event != nil {
|
||
|
s.event(EventFinish(sp))
|
||
|
}
|
||
|
}
|