-
Bug
-
Resolution: Done
-
Undefined
-
None
-
None
-
None
-
Quality / Stability / Reliability
-
1
-
False
-
-
False
-
-
-
Tracing Sprint # 269
Description of the issue:
The upstream jaeger-query image is missing the --prometheus.query.extra-query-params flag.
% podman run -it --env METRICS_STORAGE_TYPE=prometheus docker.io/jaegertracing/jaeger-query:1.66.0 --help | grep -i 'prometheus.query' --prometheus.query.duration-unit string The units used for the "latency" histogram. It can be either "ms" or "s" and should be consistent with the histogram unit value set in the spanmetrics connector (see: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/spanmetricsconnector#configurations). This also helps jaeger-query determine the metric name when querying for "latency" metrics. (default "ms") --prometheus.query.namespace string The metric namespace that is prefixed to the metric name. A '.' separator will be added between the namespace and the metric name. (default "traces_span_metrics") --prometheus.query.normalize-calls Whether to normalize the "calls" metric name according to https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/translator/prometheus/README.md. For example: "calls" (not normalized) -> "calls_total" (normalized), --prometheus.query.normalize-duration Whether to normalize the "duration" metric name according to https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/translator/prometheus/README.md. For example: "duration_bucket" (not normalized) -> "duration_milliseconds_bucket (normalized)"
In our product image, the flag is present.
% podman run -it --env METRICS_STORAGE_TYPE=prometheus registry.redhat.io/rhosdt/tempo-jaeger-query-rhel8@sha256:6f7076797bce3c6ec75249b29ebfa884f9048a6e98176654513ab1fea04a3c10 --help | grep -i 'prometheus.query' --prometheus.query.duration-unit string The units used for the "latency" histogram. It can be either "ms" or "s" and should be consistent with the histogram unit value set in the spanmetrics connector (see: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/connector/spanmetricsconnector#configurations). This also helps jaeger-query determine the metric name when querying for "latency" metrics. (default "ms") --prometheus.query.extra-query-params string A comma separated list of param=value pairs of query parameters, which are appended on all API requests to the Prometheus API. Example: param1=value2,param2=value2 --prometheus.query.namespace string The metric namespace that is prefixed to the metric name. A '.' separator will be added between the namespace and the metric name. (default "traces_span_metrics") --prometheus.query.normalize-calls Whether to normalize the "calls" metric name according to https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/translator/prometheus/README.md. For example: "calls" (not normalized) -> "calls_total" (normalized), --prometheus.query.normalize-duration Whether to normalize the "duration" metric name according to https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/translator/prometheus/README.md. For example: "duration_bucket" (not normalized) -> "duration_milliseconds_bucket (normalized)"
The missing flag in upstream is causing the jaeger-query container to fail.
Steps to reproduce the issue:
1.Install the Tempo Operator built off the latest upstream branch.
2.Run the red-metrics test case with --skip-delete.
3.The test fails, check the jaeger-query pod in query-frontend deployment, the container is failing due to missing flag. --prometheus.query.extra-query-params