Interface SamplerFunction<T>

Type Parameters:
T - type of the input, for example a request or method
All Known Implementing Classes:
SamplerFunction.Constants

public interface SamplerFunction<T>
This API was heavily influenced by Brave. Parts of its documentation were taken directly from Brave.

Decides whether to start a new trace based on request properties such as an HTTP path.

Since:
1.0.0
  • Method Details

    • deferDecision

      static <T> SamplerFunction<T> deferDecision()
      Always deferring SamplerFunction.
      Type Parameters:
      T - type of the input, for example a request or method
      Returns:
      decision deferring sampler function
    • neverSample

      static <T> SamplerFunction<T> neverSample()
      Never sampling SamplerFunction.
      Type Parameters:
      T - type of the input, for example a request or method
      Returns:
      never sampling sampler function
    • alwaysSample

      static <T> SamplerFunction<T> alwaysSample()
      Always sampling SamplerFunction.
      Type Parameters:
      T - type of the input, for example a request or method
      Returns:
      always sampling sampler function
    • trySample

      @Nullable Boolean trySample(@Nullable T arg)
      Returns an overriding sampling decision for a new trace.
      Parameters:
      arg - parameter to evaluate for a sampling decision. null input results in a null result
      Returns:
      true to sample a new trace or false to deny. null defers the decision.