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 as MessagingRequest operations can return null.
Since:
5.9
See Also:
MessagingRequestMatchers