-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
[jaeger-v2] Align Query Service Config With OTEL #5996
Comments
## Which problem is this PR solving? - Part of #5996 ## Description of the changes - Reworked the configuration for `jaeger-query` to have more logical groupings. - [Migration document](https://docs.google.com/document/d/1-01QRgMFWbHGXXJqs5cL4kA-P10BfU0TD9Kvp3rEw3M/edit?usp=sharing) ## How was this change tested? - CI ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: Mahad Zaryab <mahadzaryab1@gmail.com>
this box is checked, is it correct? |
@yurishkuro The migration guide is linked in the PR description. Is that what you were asking? Let me know if I misunderstood. |
@yurishkuro Should we do the migration for v1 to OTEL HTTP/GRPC configurations as part of this issue? |
Sorry, not seeing migration guide. On migrating servers - would be nice, minimize the differences. But ok to leave as is too. |
@yurishkuro Here it is. It was linked in the PR. My apologies if it wasn't very visible. |
@yurishkuro It looks pretty doable for the most part. There's just one part that isn't super compatible. |
We can converge to OTEL ones. I doubt if our cli actually allows to specify []string for each header. |
Thanks, I copied the migration guide to a document I own https://docs.google.com/document/d/1ydTrEtIqJZxGb0RBkUAW-ZIaHNijo1pZSrn1TDSK-LU/edit# |
No worries! I've done the same for the rest of the PRs in case you wanted to copy those over as well. |
@yurishkuro This is how the flag is specified flagSet.Var(&config.StringSlice{}, queryAdditionalHeaders, `Additional HTTP response headers. Can be specified multiple times. Format: "Key: Value"`) And initialized as follows: stringSlice := v.GetStringSlice(queryAdditionalHeaders)
headers, err := stringSliceAsHeader(stringSlice)
if err != nil {
logger.Error("Failed to parse headers", zap.Strings("slice", stringSlice), zap.Error(err))
} else {
qOpts.AdditionalHeaders = headers
} For mapping purposes, is it safe to only take the first element of the slice? |
I added a log statement and tried this:
logged:
So CLI allows giving the flag multiple times, and as a result it does not use The OTEL's implementation does not really check what's inside the string, so it probably also supports multiple values. The response headers handler is automatically mounted by confighttp.ServerConfig.ToServer() - are we actually using this in query service? I think it would be nice if we did, but that might be a much bigger change (although worth it going forward). |
@yurishkuro I see. So for mapping from CLI to v2, can we just take the first element of the slice and populate it in OTEL's response headers? We currently aren't using |
No, you can join all values in a slice with a comma, that's how HTTP supports multi-valued headers |
I think it's interesting to see how well this change would work. We may actually run into functional gap - we allow running http and grpc server on the same port, but OTEL does not. This will be a breaking change for v2 anyway, we might as well do it now. |
…rations (#6023) ## Which problem is this PR solving? - Part of #5996 ## Description of the changes - Removed the custom TLS and HTTP server configurations and replaced them with OTEL's configurations - 🛑 Breaking change: the hot-reload of certificates will not happen at `reload_interval`s rather than immediately on file changes. This makes Jaeger's behavior similar to OTEL Collector's behavior. ## How was this change tested? - Unit tests / CI ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: Mahad Zaryab <mahadzaryab1@gmail.com>
@yurishkuro anything else that we want to address as part of this issue? do we want to make the |
yes, we can track that separately, it's not a high priority. #6026 |
perfect! can we close this issue out then? |
yes, thanks! |
Requirement
In this issue, we want to align the configuration for the query service with OTEL (part of #5229)
Tasks / outcomes
The text was updated successfully, but these errors were encountered: