Package brave.rpc

Interface RpcTracingCustomizer


public interface RpcTracingCustomizer
This allows configuration plugins to collaborate on building an instance of RpcTracing.

For example, a customizer can setup RpcTracing.Builder.serverSampler(SamplerFunction) samplers} without a reference to the tracing component.

This also allows one object to customize both Tracing, via TracingCustomizer, and the RPC layer RpcTracing, by implementing both customizer interfaces.

Integration examples

In practice, a dependency injection tool applies a collection of these instances prior to building the tracing instance. For example, an injected List<RpcTracingCustomizer> parameter to a provider of RpcTracing.

Here are some examples, in alphabetical order:

Note: This type is safe to implement as a lambda, or use as a method reference as it is effectively a FunctionalInterface. It isn't annotated as such because the project has a minimum Java language level 6.

Since:
5.8
See Also:
TracingCustomizer
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static RpcTracingCustomizer NOOP
    Use to avoid comparing against null references
  • Method Summary

    Modifier and Type Method Description
    void customize​(RpcTracing.Builder builder)