Class PerlBuilder

java.lang.Object
io.perl.api.impl.PerlBuilder

public final class PerlBuilder extends Object
Class for Building Perl, Time and Periodic Recorder.
  • Constructor Details

    • PerlBuilder

      public PerlBuilder()
  • Method Details

    • buildTime

      @NotNull public static @NotNull Time buildTime(@NotNull @NotNull PerformanceLogger logger)
      Build 'Time' object based on Performance logger.
      Parameters:
      logger - Performance logger
      Returns:
      Time Object.
    • buildLatencyRecordWindow

      @NotNull public static @NotNull LatencyRecordWindow buildLatencyRecordWindow(@NotNull @NotNull LatencyConfig config, Time time, long minLatency, long maxLatency, double[] percentileFractions)
      Build Latency Record Window.
      Parameters:
      config - Latency configuration
      time - Time
      minLatency - Minimum Latency
      maxLatency - Maximum Latency
      percentileFractions - Percentile fractions
      Returns:
      Latency record window.
    • build

      @Contract("null, _, _, _, _ -> fail; !null, null, _, _, _ -> fail") @NotNull public static @NotNull Perl build(PerformanceLogger logger, ReportLatency latencyReporter, Time time, PerlConfig config, ExecutorService executor) throws IllegalArgumentException, IOException
      Build CQ (Concurrent Queue) based Perl.
      Parameters:
      logger - Performance Logger
      latencyReporter - Report latencies
      time - time interface
      config - Perl configuration
      executor - Executor Service
      Returns:
      Perl Object
      Throws:
      IllegalArgumentException - in case logger and latency reporter are missing and time unit of 'Time' and performance logger is not matching
      IOException - if the CQ perl creation failed.