logo
pub struct Client { /* private fields */ }
Expand description

The Sentry Client.

The Client is responsible for event processing and sending events to the sentry server via the configured Transport. It can be created from a ClientOptions.

See the Unified API document for more details.

Examples

sentry::Client::from(sentry::ClientOptions::default());

Implementations

Creates a new Sentry client from a config.

Supported Configs

The following common values are supported for the client config:

  • ClientOptions: configure the client with the given client options.
  • () or empty string: Disable the client.
  • &str / String / &OsStr / String: configure the client with the given DSN.
  • Dsn / &Dsn: configure the client with a given DSN.
  • (Dsn, ClientOptions): configure the client from the given DSN and optional options.

The Default implementation of ClientOptions pulls in the DSN from the SENTRY_DSN environment variable.

Panics

The Into<ClientOptions> implementations can panic for the forms where a DSN needs to be parsed. If you want to handle invalid DSNs you need to parse them manually by calling parse on it and handle the error.

Creates a new sentry client for the given options.

If the DSN on the options is set to None the client will be entirely disabled.

Returns the options of this client.

Returns the DSN that constructed this client.

Quick check to see if the client is enabled.

The Client is enabled if it has a valid DSN and Transport configured.

Examples
use std::sync::Arc;

let client = sentry::Client::from(sentry::ClientOptions::default());
assert!(!client.is_enabled());

let dsn = "https://public@example.com/1";
let transport = sentry::test::TestTransport::new();
let client = sentry::Client::from((
    dsn,
    sentry::ClientOptions {
        transport: Some(Arc::new(transport)),
        ..Default::default()
    },
));
assert!(client.is_enabled());

Captures an event and sends it to sentry.

Sends the specified Envelope to sentry.

Drains all pending events without shutting down.

Drains all pending events and shuts down the transport behind the client. After shutting down the transport is removed.

This returns true if the queue was successfully drained in the given time or false if not (for instance because of a timeout). If no timeout is provided the client will wait for as long a shutdown_timeout in the client options.

Returns a random boolean with a probability defined by the ClientOptions’s traces_sample_rate

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.