Package io.perl.api.impl
Class PerlBuilder
java.lang.Object
io.perl.api.impl.PerlBuilder
Class for Building Perl, Time and Periodic Recorder.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic @NotNull Perl
build
(PerformanceLogger logger, ReportLatency latencyReporter, Time time, PerlConfig config, ExecutorService executor) Build CQ (Concurrent Queue) based Perl.static @NotNull LatencyRecordWindow
buildLatencyRecordWindow
(@NotNull LatencyConfig config, Time time, long minLatency, long maxLatency, double[] percentileFractions) Build Latency Record Window.static @NotNull Time
buildTime
(@NotNull PerformanceLogger logger) Build 'Time' object based on Performance logger.
-
Constructor Details
-
PerlBuilder
public PerlBuilder()
-
-
Method Details
-
buildTime
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 configurationtime
- TimeminLatency
- Minimum LatencymaxLatency
- Maximum LatencypercentileFractions
- 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 LoggerlatencyReporter
- Report latenciestime
- time interfaceconfig
- Perl configurationexecutor
- 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 matchingIOException
- if the CQ perl creation failed.
-