Struct mz_orchestrator_tracing::TracingCliArgs
source · pub struct TracingCliArgs {Show 19 fields
pub startup_log_filter: CloneableEnvFilter,
pub log_format: LogFormat,
pub log_prefix: Option<String>,
pub opentelemetry_max_batch_queue_size: usize,
pub opentelemetry_max_export_batch_size: usize,
pub opentelemetry_max_concurrent_exports: usize,
pub opentelemetry_sched_delay: Duration,
pub opentelemetry_max_export_timeout: Duration,
pub opentelemetry_endpoint: Option<String>,
pub opentelemetry_header: Vec<KeyValueArg<HeaderName, HeaderValue>>,
pub startup_opentelemetry_filter: CloneableEnvFilter,
pub opentelemetry_resource: Vec<KeyValueArg<String, String>>,
pub tokio_console_listen_addr: Option<SocketAddr>,
pub tokio_console_publish_interval: Duration,
pub tokio_console_retention: Duration,
pub sentry_dsn: Option<String>,
pub sentry_environment: Option<String>,
pub sentry_tag: Vec<KeyValueArg<String, String>>,
pub capture: Option<SharedStorage>,
}
Expand description
Command line arguments for application tracing.
These arguments correspond directly to parameters in TracingConfig
, and
this type can be directly converted into a TracingConfig
via the supplied
From<TracingCliArgs>
implementation.
This logic is separated from mz_ore::tracing
because the details of how
these command-line arguments are parsed and unparsed is specific to
orchestrators and does not belong in a foundational crate like mz_ore
.
Fields§
§startup_log_filter: CloneableEnvFilter
Which tracing events to log to stderr during startup, before the real log filter is synced from LaunchDarkly.
WARNING: you probably don’t want to set this for environmentd
. This
parameter only controls logging for the brief moment before the log
filter is synced from LaunchDarkly. You probably instead want to pass
--system-parameter-default=log_filter=<filter>
, which will set the
default log filter to use unless overridden by the LaunchDarkly sync.
This value is a comma-separated list of filter directives. Each filter directive has the following format:
[module::path=]level
A directive indicates that log messages from the specified module that are at least as severe as the specified level should be emitted. If a directive omits the module, then it implicitly applies to all modules. When directives conflict, the last directive wins. If a log message does not match any directive, it is not emitted.
The module path of a log message reflects its location in Materialize’s source code. Choosing module paths for filter directives requires familiarity with Materialize’s codebase and is intended for advanced users. Note that module paths change frequency from release to release.
The valid levels for a log message are, in increasing order of severity: trace, debug, info, warn, and error. The special level “off” may be used in a directive to suppress all log messages, even errors.
The default value for this option is “info”.
log_format: LogFormat
The format to use for stderr log messages.
log_prefix: Option<String>
An optional prefix for each stderr log line.
Only respected when --log-format
is text
.
opentelemetry_max_batch_queue_size: usize
OpenTelemetry batch flag defaults are based on the
BatchConfig::default()
in the opentelemetry_sdk crate.
https://docs.rs/opentelemetry_sdk/0.21.2/opentelemetry_sdk/trace/struct.BatchConfig.html
The max number of tracing spans to queue before dropping.
opentelemetry_max_export_batch_size: usize
The max number of spans to export in a single batch.
opentelemetry_max_concurrent_exports: usize
The max number of concurrent export tasks.
opentelemetry_sched_delay: Duration
The delay between sequential sending of batches.
opentelemetry_max_export_timeout: Duration
The max time to attempt exporting a batch.
opentelemetry_endpoint: Option<String>
Export OpenTelemetry tracing events to the provided endpoint.
The specified endpoint should speak the OTLP/HTTP protocol. If the
backend requires authentication, you can pass authentication metadata
via the --opentelemetry-header
option.
opentelemetry_header: Vec<KeyValueArg<HeaderName, HeaderValue>>
A header to pass with every request to the OpenTelemetry endpoint
specified by --opentelemetry-endpoint
in the form NAME=VALUE
.
Requires that the --opentelemetry-endpoint
option is specified.
To specify multiple headers, either specify this option multiple times,
or specify it once with multiple NAME=VALUE
pairs separated by commas.
startup_opentelemetry_filter: CloneableEnvFilter
Which tracing events to export to the OpenTelemetry endpoint specified
by --opentelemetry-endpoint
.
The syntax of this option is the same as the syntax of the
--startup-log-filter
option.
Requires that the --opentelemetry-endpoint
option is specified.
opentelemetry_resource: Vec<KeyValueArg<String, String>>
Additional key-value pairs to send with all opentelemetry traces. Also used as Sentry tags.
Requires that one of the --opentelemetry-endpoint
or --sentry-dsn
options is specified.
tokio_console_listen_addr: Option<SocketAddr>
The address on which to listen for Tokio console connections.
For details about Tokio console, see: https://github.com/tokio-rs/console
Requires that the --tokio-console
option is specified.
tokio_console_publish_interval: Duration
How frequently to publish updates to Tokio console clients.
Requires that the --tokio-console
option is specified.
tokio_console_retention: Duration
How long Tokio console data is retained for completed tasks.
Requires that the --tokio-console
option is specified.
sentry_dsn: Option<String>
Sentry data source to submit events and exceptions (e.g. panics) to.
sentry_environment: Option<String>
The environment name to report to Sentry.
Ignored unless the --sentry-dsn
option is specified.
See: https://docs.sentry.io/platforms/rust/configuration/options/#environment
sentry_tag: Vec<KeyValueArg<String, String>>
Tags to send with all Sentry events, in addition to the tags specified by
--opentelemetry-resource
.
Requires that the --sentry-dsn
option is specified.
capture: Option<SharedStorage>
Test-only feature to enable tracing assertions.
Implementations§
source§impl TracingCliArgs
impl TracingCliArgs
pub async fn configure_tracing( &self, __arg1: StaticTracingConfig, registry: MetricsRegistry, ) -> Result<(TracingHandle, TracingGuard), Error>
Trait Implementations§
source§impl Args for TracingCliArgs
impl Args for TracingCliArgs
source§impl Clone for TracingCliArgs
impl Clone for TracingCliArgs
source§fn clone(&self) -> TracingCliArgs
fn clone(&self) -> TracingCliArgs
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl CommandFactory for TracingCliArgs
impl CommandFactory for TracingCliArgs
source§fn into_app_for_update<'b>() -> Command<'b>
fn into_app_for_update<'b>() -> Command<'b>
CommandFactory::command_for_update
source§impl Debug for TracingCliArgs
impl Debug for TracingCliArgs
source§impl Default for TracingCliArgs
impl Default for TracingCliArgs
source§fn default() -> TracingCliArgs
fn default() -> TracingCliArgs
source§impl FromArgMatches for TracingCliArgs
impl FromArgMatches for TracingCliArgs
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 TracingCliArgs
impl Parser for TracingCliArgs
source§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
source§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
source§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
Auto Trait Implementations§
impl !Freeze for TracingCliArgs
impl RefUnwindSafe for TracingCliArgs
impl Send for TracingCliArgs
impl Sync for TracingCliArgs
impl Unpin for TracingCliArgs
impl UnwindSafe for TracingCliArgs
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> ProgressEventTimestamp for T
impl<T> ProgressEventTimestamp for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
RustType::into_proto
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
std::ops::AddAssign
, for types that do not implement AddAssign
.