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