Struct mz_orchestrator_tracing::TracingCliArgs
source · pub struct TracingCliArgs {Show 13 fields
pub log_filter: SerializableTargets,
pub log_format: LogFormat,
pub log_prefix: Option<String>,
pub opentelemetry_enabled: DefaultTrue,
pub opentelemetry_endpoint: Option<String>,
pub opentelemetry_header: Vec<KeyValueArg<HeaderName, HeaderValue>>,
pub opentelemetry_filter: SerializableTargets,
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>,
}
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§
§log_filter: SerializableTargets
Which tracing events to log to stderr.
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_enabled: DefaultTrue
Whether OpenTelemetry tracing is enabled by default.
OpenTelemetry tracing can be dynamically toggled during runtime via the internal HTTP server.
Requires that the --opentelemetry-endpoint
option is specified.
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.
opentelemetry_filter: SerializableTargets
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
--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.
Requires that the --opentelemetry-endpoint
option 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
Implementations§
source§impl TracingCliArgs
impl TracingCliArgs
pub async fn configure_tracing( &self, __arg1: StaticTracingConfig ) -> 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) -> Selfwhere
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
fn parse_from<I, T>(itr: I) -> Selfwhere I: IntoIterator<Item = T>, T: Into<OsString> + Clone,
source§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,
source§fn update_from<I, T>(&mut self, itr: I)where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
fn update_from<I, T>(&mut self, itr: I)where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,
source§fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>where
I: IntoIterator<Item = T>,
T: Into<OsString> + Clone,
fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,
Auto Trait Implementations§
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> 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> Pointable for T
impl<T> Pointable 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
.