Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // JVMHeapMemoryGBs specifies amount of heap memory available to JVM. JVMHeapMemoryGBs = conf.NewIntFlag("specjbb_jvm_heap_size", "Size of JVM heap memory in gigabytes", 8) // ParallelGCThreads specifies number of thread for Garbage Collector ParallelGCThreads = conf.NewIntFlag("specjbb_jvm_gc_threads", "Number of parallel GC threads", 4) )
var ( // ControllerAddress specifies ControllerAddress address of a controller component of SPECjbb2015 benchmark. ControllerAddress = conf.NewStringFlag("specjbb_controller_ip", "ControllerAddress address of a SPECjbb controller component", defaultControllerIP) // CustomerNumberFlag specifies number of customers. CustomerNumberFlag = conf.NewIntFlag("specjbb_customer_number", "Number of customers", defaultCustomerNumber) // ProductNumberFlag specifies number of products. ProductNumberFlag = conf.NewIntFlag("specjbb_product_number", "Number of products", defaultProductsNumber) // BinaryDataOutputDirFlag specifies output dir for storing binary data. BinaryDataOutputDirFlag = conf.NewStringFlag("specjbb_output_dir", "Path to location of storing binary data", "/opt/swan/share/specjbb/") )
Functions ¶
func NewLoadGenerator ¶
func NewLoadGenerator(controller executor.Executor, transactionInjectors []executor.Executor, config LoadGeneratorConfig) executor.LoadGenerator
NewLoadGenerator returns a new SPECjbb Load Generator instance composed of controller and transaction injectors. Transaction Injector and Controller are load generator for SPECjbb Backend. https://www.spec.org/jbb2015/docs/userguide.pdf
Types ¶
type Backend ¶
type Backend struct {
// contains filtered or unexported fields
}
Backend is a launcher for the SPECjbb2015 Backend.
func NewBackend ¶
func NewBackend(exec executor.Executor, config BackendConfig) Backend
NewBackend is a constructor for Backend.
type BackendConfig ¶
type BackendConfig struct { JVMOptions PathToBinary string ControllerAddress string // ControllerAddress is an address of a SPECjbb controller component ("-Dspecjbb.controller.host=") JvmID string // JvmId is an ID of a JVM dedicated for a Backend (-J <jvmid>) WorkerCount int // Amount of threads in ForkJoinPool that will be serving requests. }
BackendConfig is a config for a SPECjbb2015 Backend,
func DefaultSPECjbbBackendConfig ¶
func DefaultSPECjbbBackendConfig() BackendConfig
DefaultSPECjbbBackendConfig is a constructor for BackendConfig with default parameters.
type JVMOptions ¶
JVMOptions is group of options used to configure JVM for SPECjbb.
func DefaultJVMOptions ¶
func DefaultJVMOptions() JVMOptions
DefaultJVMOptions returns sane JVMOptions.
func (JVMOptions) GetJVMOptions ¶
func (j JVMOptions) GetJVMOptions() string
GetJVMOptions returns string with JVM Options based on JVMOptions structure.
type LoadGeneratorConfig ¶
type LoadGeneratorConfig struct { JVMOptions ControllerAddress string // ControllerAddress is an address of a SPECjbb controller component ("-Dspecjbb.controller.host="). PathToBinary string // PathToBinary is a path to specjbb2015.jar. PathToProps string // PathToProps is a path to property file that stores basic configuration. CustomerNumber int // CustomerNumber is a number of customers used to generate load. ProductNumber int // ProductNumber is a number of products used to generate load. BinaryDataOutputDir string // BinaryDataOutputDir is a dir where binary raw data file is stored during run of SPECjbb. PathToOutputTemplate string // PathToOutputTemplate is a path to template used to generate report from. HandshakeTimeoutMs int // HandshakeTimeoutMs is timeout (in milliseconds) for initial Controller <-> Agent handshaking. EraseTuningOutput bool // Erase stdout & stderr logs from processes ran by Load Generator. }
LoadGeneratorConfig is a config for a SPECjbb2015 Load Generator.,
func DefaultLoadGeneratorConfig ¶
func DefaultLoadGeneratorConfig() LoadGeneratorConfig
DefaultLoadGeneratorConfig is a constructor for LoadGeneratorConfig with default parameters.