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

OpenTelemetry.Exporter.Geneva: Compatibility with Fluent Bit #2574

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

dceravigupta
Copy link

@dceravigupta dceravigupta commented Feb 24, 2025

Design discussion issue #
Currently, Traces and Logs emitted by OpenTelemetry.Exporter.Geneva package in Forward protocol format are not compatible with Fluent Bit's forward input plugin (tried with fluent-bit v3.0.6) and it fails to process those events with the following error:

image

where -8 error code means FLB_EVENT_DECODER_ERROR_WRONG_TIMESTAMP_TYPE
image

Changes

To make it compatible, as part of this PR, I applied the same strategy which Fluent Bit uses as part of forward output plugin where it has capability to send timestamp in the form of integer.
image

After applying the change, I was able to validate both Traces and Logs working e2e with Fluent Bit.

fluent-bit -i forward -p unix_path=./fluentbit.socket -o stdout =p match=* -v

image

Please provide a brief description of the changes here.

Merge requirement checklist

  • CONTRIBUTING guidelines followed (license requirements, nullable enabled, static analysis, etc.)
  • Unit tests added/updated
  • Appropriate CHANGELOG.md files updated for non-trivial changes
  • Changes in public API reviewed (if applicable)

@dceravigupta dceravigupta requested a review from a team as a code owner February 24, 2025 21:16
Copy link

linux-foundation-easycla bot commented Feb 24, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

@xiang17
Copy link
Contributor

xiang17 commented Feb 24, 2025

What is the name and version of this "latest Fluent Bit's forward input plugin"? Can you give a link?

If the existing exporter and fluentd has been working and this new version is breaking. Would it be more appropriate to apply a fix in this new version?

@dceravigupta
Copy link
Author

@xiang17 I have updated the post to include the fluent bit version I have tried i.e. fluent-bit v3.0.6.
https://docs.fluentbit.io/manual/dev-3.0/pipeline/inputs/forward

Before making this change, I also looked at fluent bit code base as well and the code on the fluent bit is the same since it was first written, hence feel it is not a regression and existing exporter never worked with fluent bit.

fluent/fluent-bit@9aa10d2
image

@xiang17
Copy link
Contributor

xiang17 commented Feb 25, 2025

Can you sign the EasyCLA?

@dceravigupta
Copy link
Author

@xiang17 EasyCLA done.

@dceravigupta
Copy link
Author

dceravigupta commented Feb 27, 2025

@xiang17 wondering whom all I need to get this PR approved?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:exporter.geneva Things related to OpenTelemetry.Exporter.Geneva
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants