Index

A B C D E F G H I L M N P Q R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values

A

add(int, T) - Method in class io.perl.api.impl.ConcurrentLinkedQueueArray
 
add(int, T) - Method in class io.perl.api.impl.CQueueArray
 
add(int, T) - Method in interface io.perl.api.QueueArray
Add an element to the queue identified by index.
add(T) - Method in class io.perl.api.impl.AtomicQueue
 
add(T) - Method in class io.perl.api.impl.CQueue
 
add(T) - Method in class io.perl.api.impl.SyncQueue
 
add(T) - Method in interface io.perl.api.Queue
Add data of type T to queue.
appendResultString(StringBuilder, double, long, long, double, double, double, long, long, long, long, long, long, long, long[]) - Method in class io.perl.logger.impl.ResultsLogger
Method buildResultString builds all result and return in String format.
ArrayLatencyRecorder - Class in io.perl.api.impl
class for Performance statistics.
ArrayLatencyRecorder(long, long, long, long, long, double[], Time) - Constructor for class io.perl.api.impl.ArrayLatencyRecorder
Constructor ArrayLatencyRecorder initialize all values.
AtomicQueue<T> - Class in io.perl.api.impl
 
AtomicQueue() - Constructor for class io.perl.api.impl.AtomicQueue
 
avgLatencyName - Variable in class io.perl.logger.impl.Metrics
String avgLatencyName.

B

BEGIN - Enum constant in enum class io.state.State
BEGIN = 0.
build() - Static method in class io.perl.config.PerlConfig
Build configuration by loading the default perl.properties from the classpath.
build(PerformanceLogger, Time, PerlConfig, ExecutorService) - Static method in class io.perl.api.impl.PerlBuilder
Build CQ (Concurrent Queue) based Perl.
build(InputStream) - Static method in class io.perl.config.PerlConfig
Build configuration by reading properties from the given input stream.
buildLatencyRecordWindow(LatencyConfig, Time, long, long, double[]) - Static method in class io.perl.api.impl.PerlBuilder
Build Latency Record Window using configured strategy (array or hashmap) depending on memory estimation and latency range.
buildTime(PerformanceLogger) - Static method in class io.perl.api.impl.PerlBuilder
Build 'Time' object based on Performance logger.
bytes - Variable in class io.perl.api.TimeStamp
Size in bytes for the event(s).
Bytes - Class in io.perl.data
Utility constants for byte size conversions used across the PerL module.
Bytes() - Constructor for class io.perl.data.Bytes
 
BYTES_PER_GB - Static variable in class io.perl.data.Bytes
Number of bytes per gigabyte.
BYTES_PER_KB - Static variable in class io.perl.data.Bytes
Number of bytes per kilobyte.
BYTES_PER_MB - Static variable in class io.perl.data.Bytes
Number of bytes per megabyte.
bytesName - Variable in class io.perl.logger.impl.Metrics
String bytesName.

C

Channel - Interface in io.perl.api
Channel is a combined API that exposes both producer and consumer behavior for the PerL internals.
channels - Variable in class io.perl.api.PerformanceRecorder
 
checkTotalWindowFullAndReset(long) - Method in class io.perl.api.impl.TotalLatencyRecordWindow
Check if the total window is full and flush/reset its contents.
checkWindowFullAndReset(long) - Method in class io.perl.api.impl.TotalLatencyRecordWindow
Check if the current window is full and, if so, stop and restart it.
clear() - Method in interface io.perl.api.Channel
Clear the channel of any pending data and reset its internal state.
clear() - Method in class io.perl.api.impl.AtomicQueue
 
clear() - Method in class io.perl.api.impl.ConcurrentLinkedQueueArray
 
clear() - Method in class io.perl.api.impl.CQueue
 
clear() - Method in class io.perl.api.impl.CQueueArray
 
clear() - Method in class io.perl.api.impl.SyncQueue
 
clear() - Method in interface io.perl.api.Queue
Clear queue and reset internal state.
clear() - Method in interface io.perl.api.QueueArray
Clear all queues in the array.
clear(int) - Method in class io.perl.api.impl.ConcurrentLinkedQueueArray
 
clear(int) - Method in class io.perl.api.impl.CQueueArray
 
clear(int) - Method in interface io.perl.api.QueueArray
Clear the queue at the specified index.
close() - Method in class io.perl.logger.impl.PrintMetrics
This method Closes this registry, releasing any resources in the process.
ConcurrentLinkedQueueArray<T> - Class in io.perl.api.impl
 
ConcurrentLinkedQueueArray(int) - Constructor for class io.perl.api.impl.ConcurrentLinkedQueueArray
 
convertToMicroSeconds(double) - Method in class io.time.MicroSeconds
convert the time to Micro seconds.
convertToMicroSeconds(double) - Method in class io.time.MilliSeconds
convert the time to Micro seconds.
convertToMicroSeconds(double) - Method in class io.time.NanoSeconds
convert the time to Micro seconds.
convertToMicroSeconds(double) - Method in interface io.time.Time
convert the time to Micro seconds.
convertToMilliSeconds(double) - Method in class io.time.MicroSeconds
convert the time to Milliseconds.
convertToMilliSeconds(double) - Method in class io.time.MilliSeconds
convert the time to Milliseconds.
convertToMilliSeconds(double) - Method in class io.time.NanoSeconds
convert the time to Milliseconds.
convertToMilliSeconds(double) - Method in interface io.time.Time
convert the time to Milliseconds.
convertToNanoSeconds(double) - Method in class io.time.MicroSeconds
convert the time to Nanoseconds.
convertToNanoSeconds(double) - Method in class io.time.MilliSeconds
convert the time to Nanoseconds.
convertToNanoSeconds(double) - Method in class io.time.NanoSeconds
convert the time to Nanoseconds.
convertToNanoSeconds(double) - Method in interface io.time.Time
convert the time to Nanoseconds.
copyLatency(long, long, long, long) - Method in class io.perl.api.LatencyPercentiles
Copy latency for a bucket spanning [startIndex, endIndex).
copyPercentiles(LatencyPercentiles, ReportLatencies) - Method in class io.perl.api.impl.ArrayLatencyRecorder
 
