pub struct GooseConfiguration {
Show 49 fields pub help: bool, pub version: bool, pub list: bool, pub host: String, pub users: Option<usize>, pub hatch_rate: Option<String>, pub startup_time: String, pub run_time: String, pub goose_log: String, pub log_level: u8, pub quiet: u8, pub verbose: u8, pub running_metrics: Option<usize>, pub no_reset_metrics: bool, pub no_metrics: bool, pub no_transaction_metrics: bool, pub no_scenario_metrics: bool, pub no_print_metrics: bool, pub no_error_summary: bool, pub report_file: String, pub no_granular_report: bool, pub request_log: String, pub request_format: Option<GooseLogFormat>, pub request_body: bool, pub transaction_log: String, pub transaction_format: Option<GooseLogFormat>, pub scenario_log: String, pub scenario_format: Option<GooseLogFormat>, pub error_log: String, pub error_format: Option<GooseLogFormat>, pub debug_log: String, pub debug_format: Option<GooseLogFormat>, pub no_debug_body: bool, pub no_status_codes: bool, pub iterations: usize, pub scenarios: Scenarios, pub scenarios_list: bool, pub no_telnet: bool, pub telnet_host: String, pub telnet_port: u16, pub no_websocket: bool, pub websocket_host: String, pub websocket_port: u16, pub no_autostart: bool, pub no_gzip: bool, pub timeout: Option<String>, pub co_mitigation: Option<GooseCoordinatedOmissionMitigation>, pub throttle_requests: usize, pub sticky_follow: bool, /* private fields */
}
Expand description

Runtime options available when launching a Goose load test.

Custom defaults can be programmatically set for most of these options using the GooseDefaults structure.

Help is generated for all of these options by passing a -h flag to an application built with the Goose Library.

Goose leverages gumdrop to derive the above help from the the below structure.

Fields§

§help: bool

Displays this help

§version: bool

Prints version information

§list: bool

Lists all transactions and exits

§host: String

Defines host to load test (ie http://10.21.32.33)

§users: Option<usize>

Sets concurrent users (default: number of CPUs)

§hatch_rate: Option<String>

Sets per-second user hatch rate (default: 1)

§startup_time: String

Starts users for up to (30s, 20m, 3h, 1h30m, etc)

§run_time: String

Stops load test after (30s, 20m, 3h, 1h30m, etc)

§goose_log: String

Enables Goose log file and sets name

§log_level: u8

Increases Goose log level (-g, -gg, etc)

§quiet: u8

Decreases Goose verbosity (-q, -qq, etc)

§verbose: u8

Increases Goose verbosity (-v, -vv, etc)

§running_metrics: Option<usize>

How often to optionally print running metrics

§no_reset_metrics: bool

Doesn’t reset metrics after all users have started

§no_metrics: bool

Doesn’t track metrics

§no_transaction_metrics: bool

Doesn’t track transaction metrics

§no_scenario_metrics: bool

Doesn’t track scenario metrics

§no_print_metrics: bool

Doesn’t display metrics at end of load test

§no_error_summary: bool

Doesn’t display an error summary

§report_file: String

Create an html-formatted report

§no_granular_report: bool

Disable granular graphs in report file

§request_log: String

Sets request log file name

§request_format: Option<GooseLogFormat>

Sets request log format (csv, json, raw, pretty)

§request_body: bool

Include the request body in the request log

§transaction_log: String

Sets transaction log file name

§transaction_format: Option<GooseLogFormat>

Sets log format (csv, json, raw, pretty)

§scenario_log: String

Sets scenario log file name

§scenario_format: Option<GooseLogFormat>

Sets log format (csv, json, raw, pretty)

§error_log: String

Sets error log file name

§error_format: Option<GooseLogFormat>

Sets error log format (csv, json, raw, pretty)

§debug_log: String

Sets debug log file name

§debug_format: Option<GooseLogFormat>

Sets debug log format (csv, json, raw, pretty)

§no_debug_body: bool

Do not include the response body in the debug log

§no_status_codes: bool

Do not track status code metrics

§iterations: usize

Sets how many times to run scenarios then exit

§scenarios: Scenarios

Limits load test to only specified scenarios

§scenarios_list: bool

Lists all scenarios and exits

§no_telnet: bool

Doesn’t enable telnet Controller

§telnet_host: String

Sets telnet Controller host (default: 0.0.0.0)

§telnet_port: u16

Sets telnet Controller TCP port (default: 5116)

§no_websocket: bool

Doesn’t enable WebSocket Controller

§websocket_host: String

Sets WebSocket Controller host (default: 0.0.0.0)

§websocket_port: u16

Sets WebSocket Controller TCP port (default: 5117)

§no_autostart: bool

Doesn’t automatically start load test

§no_gzip: bool

Doesn’t set the gzip Accept-Encoding header

§timeout: Option<String>

Sets per-request timeout, in seconds (default: 60)

§co_mitigation: Option<GooseCoordinatedOmissionMitigation>

Sets coordinated omission mitigation strategy

§throttle_requests: usize

Sets maximum requests per second

§sticky_follow: bool

Follows base_url redirect with subsequent requests

Trait Implementations§

source§

impl Clone for GooseConfiguration

source§

fn clone(&self) -> GooseConfiguration

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GooseConfiguration

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GooseConfiguration

source§

fn default() -> GooseConfiguration

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for GooseConfiguration

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Options for GooseConfiguration

source§

fn parse<__S: AsRef<str>>(_parser: &mut Parser<'_, __S>) -> Result<Self, Error>

Parses arguments until the given parser is exhausted or until an error is encountered.
source§

fn command(&self) -> Option<&dyn Options>

Returns the subcommand instance, if present. Read more
source§

fn command_name(&self) -> Option<&'static str>

Returns the name of a parsed command, if present. Read more
source§

fn help_requested(&self) -> bool

Returns whether the user supplied a “help” option to request usage information about the program or any contained subcommands. Read more
source§

fn parse_command<__S: AsRef<str>>( name: &str, _parser: &mut Parser<'_, __S> ) -> Result<Self, Error>

Parses options for the named command.
source§

fn usage() -> &'static str

Returns a string showing usage and help for each supported option. Read more
source§

fn self_usage(&self) -> &'static str

Returns a string showing usage and help for this options instance. Read more
source§

fn command_list() -> Option<&'static str>

Returns a string listing available commands and help text. Read more
source§

fn command_usage(_name: &str) -> Option<&'static str>

Returns a usage string for the named command. Read more
source§

fn self_command_list(&self) -> Option<&'static str>

Returns a listing of available commands and help text. Read more
source§

fn parse_args<S>(args: &[S], style: ParsingStyle) -> Result<Self, Error>where S: AsRef<str>, Self: Sized,

Parses arguments received from the command line. Read more
source§

fn parse_args_or_exit(style: ParsingStyle) -> Selfwhere Self: Sized,

Parses arguments from the environment. Read more
source§

fn parse_args_default_or_exit() -> Selfwhere Self: Sized,

Parses arguments from the environment, using the default parsing style. Read more
source§

fn parse_args_default<S>(args: &[S]) -> Result<Self, Error>where S: AsRef<str>, Self: Sized,

Parses arguments received from the command line, using the default parsing style. Read more
source§

impl Serialize for GooseConfiguration

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Downcast for Twhere T: Any,

source§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
source§

fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T, Global>) -> Arc<dyn Any + Send + Sync, Global>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,

source§

impl<T> GooseUserData for Twhere T: Send + Sync + 'static,