Class SbkGemParameters

java.lang.Object
io.sbk.params.impl.SbkInputOptions
io.sbk.params.impl.SbkParameters
io.sbk.params.impl.SbkDriversParameters
io.gem.params.impl.SbkGemParameters
All Implemented Interfaces:
GemParameterOptions, GemParameters, GetArguments, io.sbk.params.ActionParameter, io.sbk.params.InputOptions, io.sbk.params.InputParameterOptions, io.sbk.params.ParameterOptions, io.sbk.params.Parameters, io.sbk.params.ParsedOptions, io.sbk.params.ParseInputOptions

public final class SbkGemParameters extends io.sbk.params.impl.SbkDriversParameters implements GemParameterOptions
GEM (Group Execution Monitor) parameters and argument parsing.

Extends SbkDriversParameters to include SBK driver/logger help, and adds GEM-specific options for remote orchestration (nodes, SSH creds/port, SBK directory/command, copy/delete, local SBM host/port/idle sleep). Populates typed getters and constructs ConnectionConfig instances for each target node.

Supported options (help text shows defaults from GemConfig): - -nodes: comma/space/newline-separated hostnames - -gemuser, -gempass, -gemport - -sbkdir, -sbkcommand - -copy, -delete - -localhost - -sbmport, -sbmsleepms

  • Constructor Summary

    Constructors
    Constructor
    Description
    SbkGemParameters(String name, String[] drivers, String[] loggers, @NotNull GemConfig config, int sbmPort, int sbmIdleSleepMilliSeconds)
    Construct GEM parameters with defaults and register GEM options.
  • Method Summary

    Modifier and Type
    Method
    Description
    to get sbk commands.
    to get Sbk directory.
    boolean
    checks if parameters are copy.
    boolean
    checks if parameters are deleted.
    void
    parseArgs(String[] args)
    Parse GEM options, validate SBK directory/command, and build connection set.

    Methods inherited from class io.sbk.params.impl.SbkParameters

    getAction, getIdleSleepMilliSeconds, getReadersCount, getReadersStep, getReadersStepSeconds, getRecordSize, getRecordsPerSec, getRecordsPerSync, getTimeoutMS, getTotalRecords, getTotalSecondsToRun, getWritersCount, getWritersStep, getWritersStepSeconds

    Methods inherited from class io.sbk.params.impl.SbkInputOptions

    addOption, getHelpText, getOptionValue, getOptionValue, hasOption, hasOptionValue

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface io.sbk.params.ActionParameter

    getAction

    Methods inherited from interface io.gem.params.GemParameters

    getConnections, getLocalHost, getSbmIdleSleepMilliSeconds, getSbmPort

    Methods inherited from interface io.gem.params.GetArguments

    getOptionsArgs, getParsedArgs

    Methods inherited from interface io.sbk.params.InputOptions

    addOption, hasOption

    Methods inherited from interface io.sbk.params.Parameters

    getIdleSleepMilliSeconds, getReadersCount, getReadersStep, getReadersStepSeconds, getRecordSize, getRecordsPerSec, getRecordsPerSync, getTimeoutMS, getTotalRecords, getTotalSecondsToRun, getWritersCount, getWritersStep, getWritersStepSeconds

    Methods inherited from interface io.sbk.params.ParsedOptions

    getHelpText, getOptionValue, getOptionValue, hasOptionValue, printHelp
  • Constructor Details

    • SbkGemParameters

      public SbkGemParameters(String name, String[] drivers, String[] loggers, @NotNull @NotNull GemConfig config, int sbmPort, int sbmIdleSleepMilliSeconds)
      Construct GEM parameters with defaults and register GEM options.
      Parameters:
      name - benchmark/application name used in help
      drivers - storage driver class names for help listing
      loggers - logger class names for help listing
      config - configuration backing defaults and parsed values
      sbmPort - SBM port default
      sbmIdleSleepMilliSeconds - SBM idle sleep default (ms)
  • Method Details

    • parseArgs

      public void parseArgs(String[] args) throws org.apache.commons.cli.ParseException, IllegalArgumentException, io.sbk.exception.HelpException
      Parse GEM options, validate SBK directory/command, and build connection set.

      Derives parsedArgs and connections. Validates that SBK directory exists, command exists and is executable.

      Specified by:
      parseArgs in interface io.sbk.params.ParseInputOptions
      Overrides:
      parseArgs in class io.sbk.params.impl.SbkParameters
      Parameters:
      args - command-line arguments to parse
      Throws:
      org.apache.commons.cli.ParseException - if parsing of arguments fails or required values are invalid
      IllegalArgumentException - if SBK directory/command checks fail or other validation errors occur
      io.sbk.exception.HelpException - if help text needs to be displayed by upstream handling
    • getSbkDir

      public String getSbkDir()
      Description copied from interface: GemParameters
      to get Sbk directory.
      Specified by:
      getSbkDir in interface GemParameters
      Returns:
      Sbk directory.
    • getSbkCommand

      public String getSbkCommand()
      Description copied from interface: GemParameters
      to get sbk commands.
      Specified by:
      getSbkCommand in interface GemParameters
      Returns:
      Sbk commands.
    • isCopy

      public boolean isCopy()
      Description copied from interface: GemParameters
      checks if parameters are copy.
      Specified by:
      isCopy in interface GemParameters
      Returns:
      true or false.
    • isDelete

      public boolean isDelete()
      Description copied from interface: GemParameters
      checks if parameters are deleted.
      Specified by:
      isDelete in interface GemParameters
      Returns:
      true ro false.