-
Notifications
You must be signed in to change notification settings - Fork 60
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
Support OTel collector in flagd #563
Comments
I will start working on this :) |
I researched on this topic and now have a working solution inspired by OTEL demo [1]. With the knowledge, I have few questions to clarify so that I can finalize the first version of the implementation.
A solution I see is to switch behavior based on the startup flag
And regarding traces, I will start with a simple trace which we can expand on later. Let me know your opinion @beeme1mr @thisthat @toddbaert :) [1] - https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/examples/demo note - draft work (works on my machine 😉) #586 |
I agree that at the moment, Jaeger is not necessary since we don't provide any trace. To provide flexibility, we could use the env var |
Hey @Kavindu-Dodan, there's another issue open for adding distributed traces to flagd. You can see that here. I agree with @thisthat that we should leave the Prometheus exporter as the default. We just need to figure out a way to allow users to change metric exporter. Perhaps we could do something similar to the source configuration. That would make it easy to use cli flags when the use case is simple and a configuration when it becomes more complex. The |
Thank you @thisthat & @beeme1mr for the feedback. Can we have the following agreement then:
|
## This PR Fixes #563 Introduce configurations for flagd to connect to OTEL collector. Also, improves how telemetry configurations are handled. Changes include, - Package renaming - otel to telemetry - This avoids import conflicts - Introduce a telemetry builder - The intention is to have a central location to handle telemetry configurations and build telemetry components - Introduce a span processor builder - Provide groundwork for #575 (needs fallback mechanism) ## How to test? Consider following this guide - (doc generated from commit) https://github.com/open-feature/flagd/blob/81c66b3c89540b475fe0a46ac89869800f7b74ae/docs/configuration/flagd_telemetry.md In short, - create configuration files (docker-compose yaml, collector config yaml, Prometheus yaml ) - start collector setup (docker-compose up) - start flagd with otel collector override for metrics (`flagd start --uri file:/flags.json --metrics-exporter otel --otel-collector-target localhost:4317`) Metrics will be available at Prometheus(http://localhost:9090/graph). Traces are still missing as we have to implement them. --------- Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com> Signed-off-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com> Co-authored-by: Giovanni Liva <giovanni.liva@dynatrace.com>
In order to get data into OTel, we need to be able to configure flagd to communicate with a collector. This entails:
The text was updated successfully, but these errors were encountered: