Package io.gem.params.impl
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
ConstructorsConstructorDescriptionSbkGemParameters(String name, String[] drivers, String[] loggers, @NotNull GemConfig config, int sbmPort, int sbmIdleSleepMilliSeconds) Construct GEM parameters with defaults and register GEM options. -
Method Summary
Methods inherited from class io.sbk.params.impl.SbkParameters
getAction, getIdleSleepMilliSeconds, getReadersCount, getReadersStep, getReadersStepSeconds, getRecordSize, getRecordsPerSec, getRecordsPerSync, getTimeoutMS, getTotalRecords, getTotalSecondsToRun, getWritersCount, getWritersStep, getWritersStepSecondsMethods inherited from class io.sbk.params.impl.SbkInputOptions
addOption, getHelpText, getOptionValue, getOptionValue, hasOption, hasOptionValueMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.sbk.params.ActionParameter
getActionMethods inherited from interface io.gem.params.GemParameters
getConnections, getLocalHost, getSbmIdleSleepMilliSeconds, getSbmPortMethods inherited from interface io.gem.params.GetArguments
getOptionsArgs, getParsedArgsMethods inherited from interface io.sbk.params.InputOptions
addOption, hasOptionMethods inherited from interface io.sbk.params.Parameters
getIdleSleepMilliSeconds, getReadersCount, getReadersStep, getReadersStepSeconds, getRecordSize, getRecordsPerSec, getRecordsPerSync, getTimeoutMS, getTotalRecords, getTotalSecondsToRun, getWritersCount, getWritersStep, getWritersStepSecondsMethods 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 helpdrivers- storage driver class names for help listingloggers- logger class names for help listingconfig- configuration backing defaults and parsed valuessbmPort- SBM port defaultsbmIdleSleepMilliSeconds- 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
parsedArgsandconnections. Validates that SBK directory exists, command exists and is executable.- Specified by:
parseArgsin interfaceio.sbk.params.ParseInputOptions- Overrides:
parseArgsin classio.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 invalidIllegalArgumentException- if SBK directory/command checks fail or other validation errors occurio.sbk.exception.HelpException- if help text needs to be displayed by upstream handling
-
getSbkDir
Description copied from interface:GemParametersto get Sbk directory.- Specified by:
getSbkDirin interfaceGemParameters- Returns:
- Sbk directory.
-
getSbkCommand
Description copied from interface:GemParametersto get sbk commands.- Specified by:
getSbkCommandin interfaceGemParameters- Returns:
- Sbk commands.
-
isCopy
public boolean isCopy()Description copied from interface:GemParameterschecks if parameters are copy.- Specified by:
isCopyin interfaceGemParameters- Returns:
- true or false.
-
isDelete
public boolean isDelete()Description copied from interface:GemParameterschecks if parameters are deleted.- Specified by:
isDeletein interfaceGemParameters- Returns:
- true ro false.
-