REST documentation for the Query/Collector

539 views
Skip to first unread message

Juraci Paixão Kröhling

unread,
Sep 27, 2017, 7:14:15 AM9/27/17
to Jaeger Tracing
While filling up the CII Best Practices form (#404), I got a question
about the REST interfaces. Are they supposed to be consumed *also* by
external parties, or only by our Agent/Clients/UI ? Concretely, I'm
talking about the Collector's and Query's REST interface.

Similarly, should the Agent's UDP listener be documented as external
interface, or do we assume that only "our" clients are supposed to
interact with the agent?

If any of those are considered public interfaces, we'd need to give a
better visibility to this documentation.

- Juca.

Yuri Shkuro

unread,
Sep 27, 2017, 8:27:12 AM9/27/17
to Jaeger Tracing
I'd say these need to be publicly documented:
  • agent's HTTP/JSON API polled by the clients
  • agent's UDP/Thrift APIs (we already have IDLs for that)
  • collector's HTTP POST API (Thrift and JSON)

This will help implementors of client libraries.


Documenting query service API is less important, imo.

karmjit singh

unread,
Jan 7, 2020, 4:59:25 PM1/7/20
to Jaeger Tracing
Hi, 
I am looking to retrieve traces from Jaeger Backend. I found that Query Service API is one of the way. However, API documentation is limited ( /api/* as per https://www.jaegertracing.io/docs/1.16/deployment/)

So i wanted to know,   is there a place where I can find details for each QUERY API endpoint, http method and parameters supported?
Also, is Query Service API publicly supported  and will be supported going forward? 


thanks,
Karmjit

karmjit singh

unread,
Jan 7, 2020, 5:51:17 PM1/7/20
to Jaeger Tracing

Yuri Shkuro

unread,
Jan 7, 2020, 6:59:23 PM1/7/20
to karmjit singh, Jaeger Tracing
Query service REST API is **NOT** guaranteed to be supported. Have you looked at gRPC API?

--
You received this message because you are subscribed to the Google Groups "Jaeger Tracing" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jaeger-tracin...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jaeger-tracing/849b5a69-6459-40c7-b67a-fcbba67eea8c%40googlegroups.com.

karmjit singh

unread,
Jan 13, 2020, 5:01:47 PM1/13/20
to Yuri Shkuro, Jaeger Tracing
thanks Yuri. I will look into gRPC API.

karmjit singh

unread,
Jan 16, 2020, 3:06:46 AM1/16/20
to Yuri Shkuro, Jaeger Tracing
is gRPC API(for retrieving traces) part of 'jaeger-query' and  what is port for connecting client?  https://www.jaegertracing.io/docs/next-release/deployment/ does not mention it.
thanks for help/

Yuri Shkuro

unread,
Jan 16, 2020, 11:18:52 AM1/16/20
to Jaeger Tracing
http and grpc in the query service run on the same (main) port.

karmjit singh

unread,
Feb 10, 2020, 8:53:41 PM2/10/20
to Jaeger Tracing
I was able to implement a gRPC client and retrieve traces using findTraces() API. However, i have few questions regarding TraceQueryParameters.

1. is StartTimeMax exclusive or inclusive? I assume this field is for setting the upper bound on start time for spans to be retrieved. 
2. what is the order for spans returned by findTraces()? i have noticed multiple SpanDataChunk for same service and no particular order between spans.
3. TraceQueryParameters takes parameter for setting service name, but the result includes traces from other correlated (upstream/downstream) services as well. Is it possible to get traces for given service only?

regards

Yuri Shkuro

unread,
Feb 10, 2020, 9:48:18 PM2/10/20
to Jaeger Tracing
1. I believe timestamps are inclusive, but considering that they have microsecond precision, does it really matter?
2. there is no order, it's however the storage returns the spans (which may be random, depending on storage)
3. traces usually touch multiple services. The results should always contain only those traces that pass through a specified service.
Reply all
Reply to author
Forward
0 new messages