open-telemetry / opentelemetry-collector-contrib

Contrib repository for the OpenTelemetry Collector
https://opentelemetry.io
Apache License 2.0
3.1k stars 2.38k forks source link

[receiver/kafka] support receive skywalking traces from kafka #28693

Open JaredTan95 opened 1 year ago

JaredTan95 commented 1 year ago

Component(s)

receiver/kafka

Is your feature request related to a problem? Please describe.

The kafkareceiver supportsjaeger and zipkin protocol traces, and can also receive skywalkng traces via skywalkingreceiver.

From the practical use of skywalking, we often use kafka to host large-scale traces data, so I think so it makes sense to support the skywalking protocol in kafka receiver

Describe the solution you'd like

  1. move related translator in skywalkingreceiver/internal into pkg/translator/skywalking similar to jaeger translator
  2. add skywalking_unmarshaler.go in kafkareceiver

Describe alternatives you've considered

No response

Additional context

No response

github-actions[bot] commented 1 year ago

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

VihasMakwana commented 1 year ago

@JaredTan95 Thanks for raising this!

We're moving our unmarshal/marshal logic to a new component, https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding. This makes our code much more maintainable. If you're planning to contribute a PR, please go ahead and add a new component skywalkingencodingextension. If not, let me know. I'll find some time and add this component.

We will soon publish a doc for using this extension.

JaredTan95 commented 1 year ago

@VihasMakwana Thanks for your comments, I am glad to contribute and I will continue to add them.

JaredTan95 commented 1 year ago

We're moving our unmarshal/marshal logic to a new component, https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding.

the extension/enconding is ready to use? I test with zipkin_encoding as https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/encoding#example-configuration described, but I got this error:

* error decoding 'extensions': unknown type: "zipkin_encoding" for id: "zipkin_encoding" (valid values: [zpages asapclient headers_setter http_forwarder db_storage memory_ballast oauth2client k8s_observer oidc sigv4auth docker_observer host_observer awsproxy basicauth bearertokenauth health_check jaegerremotesampling ecs_observer ecs_task_observer pprof file_storage])

VihasMakwana commented 1 year ago

@JaredTan95 I raised https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/28683 a few weeks ago to add extensions. It should work once this gets merged. I'm waiting on approval from someone.

github-actions[bot] commented 10 months ago

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.