copyPercentiles(LatencyPercentiles, ReportLatencies) - Method in class io.perl.api.impl.CSVExtendedLatencyRecorder
 
copyPercentiles(LatencyPercentiles, ReportLatencies) - Method in class io.perl.api.impl.HdrExtendedLatencyRecorder
 
copyPercentiles(LatencyPercentiles, ReportLatencies) - Method in class io.perl.api.impl.LongHashMapLatencyRecorder
 
copyPercentiles(LatencyPercentiles, ReportLatencies) - Method in class io.perl.api.impl.MapLatencyRecorder
 
copyPercentiles(LatencyPercentiles, ReportLatencies) - Method in class io.perl.api.LatencyWindow
get the Percentiles.
CQueue<T> - Class in io.perl.api.impl
 
CQueue() - Constructor for class io.perl.api.impl.CQueue
 
CQueueArray<T> - Class in io.perl.api.impl
 
CQueueArray(int) - Constructor for class io.perl.api.impl.CQueueArray
 
CQueuePerl - Class in io.perl.api.impl
Class for Concurrent Queue based PerL.
CQueuePerl(PerlConfig, PeriodicRecorder, int, Time, ExecutorService) - Constructor for class io.perl.api.impl.CQueuePerl
Constructor CQueuePerl initialize all values.
csv - Variable in class io.perl.config.LatencyConfig
Whether CSV output is enabled.
CSVExtendedLatencyRecorder - Class in io.perl.api.impl
Class CSVExtendedLatencyRecorder.
CSVExtendedLatencyRecorder(long, long, long, long, long, double[], Time, LatencyRecordWindow, int, String) - Constructor for class io.perl.api.impl.CSVExtendedLatencyRecorder
Constructor CSVExtendedLatencyRecorder pass all values to its super class and initialize CSVExtendedLatencyRecorder.latencyBuffer and CSVExtendedLatencyRecorder.csvReporter.
csvFileSizeGB - Variable in class io.perl.config.LatencyConfig
Maximum size (in GB) for generated CSV files.

D

DEFAULT_MAX_LATENCY - Static variable in class io.perl.config.LatencyConfig
Default maximum latency expected (in milliseconds).
DEFAULT_MIN_LATENCY - Static variable in class io.perl.config.LatencyConfig
Default minimum latency expected (in milliseconds).
DEFAULT_PRINTING_INTERVAL_SECONDS - Static variable in class io.perl.config.PerlConfig
Default interval (in seconds) between periodic status/metrics prints.
DEFAULT_RUNTIME_SECONDS - Static variable in class io.perl.config.PerlConfig
Default maximum runtime (in seconds) if not otherwise limited.
DEFAULT_TIMEOUT_MS - Static variable in class io.perl.config.PerlConfig
Default timeout (in milliseconds) for internal operations.
DefaultLogger - Class in io.perl.logger.impl
Simple textual results logger that prints the formatted summary to stdout.
DefaultLogger() - Constructor for class io.perl.logger.impl.DefaultLogger
Constructor DefaultLogger takes no arguments but initialize all values with default values.
DefaultLogger(String, double[], TimeUnit, long, long) - Constructor for class io.perl.logger.impl.DefaultLogger
Constructor DefaultLogger pass all values to its super class.
DefaultPrometheusLogger - Class in io.perl.logger.impl
Prometheus-enabled results logger.
DefaultPrometheusLogger(String, double[], TimeUnit, long, long, Time, int, String, Iterable<Tag>) - Constructor for class io.perl.logger.impl.DefaultPrometheusLogger
Constructor DefaultPrometheusLogger pass values to super class and initialize server.

E

elapsed(long, long) - Method in interface io.time.Time
get the duration between two time stamps.
elapsedMilliSeconds(long) - Method in class io.perl.api.LatencyWindow
Get the elapsed time in milliseconds between the provided current time and the window start time.
elapsedMilliSeconds(long, long) - Method in class io.time.MicroSeconds
get the current Time.
elapsedMilliSeconds(long, long) - Method in class io.time.MilliSeconds
get the elapsed time .
elapsedMilliSeconds(long, long) - Method in class io.time.NanoSeconds
get the current Time.
elapsedMilliSeconds(long, long) - Method in interface io.time.Time
get the elapsed Time in milliseconds.
elapsedMilliSecondsWindow(long) - Method in class io.perl.api.impl.TotalLatencyRecordWindow
 
elapsedMilliSecondsWindow(long) - Method in interface io.perl.api.PeriodicWindow
Get the current time duration of this window starting from startWindow.
elapsedSeconds(long, long) - Method in class io.time.MicroSeconds
get the current Time.
elapsedSeconds(long, long) - Method in class io.time.MilliSeconds
get the elapsed tiome.
elapsedSeconds(long, long) - Method in class io.time.NanoSeconds
get the current Time.
elapsedSeconds(long, long) - Method in interface io.time.Time
get the elapsed Time in seconds.
ElasticWait - Class in io.perl.api.impl
Class ElasticWait.
ElasticWait(int, int, int) - Constructor for class io.perl.api.impl.ElasticWait
Constructor ElasticWait initialize all values.
END - Enum constant in enum class io.state.State
END = 2.
endTime - Variable in class io.perl.api.TimeStamp
Event end time (caller-defined time unit).
ExceptionHandler - Interface in io.perl.exception
Simple callback interface for reporting exceptions from PerL internals to caller code.

