jaegertracing / jaeger

CNCF Jaeger, a Distributed Tracing Platform
https://www.jaegertracing.io/
Apache License 2.0
20.36k stars 2.43k forks source link

[Bug]: Jaeger Query Should Accept Configurable Jaeger Collector Address when enabled query.enable-tracing #6122

Open masihkhatibzadeh99 opened 2 hours ago

masihkhatibzadeh99 commented 2 hours ago

What happened?

Currently, when tracing is enabled (enable-tracing), jaeger-query defaults to localhost:4317 as the OTLP endpoint, which assumes that the Jaeger Collector is available on the same local address. This setup causes issues where Jaeger-query and the Jaeger Collector typically run in separate pods or hosts.

When jaeger-query cannot reach the Jaeger Collector at localhost:4317, tracing data fails to be exported, and the following connection errors are logged: {"level":"info","ts":1729846746.785025,"caller":"grpc@v1.66.0/clientconn.go:1319","msg":"[core] Creating new client transport to \"{Addr: \\\"127.0.0.1:4317\\\", ServerName: \\\"localhost:4317\\\", }\": connection error: desc = \"transport: Error while dialing: dial tcp 127.0.0.1:4317: connect: connection refused\""}

Steps to reproduce

  1. Deploy Jaeger-query in a k8s environment with Jaeger collector in separate pods.
  2. Enable tracing on Jaeger-query. (--query.enable-tracing = true)

Expected behavior

jaeger-query should accept a configurable Jaeger Collector address when enable-tracing is enabled. Users should be able to specify this address through something like this: --query.collector-address

Jaeger backend version

v1.60.0

masihkhatibzadeh99 commented 2 hours ago

If this is an issue, I’m willing to create a PR to fix it.

yurishkuro commented 1 hour ago

OTEL SDK supports a number of env variables that allow you to override export endpoint. Did you try that?