Package brave.messaging
Class MessagingRuleSampler
java.lang.Object
brave.messaging.MessagingRuleSampler
- All Implemented Interfaces:
SamplerFunction<MessagingRequest>
public final class MessagingRuleSampler extends Object implements SamplerFunction<MessagingRequest>
Assigns sample rates to messaging requests.
Ex. Here's a sampler that traces 100 consumer requests per second, except for the "alerts"
channel. Other requests will use a global rate provided by the tracing
component
.
import brave.sampler.Matchers;
import static brave.messaging.MessagingRequestMatchers.channelNameEquals;
messagingTracingBuilder.consumerSampler(MessagingRuleSampler.newBuilder()
.putRule(channelNameEquals("alerts"), Sampler.NEVER_SAMPLE)
.putRule(Matchers.alwaysMatch(), RateLimitingSampler.create(100))
.build());
Implementation notes
Be careful when implementing matchers asMessagingRequest
operations can return null.- Since:
- 5.9
- See Also:
MessagingRequestMatchers
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MessagingRuleSampler.Builder
-
Method Summary
Modifier and Type Method Description static MessagingRuleSampler.Builder
newBuilder()
Boolean
trySample(MessagingRequest request)
-
Method Details
-
newBuilder
- Since:
- 5.9
-
trySample
- Specified by:
trySample
in interfaceSamplerFunction<MessagingRequest>
-