Package io.sbk.logger.impl
Class GrpcLogger
java.lang.Object
io.perl.logger.impl.ResultsLogger
io.sbk.logger.impl.AbstractRWLogger
io.sbk.logger.impl.SystemLogger
io.sbk.logger.impl.CSVLogger
io.sbk.logger.impl.PrometheusLogger
io.sbk.logger.impl.GrpcLogger
- All Implemented Interfaces:
 io.perl.logger.PerformanceLogger,io.perl.logger.Print,io.perl.logger.ReportLatency,CountReaders,CountRW,CountWriters,Logger,ReadRequestsLogger,RWLogger,RWPrint,SetRW,WriteRequestsLogger
Class for Recoding/Printing benchmark results on micrometer Composite Meter Registry.
- 
Field Summary
Fields inherited from class io.sbk.logger.impl.CSVLogger
DISABLE_STRING, REGULAR_PRINT, TOTAL_PRINT - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidaddArgs(InputOptions params) Add the Metric type specific command line arguments.voidclose(ParsedOptions params) Close the Logger.voidopen(ParsedOptions params, String storageName, Action action, io.time.Time time) Open the Logger.voidparseArgs(ParsedOptions params) Parse the Metric specific command line arguments.voidprint(int writers, int maxWriters, int readers, int maxReaders, long writeRequestBytes, double writeRequestMbPerSec, long writeRequestRecords, double writeRequestRecordsPerSec, long readRequestBytes, double readRequestMbPerSec, long readRequestRecords, double readRequestRecordsPerSec, long writeResponsePendingRecords, long writeResponsePendingBytes, long readResponsePendingRecords, long readResponsePendingBytes, long writeReadRequestPendingRecords, long writeReadRequestPendingBytes, long writeTimeoutEvents, double writeTimeoutEventsPerSec, long readTimeoutEvents, double readTimeoutEventsPerSec, double seconds, long bytes, long records, double recsPerSec, double mbPerSec, double avgLatency, long minLatency, long maxLatency, long invalid, long lowerDiscard, long higherDiscard, long slc1, long slc2, long[] percentileValues) Print the Periodic performance results.voidrecordLatency(long startTime, int events, int bytes, long latency) record every latency.voidrecordReadRequests(int readerId, long startTime, long bytes, long events) Default method to record every/multiple read event(s).voidrecordReadTimeoutEvents(int writerId, long startTime, long events) voidrecordWriteRequests(int writerId, long startTime, long bytes, long events) Default method to record every/multiple write event(s).voidrecordWriteTimeoutEvents(int readerId, long startTime, long events) voidSends Latencies Records.voidsetExceptionHandler(io.perl.exception.ExceptionHandler handler) Default implementation for setting exception handler.Methods inherited from class io.sbk.logger.impl.PrometheusLogger
getMetricsConfig, getMetricsConfigStream, getPrometheusRWMetricsServerMethods inherited from class io.sbk.logger.impl.CSVLogger
getCsvFile, isCsvEnable, openCSV, printTotal, writeToCSVMethods inherited from class io.sbk.logger.impl.AbstractRWLogger
appendResultString, appendWriteAndReadRequests, appendWriteAndReadRequestsPending, appendWriteAndReadTimeoutEvents, appendWritesAndReaders, decrementReaders, decrementWriters, getAction, getLoggerConfigStream, getMaxReaderIDs, getMaxReadersCount, getMaxWriterIDs, getMaxWritersCount, getPrintingIntervalSeconds, getReadersCount, getStorageName, getTime, getWritersCount, incrementReaders, incrementWriters, isReadRequestsEnabled, isWriteRequestsEnabled, print, printTotal, setMaxReaders, setMaxReadersIds, setMaxWriters, setMaxWritersIds, setReaders, setWritersMethods inherited from class io.perl.logger.impl.ResultsLogger
appendResultString, getMaxLatency, getMinLatency, getPercentileNames, getPercentiles, getPrefix, getTimeUnit, setMaxLatency, setMinLatency, setPercentiles, setPrefix, setTimeUnitMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.perl.logger.PerformanceLogger
getMaxLatency, getMinLatency, getPercentiles, getTimeUnit 
- 
Constructor Details
- 
GrpcLogger
public GrpcLogger()calls its super class PrometheusLogger. 
 - 
 - 
Method Details
- 
setExceptionHandler
public void setExceptionHandler(io.perl.exception.ExceptionHandler handler) Description copied from interface:LoggerDefault implementation for setting exception handler. if the logger encounters any exception, it can report to SBK.- Parameters:
 handler- Exception handler
 - 
addArgs
Description copied from interface:LoggerAdd the Metric type specific command line arguments.- Specified by:
 addArgsin interfaceLogger- Overrides:
 addArgsin classPrometheusLogger- Parameters:
 params- InputOptions object to be extended.- Throws:
 IllegalArgumentException- If an exception occurred.
 - 
parseArgs
Description copied from interface:LoggerParse the Metric specific command line arguments.- Specified by:
 parseArgsin interfaceLogger- Overrides:
 parseArgsin classPrometheusLogger- Parameters:
 params- InputOptions object to be parsed for driver specific parameters/arguments.- Throws:
 IllegalArgumentException- If an exception occurred.
 - 
