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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MessagingRuleSampler.Builder
newBuilder()
Boolean
trySample(MessagingRequest request)
-
-
-
Method Detail
-
newBuilder
public static MessagingRuleSampler.Builder newBuilder()
- Since:
- 5.9
-
trySample
public Boolean trySample(MessagingRequest request)
- Specified by:
trySample
in interfaceSamplerFunction<MessagingRequest>
-
-