[][src]Struct sentry::ClientOptions

pub struct ClientOptions {
    pub dsn: Option<Dsn>,
    pub debug: bool,
    pub release: Option<Cow<'static, str>>,
    pub environment: Option<Cow<'static, str>>,
    pub sample_rate: f32,
    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 + 'static>>,
    pub default_integrations: bool,
    pub before_send: Option<Arc<dyn Fn(Event<'static>) + 'static + Sync + Send>>,
    pub before_breadcrumb: Option<Arc<dyn Fn(Breadcrumb) + 'static + Sync + Send>>,
    pub transport: Option<Arc<dyn TransportFactory + 'static>>,
    pub http_proxy: Option<Cow<'static, str>>,
    pub https_proxy: Option<Cow<'static, str>>,
    pub shutdown_timeout: Duration,
    pub extra_border_frames: Vec<&'static str>,
    pub trim_backtraces: bool,
    pub user_agent: Cow<'static, str>,
}

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.

sample_rate: f32

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

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 + 'static>>

A list of integrations to enable.

default_integrations: bool

Whether to add default integrations.

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

Callback that is executed before event sending.

before_breadcrumb: Option<Arc<dyn Fn(Breadcrumb) + 'static + Sync + Send>>

Callback that is executed for each Breadcrumb being added.

transport: Option<Arc<dyn TransportFactory + 'static>>

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.

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

impl ClientOptions[src]

pub fn new() -> ClientOptions[src]

Creates new Options.

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

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

impl Clone for ClientOptions[src]

impl Debug for ClientOptions[src]

impl Default for ClientOptions[src]

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

impl<T> From<T> for ClientOptions where
    T: IntoDsn
[src]

Auto Trait Implementations

impl !RefUnwindSafe for ClientOptions

impl Send for ClientOptions

impl Sync for ClientOptions

impl Unpin for ClientOptions

impl !UnwindSafe for ClientOptions

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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