Class WebConsoleLoggerSupport

java.lang.Object
io.sbk.webconsole.WebConsoleLoggerSupport
All Implemented Interfaces:
AutoCloseable

public final class WebConsoleLoggerSupport extends Object implements AutoCloseable
Shared Local Web Console configuration, lifecycle, and snapshot construction for SBK, SBM, and GEM loggers.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Web console benchmark-board name CLI option.
    static final String
    Web console browser-open CLI option.
    static final String
    Web console port CLI option.
    static final String
    Web console history duration CLI option.
    static final String
    Web console idle-timeout CLI option.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates Local Web Console support with configuration loaded when arguments are added.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Adds the Local Web Console command-line options.
    void
     
    Returns web console option names, including the command-line prefix.
    Returns the current web console option/value pairs for forwarding to SBM.
    void
    open(String source, String storage, Action action, io.time.TimeUnit timeUnit, double[] percentiles)
    Starts or reuses the Local Web Console and registers a benchmark run.
    void
    Parses Local Web Console options.
    void
    publish(int connections, int maxConnections, 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 recordsPerSec, double mbPerSec, double averageLatency, long minimumLatency, long maximumLatency, long invalid, long lowerDiscard, long higherDiscard, long slc1, long slc2, long[] percentileLatencies, long[] percentileLatencyCounts)
    Publishes one regular reporting-window snapshot without blocking the caller on HTTP I/O.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • WebConsoleLoggerSupport

      public WebConsoleLoggerSupport()
      Creates Local Web Console support with configuration loaded when arguments are added.
  • Method Details

    • addArgs

      public void addArgs(InputOptions params)
      Adds the Local Web Console command-line options.
      Parameters:
      params - input option registry
    • parseArgs

      public void parseArgs(ParsedOptions params)
      Parses Local Web Console options.
      Parameters:
      params - parsed command-line options
      Throws:
      IllegalArgumentException - if a web console option is invalid
    • open

      public void open(String source, String storage, Action action, io.time.TimeUnit timeUnit, double[] percentiles) throws IOException
      Starts or reuses the Local Web Console and registers a benchmark run.
      Parameters:
      source - source application name
      storage - storage driver name
      action - benchmark action
      timeUnit - latency time unit
      percentiles - configured percentile labels
      Throws:
      IOException - if the web console cannot register this benchmark run
    • publish

      public void publish(int connections, int maxConnections, 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 recordsPerSec, double mbPerSec, double averageLatency, long minimumLatency, long maximumLatency, long invalid, long lowerDiscard, long higherDiscard, long slc1, long slc2, long[] percentileLatencies, long[] percentileLatencyCounts)
      Publishes one regular reporting-window snapshot without blocking the caller on HTTP I/O.
      Parameters:
      connections - active connections
      maxConnections - maximum connections
      writers - active writers
      maxWriters - maximum writers
      readers - active readers
      maxReaders - maximum readers
      writeRequestBytes - write request bytes
      writeRequestMbPerSec - write request throughput
      writeRequestRecords - write request records
      writeRequestRecordsPerSec - write request rate
      readRequestBytes - read request bytes
      readRequestMbPerSec - read request throughput
      readRequestRecords - read request records
      readRequestRecordsPerSec - read request rate
      writeResponsePendingRecords - pending write records
      writeResponsePendingBytes - pending write bytes
      readResponsePendingRecords - pending read records
      readResponsePendingBytes - pending read bytes
      writeReadRequestPendingRecords - pending combined records
      writeReadRequestPendingBytes - pending combined bytes
      writeTimeoutEvents - write timeout events
      writeTimeoutEventsPerSec - write timeout rate
      readTimeoutEvents - read timeout events
      readTimeoutEventsPerSec - read timeout rate
      seconds - elapsed seconds
      bytes - completed bytes
      records - completed records
      recordsPerSec - completed record rate
      mbPerSec - completed throughput
      averageLatency - average latency
      minimumLatency - minimum latency
      maximumLatency - maximum latency
      invalid - invalid latencies
      lowerDiscard - low discarded latencies
      higherDiscard - high discarded latencies
      slc1 - first SLC count
      slc2 - second SLC count
      percentileLatencies - percentile values
      percentileLatencyCounts - percentile counts
    • getOptionsArgs

      public String[] getOptionsArgs()
      Returns web console option names, including the command-line prefix.
      Returns:
      web console options
    • getParsedArgs

      public String[] getParsedArgs()
      Returns the current web console option/value pairs for forwarding to SBM.
      Returns:
      parsed web console arguments
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable