Class RemoteRuleMetrics

java.lang.Object
org.languagetool.rules.RemoteRuleMetrics

public final class RemoteRuleMetrics extends Object
  • Field Details

    • logger

      private static final org.slf4j.Logger logger
    • WAIT_BUCKETS

      private static final double[] WAIT_BUCKETS
    • LATENCY_BUCKETS

      private static final double[] LATENCY_BUCKETS
    • SIZE_BUCKETS

      private static final double[] SIZE_BUCKETS
    • wait

      private static final io.prometheus.client.Histogram wait
    • requestLatency

      private static final io.prometheus.client.Histogram requestLatency
    • requestThroughput

      private static final io.prometheus.client.Histogram requestThroughput
  • Constructor Details

    • RemoteRuleMetrics

      private RemoteRuleMetrics()
  • Method Details

    • request

      public static void request(String rule, long startNanos, long characters, RemoteRuleMetrics.RequestResult result)
    • wait

      public static void wait(String langCode, long milliseconds)
    • inCircuitBreaker

      @Internal @Nullable public static <T> T inCircuitBreaker(long deadlineStartNanos, io.github.resilience4j.circuitbreaker.CircuitBreaker circuitBreaker, String ruleKey, long chars, Callable<T> fetchResults) throws InterruptedException
      Throws:
      InterruptedException