Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: Support accepting OTLP via Kafka #3949

Closed
yurishkuro opened this issue Oct 6, 2022 · 15 comments
Closed

[Feature]: Support accepting OTLP via Kafka #3949

yurishkuro opened this issue Oct 6, 2022 · 15 comments
Labels
enhancement good first issue Good for beginners help wanted Features that maintainers are willing to accept but do not have cycles to implement

Comments

@yurishkuro
Copy link
Member

Requirement

As a user of OpenTelemetry Collector, I would like to send OTLP-encoded data to Jaeger.

Problem

Jaeger ingester today only understands 3 formats, json (Jaeger Protobuf as JSON), protobuf (Jaeger Protobuf), and zipkin-thrift.

Proposal

Add two more recognized encodings, otlp-json and otlp-proto.

It should be fairly simple to implement since we already import OTLP->Jaeger decoders when receiving OTLP via RPC.

Open questions

No response

@yurishkuro yurishkuro added enhancement help wanted Features that maintainers are willing to accept but do not have cycles to implement good first issue Good for beginners labels Oct 6, 2022
@NonsoAmadi10
Copy link

Hello Yurishkuro, can I be assigned to this please? I want this to be my first open source contribution

@NonsoAmadi10
Copy link

Also what guide can I follow as to how I can make my Pull Request?

@NonsoAmadi10
Copy link

Quick question @yurishkuro , I noticed I would be requiring a marshal and an unmashaller for both encodings, Is this alright?

@yurishkuro
Copy link
Member Author

Also what guide can I follow as to how I can make my Pull Request?

Are you asking in general how to do it on GitHub [1], or specifically in Jaeger project [2]?

I would be requiring a marshal and an unmashaller for both encodings, Is this alright?

I think you only need to unmarshall

switch options.Encoding {

But when introducing a new encoding you probably don't want it to be available as output encoding of the collector, only the input encoding in the ingester. We probably don't support such asymmetry cleanly at the moment. The simplest solution is to fail collector at startup if otlp is selected at output encoding. But if you can implement bidirectional marshalling, thenwe could go with full symmetric support (OTEL contrib does have translation of OTLP to and from Jaeger proto).

@NonsoAmadi10
Copy link

Wow, alright. I would keep this in mind while implementing. Thank you Yuri!! I'd be raising my first PR soon for you to look and give feedback

@vishal-chdhry
Copy link

Hi! Can I take up this issue?

@yurishkuro
Copy link
Member Author

@vishal-chdhry give it a try

@SaarthakMaini
Copy link
Contributor

Hello,

Has this issue been resolved ?

If not , may I work on this issue?

Thank You!

@yurishkuro
Copy link
Member Author

@SaarthakMaini there is a PR in progress, but the author did not come back to it since Dec.
If you want to pick it up, see #4049 (comment)

@metapox
Copy link

metapox commented Mar 10, 2023

Hello, Can I give this a try?

@gebn
Copy link

gebn commented Aug 7, 2023

It looks like there have been several false starts for this feature. Is there some inherent complexity with it? I'm definitely in a position to contribute if the logging library is the primary thing holding back #4333.

@yurishkuro
Copy link
Member Author

afaik there are no specific blockers other than cleaning up the PR

@gebn
Copy link

gebn commented Aug 7, 2023

Great! For posterity, did batching on the OTel Collector turn out not to be an issue? [1] Partitioning by trace ID sounds sensible.

@yurishkuro
Copy link
Member Author

#4333 introduces batching API, but only within the Kafka consumer. I think it's a sufficient first step, and the overall Storage API batching could be done in the future if necessary/

@yurishkuro
Copy link
Member Author

yurishkuro commented Dec 22, 2023

I am going to close this, it will be solved by jaeger-v2 using official OTEL Kafka receiver -- #4868.

@yurishkuro yurishkuro reopened this May 15, 2024
@yurishkuro yurishkuro closed this as not planned Won't fix, can't repro, duplicate, stale May 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement good first issue Good for beginners help wanted Features that maintainers are willing to accept but do not have cycles to implement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants