Class 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