open
public void open(ParsedOptions params, String storageName, Action action, io.time.Time time) throws IllegalArgumentException, IOException Description copied from interface:LoggerOpen the Logger.- Specified by:
 openin interfaceLogger- Overrides:
 openin classPrometheusLogger- Parameters:
 params- InputOptions object to be parsed for driver specific parameters/arguments.storageName- The Name of the storage.action- action to printtime- time interface- Throws:
 IOException- If an exception occurred.IllegalArgumentException
 - 
close
Description copied from interface:LoggerClose the Logger.- Specified by:
 closein interfaceLogger- Overrides:
 closein classPrometheusLogger- Parameters:
 params- InputOptions object to be parsed for driver specific parameters/arguments.- Throws:
 IOException- If an exception occurred.IllegalArgumentException
 - 
sendLatenciesRecord
public void sendLatenciesRecord()Sends Latencies Records. - 
recordWriteRequests
public void recordWriteRequests(int writerId, long startTime, long bytes, long events) Description copied from interface:RWLoggerDefault method to record every/multiple write event(s).- Specified by:
 recordWriteRequestsin interfaceRWLogger- Specified by:
 recordWriteRequestsin interfaceWriteRequestsLogger- Overrides:
 recordWriteRequestsin classAbstractRWLogger
 - 
recordReadRequests
public void recordReadRequests(int readerId, long startTime, long bytes, long events) Description copied from interface:RWLoggerDefault method to record every/multiple read event(s).- Specified by:
 recordReadRequestsin interfaceReadRequestsLogger- Specified by:
 recordReadRequestsin interfaceRWLogger- Overrides:
 recordReadRequestsin classAbstractRWLogger
 - 
recordWriteTimeoutEvents
public void recordWriteTimeoutEvents(int readerId, long startTime, long events) - Specified by:
 recordWriteTimeoutEventsin interfaceWriteRequestsLogger- Overrides:
 recordWriteTimeoutEventsin classAbstractRWLogger
 - 
recordReadTimeoutEvents
public void recordReadTimeoutEvents(int writerId, long startTime, long events) - Specified by:
 recordReadTimeoutEventsin interfaceReadRequestsLogger- Overrides:
 recordReadTimeoutEventsin classAbstractRWLogger
 - 
recordLatency
public void recordLatency(long startTime, int events, int bytes, long latency) record every latency. - 
print
public void print(int writers, int maxWriters, int readers, int maxReaders, long writeRequestBytes, double writeRequestMbPerSec, long writeRequestRecords, double writeRequestRecordsPerSec, long readRequestBytes, double readRequestMbPerSec, long readRequestRecords, double readRequestRecordsPerSec, long writeResponsePendingRecords, long writeResponsePendingBytes, long readResponsePendingRecords, long readResponsePendingBytes, long writeReadRequestPendingRecords, long writeReadRequestPendingBytes, long writeTimeoutEvents, double writeTimeoutEventsPerSec, long readTimeoutEvents, double readTimeoutEventsPerSec, double seconds, long bytes, long records, double recsPerSec, double mbPerSec, double avgLatency, long minLatency, long maxLatency, long invalid, long lowerDiscard, long higherDiscard, long slc1, long slc2, long[] percentileValues) Description copied from interface:RWPrintPrint the Periodic performance results.- Specified by:
 printin interfaceRWPrint- Overrides:
 printin classPrometheusLogger- Parameters:
 writers- number of active writersmaxWriters- Max writersreaders- number of active readersmaxReaders- Max ReaderswriteRequestBytes- Write requests ByteswriteRequestMbPerSec- Write requests MB/secwriteRequestRecords- Write RequestswriteRequestRecordsPerSec- Write Requests/secreadRequestBytes- Read requests BytesreadRequestMbPerSec- Read requests MB/secreadRequestRecords- Read requestsreadRequestRecordsPerSec- Read Requests/secwriteResponsePendingRecords- Write response pending recordswriteResponsePendingBytes- Write response pending bytesreadResponsePendingRecords- Read response pending recordsreadResponsePendingBytes- Read response pending byteswriteReadRequestPendingRecords- Write read pending recordswriteReadRequestPendingBytes- Write read pending byteswriteTimeoutEvents- Timeout Write EventswriteTimeoutEventsPerSec- Timeout Write Events/secreadTimeoutEvents- Timeout Read EventsreadTimeoutEventsPerSec- Timeout Write Events/secseconds- reporting duration in secondsbytes- number of bytes read/writerecords- data to write.recsPerSec- records per second.mbPerSec- Throughput value in terms of MB (Mega Bytes) per Second.avgLatency- Average Latency.minLatency- Minimum Latency.maxLatency- Maximum Latency.invalid- Number of invalid/negative latencies.lowerDiscard- number of discarded latencies which are less than minimum latency.higherDiscard- number of discarded latencies which are higher than maximum latency.slc1- Sliding Latency Coverage factorslc2- Sliding Latency Coverage factorpercentileValues- Array of percentile Values.
 
 -