-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Move to OpenTelemetry for metrics #8800
Comments
We should be careful about performance here based on learnings from libp2p, see eg libp2p/go-libp2p#1955. That issue is specifically about OpenCensus, not OTel, but I don't know what the perf characteristics of OTel are. Prometheus is very performant. |
@Jorropo : did I understand correctly that you did this work recently? |
Not really, I updated opentelemetry but it's rather not falling behind, the work I did (ipfs/boxo#532) only fixes our tracing code. |
It's unclear to me the value of this issue except consolidation, our current metrics code work for better or worst. It has rough edges in some places but I don't see any issue that would be fixed by doing this. |
Thanks @Jorropo . In that case, I'll close for now as "not planned". We can reopen if there's a compelling reason. |
Checklist
Description
go-ipfs should migrate to OpenTelemetry for metrics, now that the Metrics API is stable (and the Go implementation is imminently stable), and we are using it for tracing. OpenCensus is on life support as most industry resources have moved to developing OpenTelemetry. There are also places in our code that are Prometheus-specific, which should be changed to use OpenTelemetry.
There are some options here, as there is an OpenCensus -> OpenTelemetry bridge that would ease such a migration, but it has limitations and caveats (I don't know the specifics). We should try out the bridge first and see if it works, so that we can turn on the OTLP exporter. We should also keep a Prometheus exporter by default, for backwards compatibility with the
/debug/metrics/prometheus
endpoint, but it should be on a deprecation path as OTLP is implementation-agnostic.The text was updated successfully, but these errors were encountered: