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.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
    Creates a Prometheus logger for GEM benchmark results.
  • 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.
    protected String
    getTimeStamp(long arg0)
     
    final void
    print(int arg0, int arg1, int arg2, int arg3, long arg4, double arg5, long arg6, double arg7, long arg8, double arg9, long arg10, double arg11, long arg12, long arg13, long arg14, long arg15, long arg16, long arg17, long arg18, double arg19, long arg20, double arg21, double arg22, long arg23, long arg24, double arg25, double arg26, double arg27, long arg28, long arg29, long arg30, long arg31, long arg32, long arg33, long arg34, long[] arg35, long[] arg36)
     
    final void
    printTotal(int arg0, int arg1, int arg2, int arg3, long arg4, double arg5, long arg6, double arg7, long arg8, double arg9, long arg10, double arg11, long arg12, long arg13, long arg14, long arg15, long arg16, long arg17, long arg18, double arg19, long arg20, double arg21, double arg22, long arg23, long arg24, double arg25, double arg26, double arg27, long arg28, long arg29, long arg30, long arg31, long arg32, long arg33, long arg34, long[] arg35, long[] arg36)
     

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

    addArgs, close, createPrometheusServer, decrementConnections, getMetricsConfig, getMetricsConfigStream, incrementConnections, open, parseArgs, print, printTotal

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

    appendConnections, print, printTotal, recordReadRequests, recordReadTimeoutEvents, recordWriteRequests, recordWriteTimeoutEvents, reportLatency, reportLatencyRecord

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

    getCsvFile, isCsvEnable, isCsvWriterClosed, openCSV, writeToCSV

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

    recordLatency, recordsIndividualLatencies

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

    appendResultString, appendWriteAndReadRequests, appendWriteAndReadRequestsPending, appendWriteAndReadTimeoutEvents, appendWritesAndReaders, decrementReaders, decrementWriters, getAction, getConfiguredMaxRequestIds, 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 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, reportFailure, setExceptionHandler

    Methods inherited from interface io.perl.logger.PerformanceLogger

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

    Methods inherited from interface io.perl.logger.Print

    print

    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()
      Creates a Prometheus logger for GEM benchmark results.
  • 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.
    • getTimeStamp

      protected String getTimeStamp(long arg0)
    • print

      public final void print(int arg0, int arg1, int arg2, int arg3, long arg4, double arg5, long arg6, double arg7, long arg8, double arg9, long arg10, double arg11, long arg12, long arg13, long arg14, long arg15, long arg16, long arg17, long arg18, double arg19, long arg20, double arg21, double arg22, long arg23, long arg24, double arg25, double arg26, double arg27, long arg28, long arg29, long arg30, long arg31, long arg32, long arg33, long arg34, long[] arg35, long[] arg36)
      Specified by:
      print in interface io.sbk.logger.RWPrint
      Overrides:
      print in class io.sbk.logger.impl.AbstractRWLogger
    • printTotal

      public final void printTotal(int arg0, int arg1, int arg2, int arg3, long arg4, double arg5, long arg6, double arg7, long arg8, double arg9, long arg10, double arg11, long arg12, long arg13, long arg14, long arg15, long arg16, long arg17, long arg18, double arg19, long arg20, double arg21, double arg22, long arg23, long arg24, double arg25, double arg26, double arg27, long arg28, long arg29, long arg30, long arg31, long arg32, long arg33, long arg34, long[] arg35, long[] arg36)
      Specified by:
      printTotal in interface io.sbk.logger.RWLogger
      Overrides:
      printTotal in class io.sbk.logger.impl.AbstractRWLogger