F

fractions - Variable in class io.perl.api.LatencyPercentiles
Percentile fractions (e.g.

G

getCurrentTime() - Method in class io.time.MicroSeconds
get the current Time in Micro seconds.
getCurrentTime() - Method in class io.time.MilliSeconds
get the current Time.
getCurrentTime() - Method in class io.time.NanoSeconds
get the current Time.
getCurrentTime() - Method in interface io.time.Time
get the current Time.
getMaxLatency() - Method in class io.perl.logger.impl.ResultsLogger
 
getMaxLatency() - Method in interface io.perl.logger.PerformanceLogger
Maximum latency value considered valid by the logger (default from LatencyConfig).
getMaxMemoryBytes() - Method in class io.perl.api.impl.ArrayLatencyRecorder
 
getMaxMemoryBytes() - Method in class io.perl.api.impl.CSVExtendedLatencyRecorder
 
getMaxMemoryBytes() - Method in class io.perl.api.impl.HdrExtendedLatencyRecorder
 
getMaxMemoryBytes() - Method in class io.perl.api.impl.LongHashMapLatencyRecorder
 
getMaxMemoryBytes() - Method in class io.perl.api.impl.MapLatencyRecorder
 
getMaxMemoryBytes() - Method in class io.perl.api.LatencyWindow
Return the maximum memory usage in bytes for the window's storage.
getMinLatency() - Method in class io.perl.logger.impl.ResultsLogger
 
getMinLatency() - Method in interface io.perl.logger.PerformanceLogger
Minimum latency value considered valid by the logger (default from LatencyConfig).
getPercentileNames() - Method in class io.perl.logger.impl.ResultsLogger
 
getPercentiles() - Method in class io.perl.logger.impl.ResultsLogger
 
getPercentiles() - Method in interface io.perl.logger.PerformanceLogger
Percentile fractions (for example 0.5 for the 50th percentile) that this logger expects to receive.
getPerlChannel() - Method in interface io.perl.api.GetPerlChannel
Returns a dedicated PerlChannel instance for the caller to submit benchmarking events.
getPerlChannel() - Method in class io.perl.api.impl.CQueuePerl
Get Perl channel.
GetPerlChannel - Interface in io.perl.api
Capability interface for obtaining a dedicated PerlChannel.
getPrefix() - Method in class io.perl.logger.impl.ResultsLogger
 
getPrintingIntervalSeconds() - Method in interface io.perl.logger.PerformanceLogger
Reporting interval in seconds (default from PerlConfig).
getTimeUnit() - Method in class io.perl.logger.impl.ResultsLogger
 
getTimeUnit() - Method in interface io.perl.logger.PerformanceLogger
Time unit used to express latencies by this logger.
getTimeUnit() - Method in class io.time.MicroSeconds
get the Time Unit.
getTimeUnit() - Method in class io.time.MilliSeconds
get the Time Unit.
getTimeUnit() - Method in class io.time.NanoSeconds
get the Time Unit.
getTimeUnit() - Method in interface io.time.Time
get the Time Unit.

H

HashMapLatencyRecorder - Class in io.perl.api.impl
class for Performance statistics.
HashMapLatencyRecorder(long, long, long, long, long, double[], Time, int) - Constructor for class io.perl.api.impl.HashMapLatencyRecorder
Constructor HashMapLatencyRecorder initializing all values.
HDR_SIGNIFICANT_DIGITS - Static variable in class io.perl.config.LatencyConfig
Number of significant digits used by HDR histograms.
HdrExtendedLatencyRecorder - Class in io.perl.api.impl
Class HdrExtendedLatencyRecorder.
HdrExtendedLatencyRecorder(long, long, long, long, long, double[], Time, LatencyRecordWindow) - Constructor for class io.perl.api.impl.HdrExtendedLatencyRecorder
Constructor HdrExtendedLatencyRecorder initializing all values.
higherDiscardName - Variable in class io.perl.logger.impl.Metrics
String higherDiscardName.
higherLatencyDiscardRecords - Variable in class io.perl.api.LatencyRecord
Number of latency samples discarded because they exceeded the maximum threshold.
highLatency - Variable in class io.perl.api.LatencyRecorder
Maximum accepted latency value (above this, samples are discarded).
histogram - Variable in class io.perl.config.LatencyConfig
Whether histogram output is enabled.

I

idleNS - Variable in class io.perl.config.PerlConfig
Idle time between operations (in nanoseconds).
invalidLatencyRecords - Variable in class io.perl.api.LatencyRecord
Number of invalid/negative latency samples observed.
invalidLatencyRecordsName - Variable in class io.perl.logger.impl.Metrics
String invalidLatencyRecordsName.
io.perl.api - package io.perl.api
 
io.perl.api.impl - package io.perl.api.impl
 
io.perl.config - package io.perl.config
 
io.perl.data - package io.perl.data
 
io.perl.exception - package io.perl.exception
 
io.perl.logger - package io.perl.logger
 
io.perl.logger.impl - package io.perl.logger.impl
 
io.perl.system - package io.perl.system
 
io.state - package io.state
 
io.time - package io.time
 
isEnd() - Method in class io.perl.api.TimeStamp
Checks if this timestamp is the end marker.
isFull() - Method in class io.perl.api.impl.ArrayLatencyRecorder
 
isFull() - Method in class io.perl.api.impl.CSVExtendedLatencyRecorder
 
isFull() - Method in class io.perl.api.impl.HdrExtendedLatencyRecorder
 
isFull() - Method in class io.perl.api.impl.LongHashMapLatencyRecorder
 
isFull() - Method in class io.perl.api.impl.MapLatencyRecorder
 
isFull() - Method in class io.perl.api.LatencyWindow
Indicates whether the underlying storage used by the window is full.
isOverflow() - Method in class io.perl.api.LatencyRecorder
Checks whether any configured thresholds have been exceeded.

L

latencies - Variable in class io.perl.api.LatencyPercentiles
Computed latency values for each configured percentile.
latenciesCount - Variable in class io.perl.api.LatencyPercentiles
Counts for each percentile (populated during copyLatency).
LATENCY_VALUE_SIZE_BYTES - Static variable in class io.perl.config.LatencyConfig
Size in bytes of a single latency value (64-bit long).
LatencyConfig - Class in io.perl.config
Class LatencyConfig.
LatencyConfig() - Constructor for class io.perl.config.LatencyConfig
 
latencyIndexes - Variable in class io.perl.api.LatencyPercentiles
Target indexes, computed in LatencyPercentiles.reset(long) for each percentile.
LatencyPercentiles - Class in io.perl.api
Helper that holds the configured percentile fractions and computed percentile latency results.
LatencyPercentiles(double[]) - Constructor for class io.perl.api.LatencyPercentiles
Construct with the configured percentile fractions.
LatencyRecord - Class in io.perl.api
Base class that holds aggregated latency and count statistics for a measurement window or total aggregation.
LatencyRecord() - Constructor for class io.perl.api.LatencyRecord
Construct and reset counters.
LatencyRecorder - Class in io.perl.api
Recorder that accumulates latency statistics and enforces configured bounds (min/max latencies and total thresholds).
LatencyRecorder(long, long, long, long, long) - Constructor for class io.perl.api.LatencyRecorder
Construct a LatencyRecorder with configured thresholds.
LatencyRecordWindow - Class in io.perl.api
Concrete extension of LatencyWindow that implements reporting interfaces to receive both per-latency and aggregated latency records.
LatencyRecordWindow(long, long, long, long, long, double[], Time) - Constructor for class io.perl.api.LatencyRecordWindow
Construct a latency record window with configured thresholds and percentiles.
LatencyWindow - Class in io.perl.api
LatencyWindow aggregates latency and throughput data.
LatencyWindow(long, long, long, long, long, double[], Time) - Constructor for class io.perl.api.LatencyWindow
Construct a latency window with configured thresholds and percentiles.
log - Static variable in class io.perl.system.PerlPrinter
Logger instance for PerL internals.
LONG_MAX - Static variable in class io.perl.config.LatencyConfig
Safety cap for individual latency counters to avoid overflow.
LongHashMapLatencyRecorder - Class in io.perl.api.impl
 
LongHashMapLatencyRecorder(long, long, long, long, long, double[], Time, int) - Constructor for class io.perl.api.impl.LongHashMapLatencyRecorder
Constructor LongHashMapLatencyRecorder initializing all values.
lowerDiscardName - Variable in class io.perl.logger.impl.Metrics
String lowerDiscardName.
lowerLatencyDiscardRecords - Variable in class io.perl.api.LatencyRecord
Number of latency samples discarded because they were below the minimum threshold.
lowLatency - Variable in class io.perl.api.LatencyRecorder
Minimum accepted latency value (below this, samples are discarded).

M

MapLatencyRecorder - Class in io.perl.api.impl
class for Map based Performance statistics.
MapLatencyRecorder(Map<Long, Long>, long, long, long, long, long, double[], Time, int) - Constructor for class io.perl.api.impl.MapLatencyRecorder
Constructor MapLatencyRecorder initializing all values.
maxArraySizeMB - Variable in class io.perl.config.LatencyConfig
Maximum memory allowed (in MB) for array-based latency storage.
maxHashMapSizeMB - Variable in class io.perl.config.LatencyConfig
Maximum memory allowed (in MB) for HashMap-based latency storage.
maxLatency - Variable in class io.perl.api.LatencyRecord
Maximum observed latency.
maxLatencyName - Variable in class io.perl.logger.impl.Metrics
String maxLatencyName.
maxQs - Variable in class io.perl.config.PerlConfig
Maximum number of queues allowed.
mbPsecName - Variable in class io.perl.logger.impl.Metrics
String mbPsecName.
mcs - Enum constant in enum class io.time.TimeUnit
mcs { public String toString() {return "MICROSECONDS";} }.
medianIndex - Variable in class io.perl.api.LatencyPercentiles
Median index position used to detect median bucket.
medianLatency - Variable in class io.perl.api.LatencyPercentiles
Median latency value (computed as the 50th percentile approximation).
metricPrefix - Variable in class io.perl.logger.impl.Metrics
String metricPrefix.
Metrics - Class in io.perl.logger.impl
Metrics name builder used by metric-based logger implementations.
Metrics(String, String, double[]) - Constructor for class io.perl.logger.impl.Metrics
Constructor Metrics for initializing All Values.
metricTimeUnit - Variable in class io.perl.logger.impl.Metrics
String metricTimeUnit.
MICROS_PER_MS - Static variable in interface io.time.Time
MICROS_PER_MS = 1000.
MICROS_PER_SEC - Static variable in interface io.time.Time
MICROS_PER_SEC = MICROS_PER_MS * MS_PER_SEC.
MicroSeconds - Class in io.time
Class MicroSeconds.
MicroSeconds() - Constructor for class io.time.MicroSeconds
 
MilliSeconds - Class in io.time
Class MilliSeconds.
MilliSeconds() - Constructor for class io.time.MilliSeconds
 
MIN_IDLE_NS - Static variable in class io.perl.config.PerlConfig
Minimum idle time (in nanoseconds) used to yield between operations.
MIN_Q_PER_WORKER - Static variable in class io.perl.config.PerlConfig
Minimum number of queues per worker.
MIN_WORKERS - Static variable in class io.perl.config.PerlConfig
Minimum number of worker threads allowed.
minLatency - Variable in class io.perl.api.LatencyRecord
Minimum observed latency; starts at Long.MAX_VALUE until samples are recorded.
minLatencyName - Variable in class io.perl.logger.impl.Metrics
String minLatencyName.
ms - Enum constant in enum class io.time.TimeUnit
ms { public String toString() {return "MILLISECONDS";} }.
MS_PER_MIN - Static variable in interface io.time.Time
MS_PER_MIN = MS_PER_SEC * 60.
MS_PER_SEC - Static variable in interface io.time.Time
MS_PER_SEC = 1000.

N

NAME - Static variable in class io.perl.config.PerlConfig
String NAME = "PerL".
NanoSeconds - Class in io.time
Class NanoSeconds.
NanoSeconds() - Constructor for class io.time.NanoSeconds
 
ns - Enum constant in enum class io.time.TimeUnit
ns { public String toString() {return "NANOSECONDS";} }.
NS_PER_MICRO - Static variable in interface io.time.Time
NS_PER_MICRO = 1000.
NS_PER_MS - Static variable in interface io.time.Time
NS_PER_MS = NS_PER_MICRO * MICROS_PER_MS.
NS_PER_SEC - Static variable in interface io.time.Time
NS_PER_SEC = MS_PER_SEC * NS_PER_MS.

P

PERCENTILE_FORMAT - Static variable in class io.perl.config.LatencyConfig
Format string used when printing percentile values.
percentileFormat - Variable in class io.perl.logger.impl.Metrics
DecimalFormat percentileFormat.
percentileLatencyCountNames - Variable in class io.perl.logger.impl.Metrics
String[] percentileNames.
percentileLatencyNames - Variable in class io.perl.logger.impl.Metrics
String[] percentileNames.
percentiles - Variable in class io.perl.api.LatencyWindow
 
PERCENTILES - Static variable in class io.perl.config.LatencyConfig
Default percentiles to compute and report.
PerformanceLogger - Interface in io.perl.logger
High-level logger interface used by the PerL framework to report benchmarking metrics.
PerformanceRecorder - Class in io.perl.api
Base class for implementations that collect events from multiple channels and drive periodic recorders.
PerformanceRecorder(PeriodicRecorder, Channel[], Time, int) - Constructor for class io.perl.api.PerformanceRecorder
Constructor to initialize performance recorder.
PerformanceRecorderIdleBusyWait - Class in io.perl.api.impl
Class for Performance Recording.
PerformanceRecorderIdleBusyWait(PeriodicRecorder, Channel[], Time, int, int) - Constructor for class io.perl.api.impl.PerformanceRecorderIdleBusyWait
Constructor to initialize values.
PerformanceRecorderIdleSleep - Class in io.perl.api.impl
 
PerformanceRecorderIdleSleep(PeriodicRecorder, Channel[], Time, int, int) - Constructor for class io.perl.api.impl.PerformanceRecorderIdleSleep
Constructor to initialize values.
periodicRecorder - Variable in class io.perl.api.PerformanceRecorder
 
PeriodicRecorder - Interface in io.perl.api
Recorder that receives individual events and aggregates them into periodic windows and a total aggregation.
PeriodicWindow - Interface in io.perl.api
Interface representing a periodic aggregation window used by recorders to group events between calls to PeriodicWindow.startWindow(long) and PeriodicWindow.stopWindow(long).
Perl - Interface in io.perl.api
Core PerL public interface representing a running performance benchmark instance.
PerlBuilder - Class in io.perl.api.impl
Helper class responsible for constructing configured PerL instances and their supporting components (time implementations, latency windows, and periodic recorders) based on supplied configuration and logger choices.
PerlBuilder() - Constructor for class io.perl.api.impl.PerlBuilder
 
PerlChannel - Interface in io.perl.api
A dedicated channel used by a single thread to submit benchmarking events to a PerL instance.
PerlConfig - Class in io.perl.config
Class PerlConfig extending LatencyConfig.
PerlConfig() - Constructor for class io.perl.config.PerlConfig
 
PerlPrinter - Class in io.perl.system
Centralized logger used by PerL classes.
PerlPrinter() - Constructor for class io.perl.system.PerlPrinter
 
poll() - Method in class io.perl.api.impl.AtomicQueue
 
poll() - Method in class io.perl.api.impl.CQueue
 
poll() - Method in class io.perl.api.impl.SyncQueue
 
poll() - Method in interface io.perl.api.Queue
Return data of type T from queue, or null if none is available.
poll(int) - Method in class io.perl.api.impl.ConcurrentLinkedQueueArray
 
poll(int) - Method in class io.perl.api.impl.CQueueArray
 
poll(int) - Method in interface io.perl.api.QueueArray
Poll an element from the queue at the given index, or null if none.
pollOnce() - Method in class io.perl.api.impl.AtomicQueue
 
pollOnce() - Method in class io.perl.api.impl.CQueue
 
print(double, long, long, double, double, double, long, long, long, long, long, long, long, long[], long[]) - Method in class io.perl.logger.impl.DefaultPrometheusLogger
 
print(double, long, long, double, double, double, long, long, long, long, long, long, long, long[], long[]) - Method in class io.perl.logger.impl.PrintMetrics
 
print(double, long, long, double, double, double, long, long, long, long, long, long, long, long[], long[]) - Method in class io.perl.logger.impl.ResultsLogger
 
print(double, long, long, double, double, double, long, long, long, long, long, long, long, long[], long[]) - Method in interface io.perl.logger.Print
Print the periodic performance results.
print(long, Print, ReportLatencies) - Method in class io.perl.api.LatencyWindow
Print the computed window statistics using the supplied logger.
Print - Interface in io.perl.logger
Print is the primary interface used by the PerL framework to emit periodic performance metrics.
PrintMetrics - Class in io.perl.logger.impl
Metric-backed results reporter that publishes values to a Micrometer CompositeMeterRegistry.
PrintMetrics(String, double[], Time, TimeUnit, CompositeMeterRegistry) - Constructor for class io.perl.logger.impl.PrintMetrics
Constructor PrintMetrics initializing all values.
printTotal(double, long, long, double, double, double, long, long, long, long, long, long, long, long[], long[]) - Method in class io.perl.logger.impl.ResultsLogger
 
printTotal(double, long, long, double, double, double, long, long, long, long, long, long, long, long[], long[]) - Method in interface io.perl.logger.PerformanceLogger
Print the Periodic performance results.
PrometheusMetricsServer - Class in io.perl.logger.impl
Metrics server wrapper that exposes Micrometer metrics via an HTTP endpoint using an embedded PrometheusServer.
PrometheusMetricsServer(String, double[], Time, TimeUnit, int, String, Iterable<Tag>) - Constructor for class io.perl.logger.impl.PrometheusMetricsServer
Constructor PrometheusMetricsServer initializing all values.
PrometheusServer - Class in io.perl.logger.impl
Lightweight embedded HTTP server that exposes a Prometheus scrape endpoint.
PrometheusServer(int, String, Iterable<Tag>) - Constructor for class io.perl.logger.impl.PrometheusServer
Constructor PrometheusServer initializing values.

Q

qPerWorker - Variable in class io.perl.config.PerlConfig
Number of queues assigned per worker.
Queue<T> - Interface in io.perl.api
A minimal queue abstraction used by PerL to decouple producers and consumers.
QueueArray<T> - Interface in io.perl.api
Represents an array of Queue instances.

R

receive(int) - Method in interface io.perl.api.Channel
Receive the benchmarking timestamp.
record(long, long, int, int) - Method in class io.perl.api.impl.TotalWindowLatencyPeriodicRecorder
 
record(long, long, int, int) - Method in interface io.perl.api.PeriodicRecorder
Record the Event/record.
record(long, long, long) - Method in class io.perl.api.LatencyRecorder
Record latency for a batch of events.
recordLatency(long, int, int, long) - Method in class io.perl.api.impl.ArrayLatencyRecorder
Record the latency.
recordLatency(long, int, int, long) - Method in class io.perl.api.impl.CSVExtendedLatencyRecorder
 
recordLatency(long, int, int, long) - Method in class io.perl.api.impl.HdrExtendedLatencyRecorder
 
recordLatency(long, int, int, long) - Method in class io.perl.api.impl.LongHashMapLatencyRecorder
Record the latency.
recordLatency(long, int, int, long) - Method in class io.perl.api.impl.MapLatencyRecorder
Record the latency.
recordLatency(long, int, int, long) - Method in class io.perl.api.impl.TotalWindowLatencyRecorder
 
recordLatency(long, int, int, long) - Method in interface io.perl.logger.PerformanceLogger
Default no-op implementation to record per-event latency.
recordLatency(long, int, int, long) - Method in interface io.perl.logger.ReportLatency
Record the latency for an event or batch.
records - Variable in class io.perl.api.TimeStamp
Number of records/events represented by this timestamp.
recordsName - Variable in class io.perl.logger.impl.Metrics
String recordsName.
recsPsecName - Variable in class io.perl.logger.impl.Metrics
String recsPsecName.
registry - Variable in class io.perl.logger.impl.PrintMetrics
MeterRegistry registry.
ReportLatencies - Interface in io.perl.api
Interface used by latency windows to retrieve percentile values from a backing latency store.
reportLatency(long, long) - Method in class io.perl.api.impl.ArrayLatencyRecorder
 
reportLatency(long, long) - Method in class io.perl.api.impl.CSVExtendedLatencyRecorder
 
reportLatency(long, long) - Method in class io.perl.api.impl.HdrExtendedLatencyRecorder
 
reportLatency(long, long) - Method in class io.perl.api.impl.LongHashMapLatencyRecorder
 
reportLatency(long, long) - Method in class io.perl.api.impl.MapLatencyRecorder
 
reportLatency(long, long) - Method in interface io.perl.api.ReportLatencies
Report a single latency value observed a number of times.
ReportLatency - Interface in io.perl.logger
Callback interface used by the PerL framework to report individual latency samples or aggregated latency events.
reportLatencyRecord(LatencyRecord) - Method in class io.perl.api.impl.ArrayLatencyRecorder
 
reportLatencyRecord(LatencyRecord) - Method in class io.perl.api.impl.CSVExtendedLatencyRecorder
 
reportLatencyRecord(LatencyRecord) - Method in class io.perl.api.impl.HdrExtendedLatencyRecorder
 
reportLatencyRecord(LatencyRecord) - Method in class io.perl.api.impl.LongHashMapLatencyRecorder
 
reportLatencyRecord(LatencyRecord) - Method in class io.perl.api.impl.MapLatencyRecorder
 
reportLatencyRecord(LatencyRecord) - Method in interface io.perl.api.ReportLatencies
Report an aggregated latency record (bucket summary) to the consumer.
reset() - Method in class io.perl.api.impl.ElasticWait
This method initialize ElasticWait.idleCount to zero.
reset() - Method in class io.perl.api.LatencyRecord
Reset all recording variables to initial state.
reset(long) - Method in class io.perl.api.impl.ArrayLatencyRecorder
 
reset(long) - Method in class io.perl.api.impl.CSVExtendedLatencyRecorder
 
reset(long) - Method in class io.perl.api.impl.HdrExtendedLatencyRecorder
 
reset(long) - Method in class io.perl.api.impl.LongHashMapLatencyRecorder
 
reset(long) - Method in class io.perl.api.impl.MapLatencyRecorder
 
reset(long) - Method in class io.perl.api.LatencyPercentiles
Reset internal target indexes and counters using the provided total records count.
reset(long) - Method in class io.perl.api.LatencyWindow
Reset the window state and set the start time.
ResultsLogger - Class in io.perl.logger.impl
Base implementation for printing benchmark results to different sinks.
ResultsLogger() - Constructor for class io.perl.logger.impl.ResultsLogger
Constructor ResultsLogger takes no arguments but initialize all values with default values.
ResultsLogger(String, double[], TimeUnit, long, long) - Constructor for class io.perl.logger.impl.ResultsLogger
Constructor ResultsLogger initialize all values with given parameters.
run(long, long) - Method in class io.perl.api.impl.CQueuePerl
Run the CQ Perl.
run(long, long) - Method in class io.perl.api.impl.PerformanceRecorderIdleBusyWait
Method run.
run(long, long) - Method in class io.perl.api.impl.PerformanceRecorderIdleSleep
Method run.
run(long, long) - Method in class io.perl.api.PerformanceRecorder
Main loop that consumes channel events and updates periodic recorders.
run(long, long) - Method in interface io.perl.api.RunBenchmark
Start the performance benchmark.
RUN - Enum constant in enum class io.state.State
RUN = 1.
RunBenchmark - Interface in io.perl.api
Contract for starting a benchmark run.

S

send(long, long, int, int) - Method in interface io.perl.api.PerlChannel
Send benchmarking data for aggregation.
sendEndTime(long) - Method in interface io.perl.api.Channel
Send an end time indication to consumers.
setElastic(long) - Method in class io.perl.api.impl.ElasticWait
This method sets the ElasticWait.elasticCount and initialize ElasticWait.totalCount to zero.
setMaxLatency(long) - Method in class io.perl.logger.impl.ResultsLogger
 
setMinLatency(long) - Method in class io.perl.logger.impl.ResultsLogger
 
setPercentiles(double[]) - Method in class io.perl.logger.impl.ResultsLogger
 
setPrefix(String) - Method in class io.perl.logger.impl.ResultsLogger
 
setTimeUnit(TimeUnit) - Method in class io.perl.logger.impl.ResultsLogger
 
slc1Name - Variable in class io.perl.logger.impl.Metrics
String slc1Name.
slc2Name - Variable in class io.perl.logger.impl.Metrics
String slc2Name.
sleepMS - Variable in class io.perl.config.PerlConfig
Sleep interval between loops (in milliseconds), when applicable.
start() - Method in class io.perl.logger.impl.DefaultPrometheusLogger
Starts this server in a new background thread.
start() - Method in class io.perl.logger.impl.PrometheusMetricsServer
Starts this server in a new background thread.
start() - Method in class io.perl.logger.impl.PrometheusServer
Starts this server in a new background thread.
start(long) - Method in class io.perl.api.impl.TotalLatencyRecordWindow
 
start(long) - Method in interface io.perl.api.TotalPeriodicWindow
Start the total aggregation window at the given start time.
startTime - Variable in class io.perl.api.TimeStamp
Event start time (caller-defined time unit).
startWindow(long) - Method in class io.perl.api.impl.TotalLatencyRecordWindow
 
startWindow(long) - Method in interface io.perl.api.PeriodicWindow
Start the Recording window.
State - Enum Class in io.state
enum State { BEGIN, RUN, END}.
stop() - Method in class io.perl.api.impl.CQueuePerl
Stop the CQ Perl.
stop() - Method in interface io.perl.api.Perl
Stop and shutdown the benchmark.
stop() - Method in class io.perl.logger.impl.DefaultPrometheusLogger
calls close method from it's super class and Stops this server by closing the listening socket and disallowing any new exchanges from being processed.
stop() - Method in class io.perl.logger.impl.PrometheusMetricsServer
calls close method from it's super class and Stops this server by closing the listening socket and disallowing any new exchanges from being processed.
stop() - Method in class io.perl.logger.impl.PrometheusServer
Stops this server by closing the listening socket and disallowing any new exchanges from being processed.
stop(long) - Method in class io.perl.api.impl.TotalLatencyRecordWindow
 
stop(long) - Method in interface io.perl.api.TotalPeriodicWindow
Stop the total aggregation window and flush final totals.
stopWindow(long) - Method in class io.perl.api.impl.TotalLatencyRecordWindow
 
stopWindow(long) - Method in interface io.perl.api.PeriodicWindow
Stop the Recording window.
SyncQueue<T> - Class in io.perl.api.impl
 
SyncQueue() - Constructor for class io.perl.api.impl.SyncQueue
 

T

throwException(Throwable) - Method in interface io.perl.exception.ExceptionHandler
Report or propagate an exception occurred inside the PerL runtime.
time - Variable in class io.perl.api.LatencyWindow
 
time - Variable in class io.perl.api.PerformanceRecorder
 
Time - Interface in io.time
Interface Time.
TimeStamp - Class in io.perl.api
Immutable container representing a benchmarking event timestamp.
TimeStamp() - Constructor for class io.perl.api.TimeStamp
Create an empty TimeStamp with all zeros.
TimeStamp(long) - Constructor for class io.perl.api.TimeStamp
Create an end marker TimeStamp.
TimeStamp(long, long, int, int) - Constructor for class io.perl.api.TimeStamp
Constructor TimeStamp initialize all values.
TimeUnit - Enum Class in io.time
enum TimeUnit { ms { public String toString() {return "MILLISECONDS";} }, mcs { public String toString() {return "MICROSECONDS";} }, ns { public String toString() {return "NANOSECONDS";} } }.
TOTAL_LATENCY_MAX - Static variable in class io.perl.config.LatencyConfig
Safety cap for total latency accumulators to avoid overflow.
totalBytes - Variable in class io.perl.api.LatencyRecord
Cumulative bytes observed during the aggregation period.
totalBytesMax - Variable in class io.perl.api.LatencyRecorder
Maximum allowed total bytes before overflow.
totalLatency - Variable in class io.perl.api.LatencyRecord
Sum of latencies of valid samples; used to compute averages.
totalLatencyMax - Variable in class io.perl.api.LatencyRecorder
Maximum allowed cumulative latency before overflow.
TotalLatencyRecordWindow - Class in io.perl.api.impl
Combines a per-window latency store and a total-window store and provides the PeriodicWindow/TotalPeriodicWindow lifecycle semantics.
TotalLatencyRecordWindow(LatencyRecordWindow, LatencyRecordWindow, Print, Print) - Constructor for class io.perl.api.impl.TotalLatencyRecordWindow
Construct with window and total-window storage and corresponding loggers.
totalLogger - Variable in class io.perl.api.impl.TotalLatencyRecordWindow
Print totalLogger.
totalMaxHashMapSizeMB - Variable in class io.perl.config.LatencyConfig
Global maximum memory allowed (in MB) for all HashMaps combined.
TotalPeriodicWindow - Interface in io.perl.api
Interface that extends PeriodicWindow with lifecycle methods for a total aggregation window.
totalRecords - Variable in class io.perl.api.LatencyRecord
Total number of records observed.
totalRecordsMax - Variable in class io.perl.api.LatencyRecorder
Maximum allowed total records before overflow.
totalWindow - Variable in class io.perl.api.impl.TotalLatencyRecordWindow
LatencyRecordWindow totalWindow.
TotalWindowLatencyPeriodicRecorder - Class in io.perl.api.impl
Class TotalWindowLatencyPeriodicRecorder.
TotalWindowLatencyPeriodicRecorder(LatencyRecordWindow, LatencyRecordWindow, Print, Print, ReportLatency, Time) - Constructor for class io.perl.api.impl.TotalWindowLatencyPeriodicRecorder
Constructor TotalWindowLatencyPeriodicRecorder passing values to its super class and initializing TotalWindowLatencyPeriodicRecorder.time and TotalWindowLatencyPeriodicRecorder.reportLatency.
TotalWindowLatencyRecorder - Class in io.perl.api.impl
Recorder that forwards incoming latency samples to a windowed storage and checks whether the window storage is full to trigger periodic resets.
TotalWindowLatencyRecorder(LatencyRecordWindow, LatencyRecordWindow, Print, Print) - Constructor for class io.perl.api.impl.TotalWindowLatencyRecorder
Construct recorder with per-window and total storage plus loggers.

U

update(long, long, long, long, long, long, long, long, long) - Method in class io.perl.api.LatencyRecorder
Update the recorder counters by adding the provided values.
update(LatencyRecord) - Method in class io.perl.api.LatencyRecorder
Update using another LatencyRecord instance.
updateElastic(long) - Method in class io.perl.api.impl.ElasticWait
This method update the ElasticWait.elasticCount.

V

validLatencyRecords - Variable in class io.perl.api.LatencyRecord
Number of records counted as valid latency samples.
valueOf(String) - Static method in enum class io.state.State
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.time.TimeUnit
Returns the enum constant of this class with the specified name.
values() - Static method in enum class io.state.State
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.time.TimeUnit
Returns an array containing the constants of this enum class, in the order they are declared.

W

waitAndCheck() - Method in class io.perl.api.impl.ElasticWait
Checks if ElasticWait.idleCount is greater than ElasticWait.elasticCount.
window - Variable in class io.perl.api.impl.TotalLatencyRecordWindow
LatencyRecordWindow window.
windowIntervalMS - Variable in class io.perl.api.PerformanceRecorder
 
windowLogger - Variable in class io.perl.api.impl.TotalLatencyRecordWindow
Print windowLogger.
workers - Variable in class io.perl.config.PerlConfig
Number of worker threads to run.
A B C D E F G H I L M N P Q R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values