Struct sentry::ClientOptions

source ·
pub struct ClientOptions {
Show 27 fields pub dsn: Option<Dsn>, pub debug: bool, pub release: Option<Cow<'static, str>>, pub environment: Option<Cow<'static, str>>, pub sample_rate: f32, pub traces_sample_rate: f32, pub traces_sampler: Option<Arc<dyn Fn(&TransactionContext) -> f32 + Send + Sync>>, pub max_breadcrumbs: usize, pub attach_stacktrace: bool, pub send_default_pii: bool, pub server_name: Option<Cow<'static, str>>, pub in_app_include: Vec<&'static str>, pub in_app_exclude: Vec<&'static str>, pub integrations: Vec<Arc<dyn Integration>>, pub default_integrations: bool, pub before_send: Option<Arc<dyn Fn(Event<'static>) -> Option<Event<'static>> + Send + Sync>>, pub before_breadcrumb: Option<Arc<dyn Fn(Breadcrumb) -> Option<Breadcrumb> + Send + Sync>>, pub transport: Option<Arc<dyn TransportFactory>>, pub http_proxy: Option<Cow<'static, str>>, pub https_proxy: Option<Cow<'static, str>>, pub shutdown_timeout: Duration, pub accept_invalid_certs: bool, pub auto_session_tracking: bool, pub session_mode: SessionMode, pub extra_border_frames: Vec<&'static str>, pub trim_backtraces: bool, pub user_agent: Cow<'static, str>,
}
Expand description

Configuration settings for the client.

These options are explained in more detail in the general sentry documentation.

§Examples

let _options = sentry::ClientOptions {
    debug: true,
    ..Default::default()
};

Fields§

§dsn: Option<Dsn>

The DSN to use. If not set the client is effectively disabled.

§debug: bool

Enables debug mode.

In debug mode debug information is printed to stderr to help you understand what sentry is doing. When the log feature is enabled, Sentry will instead log to the sentry logger independently of this flag with the Debug level.

§release: Option<Cow<'static, str>>

The release to be sent with events.

§environment: Option<Cow<'static, str>>

The environment to be sent with events.

Defaults to either "development" or "production" depending on the debug_assertions cfg-attribute.

§sample_rate: f32

The sample rate for event submission. (0.0 - 1.0, defaults to 1.0)

§traces_sample_rate: f32

The sample rate for tracing transactions. (0.0 - 1.0, defaults to 0.0)

§traces_sampler: Option<Arc<dyn Fn(&TransactionContext) -> f32 + Send + Sync>>

If given, called with a SamplingContext for each transaction to determine the sampling rate.

Return a sample rate between 0.0 and 1.0 for the transaction in question. Takes priority over the sample_rate.

§max_breadcrumbs: usize

Maximum number of breadcrumbs. (defaults to 100)

§attach_stacktrace: bool

Attaches stacktraces to messages.

§send_default_pii: bool

If turned on some default PII informat is attached.

§server_name: Option<Cow<'static, str>>

The server name to be reported.

§in_app_include: Vec<&'static str>

Module prefixes that are always considered “in_app”.

§in_app_exclude: Vec<&'static str>

Module prefixes that are never “in_app”.

§integrations: Vec<Arc<dyn Integration>>

A list of integrations to enable.

See sentry::integrations for how to use this to enable extra integrations.

§default_integrations: bool

Whether to add default integrations.

See sentry::integrations for details how this works and interacts with manually installed integrations.

§before_send: Option<Arc<dyn Fn(Event<'static>) -> Option<Event<'static>> + Send + Sync>>

Callback that is executed before event sending.

§before_breadcrumb: Option<Arc<dyn Fn(Breadcrumb) -> Option<Breadcrumb> + Send + Sync>>

Callback that is executed for each Breadcrumb being added.

§transport: Option<Arc<dyn TransportFactory>>

The transport to use.

This is typically either a boxed function taking the client options by reference and returning a Transport, a boxed Arc<Transport> or alternatively the DefaultTransportFactory.

§http_proxy: Option<Cow<'static, str>>

An optional HTTP proxy to use.

This will default to the http_proxy environment variable.

§https_proxy: Option<Cow<'static, str>>

An optional HTTPS proxy to use.

This will default to the HTTPS_PROXY environment variable or http_proxy if that one exists.

§shutdown_timeout: Duration

The timeout on client drop for draining events on shutdown.

§accept_invalid_certs: bool

Disable SSL verification.

§Warning

This introduces significant vulnerabilities, and should only be used as a last resort.

§auto_session_tracking: bool

Enable Release Health Session tracking.

When automatic session tracking is enabled, a new “user-mode” session is started at the time of sentry::init, and will persist for the application lifetime.

§session_mode: SessionMode

Determine how Sessions are being tracked.

§extra_border_frames: Vec<&'static str>

Border frames which indicate a border from a backtrace to useless internals. Some are automatically included.

§trim_backtraces: bool

Automatically trim backtraces of junk before sending. (defaults to true)

§user_agent: Cow<'static, str>

The user agent that should be reported.

Implementations§

source§

impl ClientOptions

source

pub fn new() -> ClientOptions

Creates new Options.

source

pub fn add_integration<I>(self, integration: I) -> ClientOptions
where I: Integration,

Adds a configured integration to the options.

§Examples
struct MyIntegration;

impl sentry::Integration for MyIntegration {}

let options = sentry::ClientOptions::new().add_integration(MyIntegration);
assert_eq!(options.integrations.len(), 1);

Trait Implementations§

source§

impl Clone for ClientOptions

source§

fn clone(&self) -> ClientOptions

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 Debug for ClientOptions

source§

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

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

impl Default for ClientOptions

source§

fn default() -> ClientOptions

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

impl<T> From<(T, ClientOptions)> for ClientOptions
where T: IntoDsn,

source§

fn from(_: (T, ClientOptions)) -> ClientOptions

Converts to this type from the input type.
source§

impl<T> From<T> for ClientOptions
where T: IntoDsn,

source§

fn from(into_dsn: T) -> ClientOptions

Converts to this type from the input type.

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn from_ref(input: &T) -> T

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

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented 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> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
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