-
Notifications
You must be signed in to change notification settings - Fork 541
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
Add option for LightStep tracing to ProxyConfig #638
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here (e.g. What to do if you already signed the CLAIndividual signers
Corporate signers
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: If they are not already assigned, you can assign the PR to them by writing The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
8fd8d41
to
bbedf5c
Compare
I signed it! |
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.
Thanks for doing this! It would be good to consolidate the tracing config so that we pave the way for other tracers as well.
mesh/v1alpha1/config.proto
Outdated
|
||
// Configuration for a LightStep tracing backend (optional). If set, it will | ||
// take precedence over [zipkinAddress][istio.mesh.v1alpha1.ProxyConfig.zipkin_address]. | ||
LightstepCollector lightstep_collector = 19; |
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.
Mark the zipkin address as deprecated. And create a tracing message that is a one-of between Zipkin/lightstep. something like
message Tracing {
message Zipkin {
address string
}
message LightStep {
...
}
one_of {
Zipkin zipkin;
Lightstep lightstep;
}
}
Tracing tracing
The proxyconfig is internal data structure. We formalized it here for some documentation purposes. So, there is no backward compatibility issues here. It merely translates to the set of CLI args that we pass to the pilot agent [which you will have to update anyway to enable lightstep].
CLAs look good, thanks! |
@rshriram Thanks for the review! I created a consolidated Tracing message as you described. Question: do you think it should be a top-level message or should it be nested within ProxyConfig? I currently have it as a top level message but am happy to change it if you think it would be better off nested. |
/assign @rshriram |
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.
LGTM
I hope you also have a PR in istio/istio for this?
/ok-to-test |
This PR adds configuration for a LightStep tracing backend to the ProxyConfig proto.
A WIP/POC implementation can be found here. When this PR gets finalized I will update and submit the implementation for review.