Pull traces from an application #8788
Replies: 3 comments 2 replies
-
|
Hi @Pragmateek! I'm Dosu and I'm helping the Jaeger team. You're correct that Jaeger is entirely push-based — there is no pull/scrape mechanism for traces analogous to how Prometheus scrapes metrics [1]. All of Jaeger's receivers (OTLP, Kafka, Jaeger-native, Zipkin) wait for trace data to be sent to them [2]. Given your constraint (applications only respond to inbound HTTP requests), here are some options to consider:
None of these are "native pull mode" in Jaeger, but option 1 (an HTTP-triggered flush) comes closest to the pull semantics you're describing — you'd just need something external to initiate the request. Would any of these patterns work within your environment's constraints? To reply, just mention @dosu. Docs are dead. Just use Dosu. |
Beta Was this translation helpful? Give feedback.
-
|
hi Pragmateek, |
Beta Was this translation helpful? Give feedback.
-
|
Jaeger does not have an ingestion API that will poll applications, and the Jaeger query/storage APIs are not suitable as an ingestion path. The closest “Jaeger-native” answer is still: get the data into an OTLP/Jaeger receiver somehow, usually via an OpenTelemetry Collector. For an environment where the app can only return data as an HTTP response, the cleanest pattern is to put a small bridge outside the isolated environment: That bridge/poller would be custom code; neither Jaeger nor the Collector currently provide a generic “scrape traces from arbitrary HTTP endpoints” receiver. If you go this route, pay attention to ack semantics, max buffer size, retries, duplicate spans, auth on the drain endpoint, and what happens when the poller is down for longer than the app can buffer. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
This is a follow-up to this discussion : Pull traces from the application
TL;DR I'd like to get my traces into Jaeger but I can't push to it from my applications as they run in isolated environments.
So the only way to get data from the applications is in response to HTTP requests.
But AFAIK Jaeger (contrary to Prometheus) only work in push mode and does not support pull.
What are my options?
Any input is welcome. 🙂
Beta Was this translation helpful? Give feedback.
All reactions