Class GemPrometheusLogger

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.sbm.logger.impl.AbstractRamLogger
io.sbm.logger.impl.SbmPrometheusLogger
io.gem.logger.impl.GemPrometheusLogger
All Implemented Interfaces:
GemLogger, GetArguments, io.perl.api.ReportLatencies, io.perl.logger.PerformanceLogger, io.perl.logger.Print, io.perl.logger.ReportLatency, io.sbk.logger.CountReaders, io.sbk.logger.CountRW, io.sbk.logger.CountWriters, io.sbk.logger.Logger, io.sbk.logger.ReadRequestsLogger, io.sbk.logger.RWLogger, io.sbk.logger.RWPrint, io.sbk.logger.SetRW, io.sbk.logger.WriteRequestsLogger, io.sbm.logger.CountConnections, io.sbm.logger.RamLogger

public final class GemPrometheusLogger extends io.sbm.logger.impl.SbmPrometheusLogger implements GemLogger
Prometheus-backed GEM logger built atop SbmPrometheusLogger.

Provides the CLI arguments expected by GEM when launching remote SBK instances. Options returned by getOptionsArgs() are those the logger contributes to the command line. getParsedArgs() returns the concrete values based on the current logger configuration (time unit, latency bounds, CSV settings, metrics context).

  • Field Summary

    Fields inherited from class io.sbk.logger.impl.CSVLogger

    DISABLE_STRING, REGULAR_PRINT, TOTAL_PRINT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    List of logger-specific CLI options that GEM should include when composing the remote SBK command line.
    Concrete logger arguments reflecting current configuration.

    Methods inherited from class io.sbm.logger.impl.SbmPrometheusLogger

    print, printTotal

    Methods inherited from class io.sbm.logger.impl.AbstractRamLogger

    appendConnections, decrementConnections, getMetricsConfigStream, getPrometheusRWMetricsServer, incrementConnections, open, parseArgs, print, printTotal, recordLatency, recordReadRequests, recordReadTimeoutEvents, recordWriteRequests, recordWriteTimeoutEvents, reportLatency, reportLatencyRecord

    Methods inherited from class io.sbk.logger.impl.PrometheusLogger

    addArgs, close, getMetricsConfig

    Methods inherited from class io.sbk.logger.impl.CSVLogger

    getCsvFile, isCsvEnable, openCSV, writeToCSV

    Methods 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, setWriters

    Methods inherited from class io.perl.logger.impl.ResultsLogger

    appendResultString, getMaxLatency, getMinLatency, getPercentileNames, getPercentiles, getPrefix, getTimeUnit, setMaxLatency, setMinLatency, setPercentiles, setPrefix, setTimeUnit

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.sbm.logger.CountConnections

    decrementConnections, incrementConnections

    Methods inherited from interface io.sbk.logger.Logger

    addArgs, close, open, parseArgs, setExceptionHandler

    Methods inherited from interface io.perl.logger.PerformanceLogger

    getMaxLatency, getMinLatency, getPercentiles, getPrintingIntervalSeconds, getTimeUnit, printTotal, recordLatency

    Methods inherited from interface io.perl.logger.Print

    print

    Methods inherited from interface io.sbm.logger.RamLogger

    print, printTotal

    Methods inherited from interface io.sbk.logger.ReadRequestsLogger

    recordReadTimeoutEvents

    Methods inherited from interface io.perl.api.ReportLatencies

    reportLatency, reportLatencyRecord

    Methods inherited from interface io.sbk.logger.SetRW

    setMaxReaders, setMaxWriters, setReaders, setWriters

    Methods inherited from interface io.sbk.logger.WriteRequestsLogger

    recordWriteTimeoutEvents
  • Constructor Details

    • GemPrometheusLogger

      public GemPrometheusLogger()
  • Method Details

    • getOptionsArgs

      public String[] getOptionsArgs()
      List of logger-specific CLI options that GEM should include when composing the remote SBK command line.
      Specified by:
      getOptionsArgs in interface GetArguments
      Returns:
      array of option names (e.g., -time, -minlatency, -maxlatency, -csvfile, -context)
    • getParsedArgs

      public String[] getParsedArgs()
      Concrete logger arguments reflecting current configuration.

      If CSV is enabled, includes the CSV filepath; otherwise omits it. Always includes time unit, latency bounds, and the metrics context (port + context path).

      Specified by:
      getParsedArgs in interface GetArguments
      Returns:
      array of option/value pairs to be appended to the remote SBK command.