Class AbstractMetricCollectingBuilder

java.lang.Object
com.linecorp.armeria.common.metric.AbstractMetricCollectingBuilder
Direct Known Subclasses:
MetricCollectingClientBuilder, MetricCollectingRpcClientBuilder, MetricCollectingServiceBuilder

public abstract class AbstractMetricCollectingBuilder
extends Object
Builds an implementing class of AbstractMetricCollectingBuilder instance.
  • Constructor Details

    • AbstractMetricCollectingBuilder

      protected AbstractMetricCollectingBuilder​(MeterIdPrefixFunction meterIdPrefixFunction)
  • Method Details

    • meterIdPrefixFunction

      protected MeterIdPrefixFunction meterIdPrefixFunction()
    • successFunction

      @Nullable protected final BiPredicate<? super RequestContext,​? super RequestLog> successFunction()
      Returns the successFunction.
    • successFunction

      public AbstractMetricCollectingBuilder successFunction​(BiPredicate<? super RequestContext,​? super RequestLog> successFunction)
      Defines a custom BiPredicate to allow custom definition of successful responses. In other words, specify which responses should increment metrics.success() and which - metrics.failure().

      Example:

      
           MetricCollectingService
               .builder(MeterIdPrefixFunction.ofDefault("hello"))
               .successFunction((context, log) -> {
                   final int statusCode = log.responseHeaders().status().code();
                   return (statusCode >= 200 && statusCode < 400) || statusCode == 404;
               })
               .newDecorator();