pub(crate) struct Args {
pub(crate) transcript: Option<PathBuf>,
pub(crate) org: String,
pub(crate) project: String,
pub(crate) dir: PathBuf,
pub(crate) port: u16,
pub(crate) breakdown: bool,
pub(crate) measure: bool,
pub(crate) pid: Option<u32>,
pub(crate) arm: Arm,
pub(crate) turns: u32,
pub(crate) asks: u32,
pub(crate) seconds: f64,
}Fields§
§transcript: Option<PathBuf>A session transcript to serve as the seat’s conversation, read whole.
org: StringThe org the fixture declares.
project: StringThe project the fixture declares. Its directory is under --dir.
dir: PathBufWhere the fixture’s config dir goes. The workspace’s store lives under it and the transcript is written into it, so a fresh directory gives a fresh seat; nothing here clears one, so a rerun over the same directory reuses the store it left.
port: u16The port. Fixed rather than ephemeral: a harness that samples ps
needs to find the server by something, and the port is what survives a
PID nobody wrote down.
breakdown: boolReport where the time goes inside one request before serving.
measure: boolMeasure a running server rather than serve one.
pid: Option<u32>The server’s PID, which is whose CPU time the measurement charges.
arm: ArmThe arm to run, and each one sends what its name says:
idle does nothing and is the baseline; subscribe is one connect
and one subscribe; more is an attach then --asks pages; and
refresh is an attach then --asks subscribe-reloads, each an
unsubscribe and a subscribe, which is what the client sends on
every update.
A closed set, so a mistyped arm is refused rather than run as
more. An arm that ran a different workload under the name a
person typed is the defect this instrument exists to find, and it is
the same mistake whether the code or the caller makes it.
turns: u32How many turns each more asks for.
asks: u32How many asks an arm makes.
seconds: f64How long the idle arm runs, and the wall the charge is scaled against.
Trait Implementations§
Source§impl Args for Args
impl Args for Args
Source§fn group_id() -> Option<Id>
fn group_id() -> Option<Id>
ArgGroup::id][crate::ArgGroup::id] for this set of argumentsSource§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command] so it can instantiate self via
[FromArgMatches::update_from_arg_matches_mut] Read moreSource§impl FromArgMatches for Args
impl FromArgMatches for Args
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Parser for Args
impl Parser for Args
§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
§fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
Auto Trait Implementations§
impl Freeze for Args
impl RefUnwindSafe for Args
impl Send for Args
impl Sync for Args
impl Unpin for Args
impl UnsafeUnpin for Args
impl UnwindSafe for Args
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more