Is your feature request related to a problem? Please describe.
For our tail-sampling use case, we use the composite policy to set a rate limit and bucket spans on different criteria. One of the disadvantages of this approach is that a percentage of the rate is "reserved" for that bucket (example: high latency spans). If there are no high latency spans for a period of time, we will miss out on that sub policies percentage of the limit.
In practice that means we're seeing post tail-sampling throughputs much lower than our actual budget that we've set.
Describe the solution you'd like
We would like the ability to set some flag in the composite policy that ensures that if a given sub policy won't take advantage of it's total budget, that budget gets added to an always-sample policy.
This could look like : fill_remaining_budget: true.
Describe alternatives you've considered
One alternative is artificially increasing our max_total_spans_per_second value above our actual SPS budget to see the throughput we would like. The disadvantage there is, in the case where all sub policies are satisfied to their capacity, we will be well over budget.
Component(s)
processor/tailsampling
Is your feature request related to a problem? Please describe.
For our tail-sampling use case, we use the composite policy to set a rate limit and bucket spans on different criteria. One of the disadvantages of this approach is that a percentage of the rate is "reserved" for that bucket (example: high latency spans). If there are no high latency spans for a period of time, we will miss out on that sub policies percentage of the limit.
In practice that means we're seeing post tail-sampling throughputs much lower than our actual budget that we've set.
Describe the solution you'd like
We would like the ability to set some flag in the composite policy that ensures that if a given sub policy won't take advantage of it's total budget, that budget gets added to an always-sample policy.
This could look like :
fill_remaining_budget: true
.Describe alternatives you've considered
One alternative is artificially increasing our
max_total_spans_per_second
value above our actual SPS budget to see the throughput we would like. The disadvantage there is, in the case where all sub policies are satisfied to their capacity, we will be well over budget.Additional context
Current tail sampling configuration: