Struct DoctorArgs
pub struct DoctorArgs {
pub study: PathBuf,
pub format: OutputFormat,
pub sampler: Option<SamplerChoiceKind>,
}Expand description
atune doctor — read a study and report findings that likely cost you
budget.
A read-only advisor over a study’s completed trials: which bound is
crowded, which parameter never mattered, whether the scale is wrong,
whether the configured sampler still fits the study’s realised shape and
budget. For a study with an open growth policy it also reports a stopped
side and the brake that stopped it, while suppressing duplicate boundary
advice for that side. It reads the journal read-only (no create, no
lock), exactly as best/trials/report/importance do, and works
unchanged on a define-by-run study or one with no declared space at all —
including a study imported from an Optuna journal. Below 8 completed trials it
reports that there are too few trials to say anything, rather than guessing
from noise. Exits 0 when there is nothing to report and 3 when at least one
finding is reported, so a nightly sweep can fail on a finding without
parsing the output. See reading a boundary
finding.
Fields§
§study: PathBufThe local study file (*.atj, *.db, *.sqlite, *.sqlite3) or
atune://host:port remote observer endpoint to read.
Remote observer traffic is plaintext TCP: atune provides no authentication and no TLS. Use loopback, or a private VPN with host firewall and cloud/network ACLs; use an mTLS proxy where client identity is required. A private LAN alone is not an identity boundary.
Local Journal (*.atj) and SQLite (*.db, *.sqlite, *.sqlite3)
data are plaintext. Require restrictive file permissions, an encrypted
volume, and protected backups.
format: OutputFormatHow to render the output.
sampler: Option<SamplerChoiceKind>The sampler the study is actually configured with, if known.
A study’s journal never records which sampler produced it — a sampler
is a runtime object a caller injects, not study-recorded data — so
this cannot be inferred from --study alone. Passing it enables the
two findings that compare against it (a sampler that no longer fits
the study, and too few trials for the configured sampler’s model);
without it — or for a study created with a sampler this flag cannot
name (Dehb, Carbs, or a third-party one) — those two findings are
silently skipped rather than guessed.
Trait Implementations§
§impl Args for DoctorArgs
impl Args for DoctorArgs
§fn group_id() -> Option<Id>
fn group_id() -> Option<Id>
ArgGroup::id][crate::ArgGroup::id] for this set of arguments§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
§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 more§impl Debug for DoctorArgs
impl Debug for DoctorArgs
§impl FromArgMatches for DoctorArgs
impl FromArgMatches for DoctorArgs
§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
§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>
§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.§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.Auto Trait Implementations§
impl Freeze for DoctorArgs
impl RefUnwindSafe for DoctorArgs
impl Send for DoctorArgs
impl Sync for DoctorArgs
impl Unpin for DoctorArgs
impl UnsafeUnpin for DoctorArgs
impl UnwindSafe for DoctorArgs
Blanket Implementations§
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<T, U> Imply<T> for U
§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