Skip to content
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

Replicate /sampling endpoint from agent in the collector #1971

Open
yurishkuro opened this issue Dec 10, 2019 · 8 comments
Open

Replicate /sampling endpoint from agent in the collector #1971

yurishkuro opened this issue Dec 10, 2019 · 8 comments

Comments

@yurishkuro
Copy link
Member

@yurishkuro yurishkuro commented Dec 10, 2019

Requirement - what kind of business use case are you trying to solve?

When using HTTP reporters in the clients to export tracing data directly to the collectors, users still want to be able to use remote sampler that loads centrally managed sampling strategies.

Problem - what in Jaeger blocks you from solving the requirement?

The /sampling endpoint is only implemented in the agent today.

Proposal - what do you suggest to solve the problem or improve the existing situation?

Expose the same endpoint from the collectors, e.g. /api/sampling.

@yurishkuro

This comment has been minimized.

Copy link
Member Author

@yurishkuro yurishkuro commented Dec 10, 2019

When this is done, update FAQ docs, cf. jaegertracing/documentation#335

@namratachaudhary

This comment has been minimized.

Copy link

@namratachaudhary namratachaudhary commented Dec 20, 2019

Hi
If this is still open, I can take it up.

@jpkrohling

This comment has been minimized.

Copy link
Member

@jpkrohling jpkrohling commented Dec 20, 2019

It's yours.

@RickyRajinder

This comment has been minimized.

Copy link
Contributor

@RickyRajinder RickyRajinder commented Dec 21, 2019

Hi @namratachaudhary I have already submitted a PR for this issue.

@yurishkuro

This comment has been minimized.

Copy link
Member Author

@yurishkuro yurishkuro commented Jan 1, 2020

Open question: can clients be configured with a different sampling URL?

@yurishkuro

This comment has been minimized.

Copy link
Member Author

@yurishkuro yurishkuro commented Jan 1, 2020

Clients support the following config options:

  • JAEGER_ENDPOINT, e.g. http(s)://collector:port/api/traces
  • JAEGER_SAMPLER_MANAGER_HOST_PORT - name implies no path is allowed

Possible solutions:

  • We could introduce JAEGER_SAMPLING_ENDPOINT, but that still leaves out other configurations like baggage restrictions.
  • We could introduce JAEGER_CONFIG_ENDPOINT, but that wouldn't be a real endpoint, but a base address, with /sampling or /baggage path added by the client as needed.
  • We could introduce JAEGER_API (or something along these lines) that will be the base address, e.g. http(s)://collector:port/api used by both span reporter (by adding /traces) and sampler (by adding /sampling).

Q: is it better to hardcode the final segments of the URL in the clients or make them configurable? Strictly speaking the URL path is part of the contract, e.g. if we introduce a different format of the sampling output it should become /api/v2/sampling or something like that.

cc @jpkrohling @pavolloffay @objectiser

@pavolloffay

This comment has been minimized.

Copy link
Member

@pavolloffay pavolloffay commented Jan 3, 2020

Q: is it better to hardcode the final segments of the URL in the clients or make them configurable?

I would lean towards the consistency and require configuring the full URL. It's more flexible and one could deploy it on different path.

@yurishkuro

This comment has been minimized.

Copy link
Member Author

@yurishkuro yurishkuro commented Jan 3, 2020

@pavolloffay so you'd vote for JAEGER_SAMPLING_ENDPOINT?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.