-
Notifications
You must be signed in to change notification settings - Fork 584
Add timeout and headers configuration to ZipkinTracingProvider #3587
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
base: master
Are you sure you want to change the base?
Conversation
- Add timeout field to configure HTTP request timeout to Zipkin collector - Add headers field to allow custom HTTP headers in Zipkin requests This enhancement provides more control over Zipkin collector communication, enabling custom authentication, authorization, and metadata headers.
|
Hi @prashanthjos. Thanks for your PR. I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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-sigs/prow repository. |
|
/ok-to-test |
- Add timeout field to configure HTTP request timeout to Zipkin collector - Add headers field to allow custom HTTP headers in Zipkin requests This enhancement provides more control over Zipkin collector communication, enabling custom authentication, authorization, and metadata headers.
- Add timeout field to configure HTTP request timeout to Zipkin collector - Add headers field to allow custom HTTP headers in Zipkin requests This enhancement provides more control over Zipkin collector communication, enabling custom authentication, authorization, and metadata headers.# On branch master
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.
Generally looks good. Couple of comments
|
|
||
| // Optional. The timeout for the HTTP request to the Zipkin collector. | ||
| // If not specified, the default timeout from Envoy's configuration will be used. | ||
| google.protobuf.Duration timeout = 7; |
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.
Can you please specify what is the current Envoy default?
"the default timeout from Envoy's configuration will be used" -> "the default timeout of 5s(or whatever) will be used"
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.
The default timeout if 5seconds, it exists in the envoy source code here
const uint64_t timeout =
runtime_.snapshot().getInteger("tracing.zipkin.request_timeout", 5000U);
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.
Can you update the protobuf comment?
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.
updated !
|
|
||
| // Optional. Additional HTTP headers to include in the request to the Zipkin collector. | ||
| // These headers will be added to the HTTP request when sending spans to the collector. | ||
| repeated HttpHeader headers = 8; |
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.
wondering if there is a strong use case to add this to Istio APIs now for two reasons
- Increasing API surface area
- This field is new in Envoy. So want to avoid version checks that we do for backward compatibility if possible
It may be generally useful but want to get other @istio/technical-oversight-committee's opinion before approving
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.
Thank you @ramaraochavali. Specifically, this field serves as a uniform mechanism for specifying headers, including existing fields such as collector_host. This field also allows adding Host, authentication or authorization cookies, and other custom headers, this is not possible today.
The intent is to harmonizing existing configuration and improving forward compatibility, creating a cleaner, more extensible interface for header management across telemetry, AuthN/AuthZ, and custom integrations.
- Add timeout field to configure HTTP request timeout to Zipkin collector - Add headers field to allow custom HTTP headers in Zipkin requests This enhancement provides more control over Zipkin collector communication, enabling custom authentication, authorization, and metadata headers.
- Add timeout field to configure HTTP request timeout to Zipkin collector - Add headers field to allow custom HTTP headers in Zipkin requests This enhancement provides more control over Zipkin collector communication, enabling custom authentication, authorization, and metadata headers.
|
@istio/technical-oversight-committee can someone please take a look at this. |
Description
This PR enhances the
ZipkinTracingProviderin MeshConfig with two new configuration options to improve flexibility in communicating with Zipkin collectors:Envoy changes: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/zipkin.proto#:~:text=maintain%20backward%20compatibility.-,collector_service,-(config.core
Changes
Timeout (
timeout)google.protobuf.DurationCustom Headers (
headers)HttpHeadermessageTesting
make genDocumentation
releasenotes/notes/zipkin-tracing-enhancements.yaml