-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Storage backends for adaptive sampling #3305
Comments
I wanted to try out this feature but realised not supported for different backends. I can take a stab at this if nobody is already working on it. |
That would be appreciated, @lonewolf3739. |
Hi, does anyone working on this? I would like to work on Elasticsearch storage support. |
I have some questions before I start implementing the feature.
Here is my idea to store the document, feedbacks are welcome! jaeger-throughputs
jaeger-probabilities-and-qps
Since Elasticsearch 5+ does not support jaeger-leases
|
I think it should be treated as any other index. The main difference in sampling data from the trace/span data is that while they all always growing, the sampling is only valuable for the last N writes. The LAST write is the most important as it provides the initial seed of the probabilities, while N last writes are used to compute the next iteration of sampling probabilities (e.g. using exponential decay of the older data). In theory, the whole adaptive sampling storage can be modeled with these N slots (in a round robin fashion), but in practice we found it useful to keep the history for a few days in order to investigate how sampling rates change over time. Hence my suggestion to use the same TTL / rotation / rollover as the main span indices (also makes the implementation simpler & maintenance streamlined). |
Hey @yurishkuro , I did like to work on Implementing Badger storage support. Currently I'm going through the memory-only and Cassandra Implementation will share more on Badger Implementation in some time. |
@slayer321 I would strongly recommend starting with adding new tests in the storage e2e integration test, which today does not cover sampling storage. Then you will have a clear blueprint of what needs to be implemented in another backend. |
## Which problem is this PR solving? Related #3305 ## Description of the changes - Implemented badger db for sampling store ## How was this change tested? - Added Unit test and also tested it with the already Implemented integration test ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: slayer321 <[email protected]>
I would like to implement Adaptive Sampling support for Elasticsearch. |
hey @Pushkarm029, are you working on it? |
@akagami-harsh, yeah, I am halfway. I will complete it within 2-3 days. |
## Which problem is this PR solving? - #3305 ## Description of the changes - Implemented Elasticsearch storage for adaptive sampling ## How was this change tested? - not tested yet ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [x] I have added unit tests for the new functionality - [x] I have run lint and test steps successfully - for `jaeger`: `make lint test` - for `jaeger-ui`: `yarn lint` and `yarn test` --------- Signed-off-by: Pushkar Mishra <[email protected]> Co-authored-by: Yuri Shkuro <[email protected]>
Should we update the documents to reflect the current state?
https://www.jaegertracing.io/docs/1.54/sampling/#adaptive-sampling |
yes |
@yurishkuro somebody is working now for the Opensearch backend in this feature? |
OpenSearch is already supported via Elasticsearch code (they are the same) |
Is it really supported? When I try to start jaeger-collector (tested with 1.55.0 and 1.56.0) with
In addition, according to the docs "By default adaptive sampling will attempt to use the backend specified by SPAN_STORAGE_TYPE to store data."
|
@Pushkarm029 can you please take a look at this ^ report? |
👀looking into it. |
Since v1.27 adaptive sampling is supported in the backend, but it only works with Cassandra as the backing store. We need to implement it for other types of stores, e.g.
The text was updated successfully, but these errors were encountered: