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
Support tempo reading traces #5849
Comments
It sounds right, @aljesusg. I think we want to hide as much as possible in the lower layers so that the client/ui code doesn't care if it's Tempo, Jaeger or something else. In other words, Our API should probably return a |
That's the idea. We are going to research about this but I bet that we can do it and don't change the ui |
I finally manage to use workaround until Kiali not get direct support for Tempo. My setup is next:
Kiali CR config for tracing:
This thing works without errors. |
From @Hronom's description, I was able to get the |
Adapt Kiali to query Tempo directly
The better solution (imo) would be to add a client specific to Tempo. Looking at the code this would require a couple of changes:
The current client uses the Jaeger data model (for instance JaegerSingleTrace) but Tempo returns traces in the OpenTelemetry format (JSON or Protobuf). The proto definition: opentelemetry-proto - opentelemetry/proto/trace/v1/trace.proto.
Luckily there is already a lot of code out there to convert between OpenTelemetry and Jaeger, Zipkin. So you can convert OpenTelemetry into Jaeger in the client or opt to switch Kiali to use the OpenTelemetry format all together and do the conversion in the Jaeger client.
The search results of Jaeger and Tempo are different: while Jaeger returns a list of full traces, Tempo only returns metadata of the traces. See https://grafana.com/docs/tempo/latest/api_docs/#search
This might be a problem if you need the full trace data for visualisations like the workload detail: https://kiali.io/docs/features/tracing/#workload-detail
If not make a switch to
Jaeger => Read from GRPC
Tempo => Read from TraceQL
The text was updated successfully, but these errors were encountered: