Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support more encodings for kafka.consumer in OTel Ingester
Browse files Browse the repository at this point in the history
Signed-off-by: Sam Xie <xsambundy@gmail.com>
XSAM committed Oct 20, 2020
1 parent 3d99871 commit ce6ff12
Showing 4 changed files with 36 additions and 1 deletion.
7 changes: 6 additions & 1 deletion cmd/ingester/app/flags.go
Original file line number Diff line number Diff line change
@@ -114,7 +114,12 @@ func AddOTELFlags(flagSet *flag.FlagSet) {
flagSet.String(
KafkaConsumerConfigPrefix+SuffixEncoding,
DefaultEncoding,
fmt.Sprintf(`The encoding of spans ("%s") consumed from kafka`, strings.Join(kafka.AllEncodings, "\", \"")))
fmt.Sprintf(`The encoding of spans ("%s") consumed from kafka`, strings.Join(
append(kafka.AllEncodings,
kafka.EncodingZipkinJSON,
kafka.EncodingZipkinProto,
kafka.EncodingOTLPProto,
), "\", \"")))
auth.AddFlags(KafkaConsumerConfigPrefix, flagSet)
}

Original file line number Diff line number Diff line change
@@ -145,6 +145,14 @@ func MustOtelEncodingForJaegerEncoding(jaegerEncoding string) string {
return "jaeger_proto"
case kafka.EncodingJSON:
return "jaeger_json"
case kafka.EncodingOTLPProto:
return "otlp_proto"
case kafka.EncodingZipkinProto:
return "zipkin_proto"
case kafka.EncodingZipkinJSON:
return "zipkin_json"
case kafka.EncodingZipkinThrift:
return "zipkin_thrift"
}

panic(jaegerEncoding + " is not a supported kafka encoding in the OTEL collector.")
Original file line number Diff line number Diff line change
@@ -104,6 +104,22 @@ func TestMustOtelEncodingForJaegerEncoding(t *testing.T) {
in: kafka.EncodingJSON,
expected: "jaeger_json",
},
{
in: kafka.EncodingOTLPProto,
expected: "otlp_proto",
},
{
in: kafka.EncodingZipkinProto,
expected: "zipkin_proto",
},
{
in: kafka.EncodingZipkinJSON,
expected: "zipkin_json",
},
{
in: kafka.EncodingZipkinThrift,
expected: "zipkin_thrift",
},
{
in: "not-an-encoding",
expectsPanic: true,
6 changes: 6 additions & 0 deletions plugin/storage/kafka/options.go
Original file line number Diff line number Diff line change
@@ -34,6 +34,12 @@ const (
EncodingProto = "protobuf"
// EncodingZipkinThrift is used for spans encoded as Zipkin Thrift.
EncodingZipkinThrift = "zipkin-thrift"
// EncodingZipkinProto is used for spans encoded as Zipkin Protobuf.
EncodingZipkinProto = "zipkin-proto"
// EncodingZipkinJSON is used for spans encoded as Zipkin JSON.
EncodingZipkinJSON = "zipkin-json"
// EncodingOTLPProto is used for spans encoded as OTLP Protobuf.
EncodingOTLPProto = "otlp-proto"

configPrefix = "kafka.producer"
suffixBrokers = ".brokers"

0 comments on commit ce6ff12

Please sign in to comment.