specjbb

package
v0.0.0-...-b44688a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2022 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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)
)
View Source
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.

func (Backend) Launch

func (b Backend) Launch() (executor.TaskHandle, error)

Launch starts the Backend component. It returns a Task Handle instance. Error is returned when Launcher is unable to start a job.

func (Backend) String

func (b Backend) String() string

String returns human readable name for job.

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

type JVMOptions struct {
	JVMHeapMemoryGBs  int
	ParallelGCThreads int
}

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL