@@ -23,35 +23,42 @@ import (
23
23
"github.com/jaegertracing/jaeger/storage/spanstore"
24
24
)
25
25
26
- //go:generate mockery -name=SpanProcessor
26
+ //go:generate mockery -name=KafkaSpanProcessor
27
27
28
28
// SpanProcessor processes kafka spans
29
29
type SpanProcessor interface {
30
30
Process (input Message ) error
31
31
io.Closer
32
32
}
33
33
34
- type spanProcessor struct {
35
- unmarshaller kafka.Unmarshaller
36
- writer spanstore.Writer
37
- io.Closer
38
- }
39
-
40
34
// Message contains the fields of the kafka message that the span processor uses
41
35
type Message interface {
42
36
Value () []byte
43
37
}
44
38
45
- // NewSpanProcessor creates a new SpanProcessor
46
- func NewSpanProcessor (writer spanstore.Writer , unmarshaller kafka.Unmarshaller ) SpanProcessor {
47
- return & spanProcessor {
48
- unmarshaller : unmarshaller ,
49
- writer : writer ,
39
+ // SpanProcessorParams stores the necessary parameters for a SpanProcessor
40
+ type SpanProcessorParams struct {
41
+ Writer spanstore.Writer
42
+ Unmarshaller kafka.Unmarshaller
43
+ }
44
+
45
+ // KafkaSpanProcessor implements SpanProcessor for Kafka messages
46
+ type KafkaSpanProcessor struct {
47
+ unmarshaller kafka.Unmarshaller
48
+ writer spanstore.Writer
49
+ io.Closer
50
+ }
51
+
52
+ // NewSpanProcessor creates a new KafkaSpanProcessor
53
+ func NewSpanProcessor (params SpanProcessorParams ) KafkaSpanProcessor {
54
+ return KafkaSpanProcessor {
55
+ unmarshaller : params .Unmarshaller ,
56
+ writer : params .Writer ,
50
57
}
51
58
}
52
59
53
60
// Process unmarshals and writes a single kafka message
54
- func (s spanProcessor ) Process (message Message ) error {
61
+ func (s KafkaSpanProcessor ) Process (message Message ) error {
55
62
mSpan , err := s .unmarshaller .Unmarshal (message .Value ())
56
63
if err != nil {
57
64
return errors .Wrap (err , "cannot unmarshall byte array into span" )
0 commit comments