Migrate from OpenCensus to OpenTelemetry
OpenCensus & OpenTracing have merged to form OpenTelemetry (see https://github.com/census-instrumentation/opencensus-go & https://medium.com/opentracing/a-roadmap-to-convergence-b074e5815289).
Knative should to move to instrumenting metrics and traces with OpenTelemetry instead of OpenCensus ahead of OpenCensus getting deprecated.
Looks like OpenTelemetry Go SDK is in beta now: https://github.com/open-telemetry/opentelemetry-go
This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.
/lifecycle frozen /assign @evankanderson @jjzeng-seattle
I have done an evaluation on this topic here are the takeaways. From my POV otel is not ready yet, I would wait for GA. There is also a spike for this in wip status. We discussed this on a community meeting as well.
/unassign
/unassign @jjzeng-seattle
FYI - there's a bridge for OpenCensus => OpenTelemetry
So we can use the OTel exporters and slowly transition the API usage over
https://github.com/open-telemetry/opentelemetry-go/tree/main/bridge/opencensus#user-journey
I think tracing would be the best POC to test this out with
FYI - Bug in metrics/otelhttp handler causes high cardinality https://github.com/open-telemetry/opentelemetry-go-contrib/issues/3765 - fixed in https://github.com/open-telemetry/opentelemetry-go-contrib/pull/4277
When performing the migration we should consider how we name the service -
The suggestion here is that hostname is not a good one because it changes as pods come up and down - https://github.com/knative/serving/pull/14075
Otel go sdk i snow stable wrt metrics. See https://github.com/knative/serving/issues/14486 for pointers. We should define a plan on how to work on this one.