pub struct TracingCliArgs {
Show 13 fields pub startup_log_filter: CloneableEnvFilter, pub log_format: LogFormat, pub log_prefix: Option<String>, 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>>,
}
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.

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_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.

Implementations§

Trait Implementations§

source§

impl Args for TracingCliArgs

source§

fn augment_args<'b>(__clap_app: Command<'b>) -> Command<'b>

Append to Command so it can instantiate Self. Read more
source§

fn augment_args_for_update<'b>(__clap_app: Command<'b>) -> Command<'b>

Append to Command so it can update self. Read more
source§

impl Clone for TracingCliArgs

source§

fn clone(&self) -> TracingCliArgs

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 CommandFactory for TracingCliArgs

source§

fn into_app<'b>() -> Command<'b>

Deprecated, replaced with CommandFactory::command
source§

fn into_app_for_update<'b>() -> Command<'b>

Deprecated, replaced with CommandFactory::command_for_update
source§

fn command<'help>() -> App<'help>

Build a Command that can instantiate Self. Read more
source§

fn command_for_update<'help>() -> App<'help>

Build a Command that can update self. Read more
source§

impl Debug for TracingCliArgs

source§

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

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

impl Default for TracingCliArgs

source§

fn default() -> TracingCliArgs

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

impl FromArgMatches for TracingCliArgs

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches ) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches ) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Parser for TracingCliArgs

source§

fn parse() -> Self

Parse from std::env::args_os(), exit on error
source§

fn try_parse() -> Result<Self, Error>

Parse from std::env::args_os(), return Err on error.
source§

fn parse_from<I, T>(itr: I) -> Self
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, exit on error
source§

fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Parse from iterator, return Err on error.
source§

fn update_from<I, T>(&mut self, itr: I)
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Update from iterator, exit on error
source§

fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
where I: IntoIterator<Item = T>, T: Into<OsString> + Clone,

Update from iterator, return Err on error.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T, U> CastInto<U> for T
where U: CastFrom<T>,

source§

fn cast_into(self) -> U

Performs the cast.
source§

impl<T> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromRef<T> for T
where T: Clone,

source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
source§

impl<T> FutureExt for T

source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
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 T
where 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> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ProgressEventTimestamp for T
where T: Data + Debug + Any,

source§

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

Upcasts this ProgressEventTimestamp to Any. Read more
source§

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

Returns the name of the concrete type of this object. Read more
source§

impl<P, R> ProtoType<R> for P
where R: RustType<P>,

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where 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 T
where 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 T
where 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.
source§

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

source§

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> Data for T
where T: Clone + 'static,