You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jul 1, 2022. It is now read-only.
Along the lines of #608 and #609, with the move to Java 8 baseline in #802, we have further opportunities to improve sampler concurrency, and we should eliminate synchronized on all implementations of Sampler.sample(). Contention remains on all calls to RemoteControlledSampler.sample() due to the underlying synchronization of PerOperationSampler.sample().
The text was updated successfully, but these errors were encountered:
- Add volatile keyword to underlying samplers so updated references can
be made available to other threads.
See jaegertracing#609 for
similar work.
Fixesjaegertracing#807
Signed-off-by: Will Tran <will@autonomic.ai>
william-tran
pushed a commit
to autonomic-ai/jaeger-client-java
that referenced
this issue
Oct 14, 2021
- Use a ConcurrentHashMap for operationNameToSampler so that any number
of concurrent calls to sample can be made and safely modify it.
- Add volatile to any fields that can be changed by the update method to
ensure visibility of changes to other threads.
- Retain instances of GuaranteedThroughputSampler to preserve their rate
limit balances across updates when parameters don't change improving on
jaegertracing/jaeger#1729
See jaegertracing#609 for
similar work.
Fixesjaegertracing#807
Signed-off-by: Will Tran <will@autonomic.ai>
Along the lines of #608 and #609, with the move to Java 8 baseline in #802, we have further opportunities to improve sampler concurrency, and we should eliminate
synchronized
on all implementations ofSampler.sample()
. Contention remains on all calls toRemoteControlledSampler.sample()
due to the underlying synchronization ofPerOperationSampler.sample()
.The text was updated successfully, but these errors were encountered: