telemetry: add support for the OTel provider#40032
telemetry: add support for the OTel provider#40032istio-testing merged 5 commits intoistio:masterfrom
Conversation
|
Skipping CI for Draft Pull Request. |
ed81b87 to
9232008
Compare
c79fb6d to
1ca8b68
Compare
|
@smithclay @zirain @howardjohn please take another look. i think this might allow us to support the transition across upgrades, etc. |
1ca8b68 to
37e911e
Compare
|
Not all Istio distributions come with all extensions. If you want to be extra strict, you could check node metadata for whether an extension has been compiled-in. |
908fd34 to
cf81429
Compare
3caa864 to
e1f9b6d
Compare
Co-authored-by: Eric Van Norman <ericvn@us.ibm.com>
9c328cb to
f0499c3
Compare
ericvn
left a comment
There was a problem hiding this comment.
Tests and release note looks good
| useOTel := util.IsIstioVersionGE116(model.ParseIstioVersion(meta.IstioVersion)) | ||
| if useOTel { | ||
| tracing, err = buildHCMTracing(pushCtx, envoyOpenTelemetry, provider.Lightstep.Service, provider.Lightstep.Port, provider.Lightstep.MaxTagLength, | ||
| func(hostname, clusterName string) (*anypb.Any, error) { |
There was a problem hiding this comment.
nit: To be consistent, abstract a function as other provider
could be in a follow up
| // for lightstep for everything before 1.16, but OTel-based configuration for all other cases | ||
| useOTel := util.IsIstioVersionGE116(model.ParseIstioVersion(meta.IstioVersion)) | ||
| if useOTel { | ||
| tracing, err = buildHCMTracing(pushCtx, envoyOpenTelemetry, provider.Lightstep.Service, provider.Lightstep.Port, provider.Lightstep.MaxTagLength, |
There was a problem hiding this comment.
is the provider correct here?
or provider.Opentelemetry.Service, provider.Opentelemetry.Port..?
This PR adds support for the new OpenTelemetry tracer extension in Envoy. At the same time, it migrates Lightstep providers to the new OpenTelemetry provider (as the Lightstep tracer extension has been removed from Envoy) for future versions of Istio 1.16+.
In pursuit of this goal, the PR also updates the generated tracing config to match envoy documentation (envoy configuration provider name should match envoy extension name), and refactors an existing test suite for OpenCensus agents to also handle OTLP integrations. Additionally, the OTel collector testing component is updated to a more recent version.
To support OTel integrations, an Envoy gRPC endpoint is configured with the cluster name derived from the service/port specification in the provider config.
Issue: #40027