-
Notifications
You must be signed in to change notification settings - Fork 190
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 deployment or API integration #659
Comments
for api migration, maybe we need to double check if open telemetry supports all kinds of kepler metrics today. |
meeting 30: implement otel api client in kepler and emit telemetry directly. Hopefully there is a way to convert metrics to telemetry. @husky-parul will take the first try. previous discussion is here |
Just verified and we can export OpenTelemetric metrics and then by using OpenTelemetry Collector we can also expose metrics to Prometheus. Therefore If the user has OpenTelemetry Collector deployed in the Cluster, Kepler does not need to export Prometheus metrics. So we need to make it configurable and avoid duplications. That is, if OpenTelemetry metrics are enabled, we should disable Prometheus metrics and vice-versa. |
Recap Towards our migration to OpenTelemetry Mterics from Prometheus metrics to allow vendor- and tool-agnostic observability Before starting with the migration I was looking into kepler code to identify metrics type. So far I see kepler uses only Otel SDK supports Synchronous Counter and Asynchronous GaugeObserver. They have highlights a point about GaugeObserver:
It should not affect our implementation though. |
This is awesome @husky-parul! WRT metric types, make sure to use Gauge only for metrics that are usually not summable (additive), like temperature, ratios, etc. For other metrics that move "up and down", like measured electrical power, you should use UpDownCounter. See OpenTelemetry Supplementary Guidelines about this. |
I am proposing the following. @sustainable-computing-io/maintainer please TAL. Let me know if you have any questions. Components Instrumentation: OTEL Collector: Exporters: Data Storage: Grafana Data Source: Visualization in Grafana: |
When using the Prometheus exporter, I recommend enabling the normalization of metric names with this flag: |
@husky-parul this looks great! Look forward to this happening! |
Looks good to me! Thanks for working on this! |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
I don't think this is stale. |
It is not stale. I am working on this and a demo/PR is WIP. |
Also good news: future version of Prometheus will be capable of ingesting Otel metrics, and the mechanism to translate Otel metrics to Prometheus metrics is the one I mentioned earlier. |
thank you @bertysentry for the info! We are going to make this happen in the next release milestone. Stay tuned! |
@husky-parul that #659 (comment) is great. Do you already have some updates? @rootfs Just out of curiosity, is there a timeline for the next milestone? |
Thanks for sharing the information.
@frzifus Otel integration will be part of our next release which will be part of 0.7 in this case. Our releases takes place every 6 months, so it will be happening in Q1 of 2024 |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
are we done for this ticket? @rootfs |
Any documentation for using otel to collect metrics from kepler? Thanks |
https://github.com/husky-parul/otel-observability Please try this. We haven’t merged this doc into Kepler website yet. |
For deployment integration, evaluate the architecture of metrics -> telemetry adapter
For API integration, evaluate telemetry client scalability in kepler
The text was updated successfully, but these errors were encountered: