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§

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) -> Selfwhere 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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> DynClone for Twhere T: Clone,

source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromRef<T> for Twhere 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 Twhere U: From<T>,

const: unstable · 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<T> Pointable for T

source§

const ALIGN: usize = mem::align_of::<T>()

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 Twhere 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 Pwhere R: RustType<P>,

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for Twhere 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 Twhere T: Clone + 'static,