-
Notifications
You must be signed in to change notification settings - Fork 536
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
telemetry: support lightstep removal and otel addition for envoy tracing #2421
telemetry: support lightstep removal and otel addition for envoy tracing #2421
Conversation
Skipping CI for Draft Pull Request. |
😊 Welcome @douglas-reid! This is either your first contribution to the Istio api repo, or it's been You can learn more about the Istio working groups, code of conduct, and contributing guidelines Thanks for contributing! Courtesy of your friendly welcome wagon. |
6eef37d
to
00d4ed3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems reasonable to me
mesh/v1alpha1/config.proto
Outdated
@@ -702,7 +709,7 @@ message MeshConfig { | |||
uint32 port = 2; | |||
|
|||
// The Lightstep access token. | |||
string access_token = 3; | |||
string access_token = 3 [deprecated=true]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any special reason for this line?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can "safely" transition to OTel provider for service + port, but there is no similar concept of access token. That would mean ignoring access_token
in this configuration, however.. I was thinking it might be useful to have some way of indicating that it would be ignored in generated Envoy configuration moving forward. But I don't feel too strongly here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does that means in the next release of istio, Lightstep provider is mostly same as OTel provider?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @douglas-reid, working on documenting the Lightstep tracer -> OTel migration path. The envoy config setting that replaces access_token
is a special header key/value pair, here's a sample envoy config:
provider:
name: envoy.tracers.opentelemetry
typed_config:
"@type": type.googleapis.com/envoy.config.trace.v3.OpenTelemetryConfig
grpc_service:
envoy_grpc:
cluster_name: localcollector
initial_metadata:
- key: lightstep-access-token
value: "your-lightstep-access-token"
service_name: envoy
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@smithclay thanks! that's very helpful. whenever you complete the migration guide, we'd really appreciate your sharing it here.
@howardjohn @zirain updated this API PR. removed the deprecation bits, but added comments about the expected behavioral changes in 1.15+. I think this gives us room to generate proxy-version specific configuration through the transition. Thoughts? |
@douglas-reid: The following test failed, say
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
we'd better add a warning message in pilot? |
So this is something we need to cherry-pick to release-1.15 as well? |
@douglas-reid I'll leave the prior question about if this needs to be cherry-picked up to you. |
@ericvn i think envoy 1.23 maintains lightstep support in its current form, so I think this is OK waiting for 1.16 (and a full release cycle of burn-in). @smithclay is that a correct interpretation? |
Correct, breaking envoy change is in envoy 1.24.0. Any idea what the propagation mode default is for the Lightstep tracer in the current version of Istio? If it's TRACE_CONTEXT, should be mostly good. |
* Update latest istio/api and fix lint issues * Move back to commit before istio/api#2421
Envoy has dropped support for the custom Lightstep tracer extension. In the associated PRs, the Lightstep team stated that the path forward is the newly-added OpenTelemetry tracer extension. This PR attempts to appropriately deprecate Lightstep configuration and add a provider for OpenTelemetry (so that it can be exploited by the Telemetry API).
Full issue (for discussion): istio/istio#40027