[][src]Struct sentry_core::Client

pub struct Client { /* fields omitted */ }

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.




impl Client[src]

pub fn from_config<O: Into<ClientOptions>>(opts: O) -> Client[src]

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.


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.

pub fn with_options(mut options: ClientOptions) -> Client[src]

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.

pub fn options(&self) -> &ClientOptions[src]

Returns the options of this client.

pub fn dsn(&self) -> Option<&Dsn>[src]

Returns the DSN that constructed this client.

pub fn is_enabled(&self) -> bool[src]

Quick check to see if the client is enabled.

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


use std::sync::Arc;

let client = sentry::Client::from(sentry::ClientOptions::default());

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

pub fn capture_event(
    event: Event<'static>,
    scope: Option<&Scope>
) -> Uuid

Captures an event and sends it to sentry.

pub fn send_envelope(&self, envelope: Envelope)[src]

Sends the specified Envelope to sentry.

pub fn close(&self, timeout: Option<Duration>) -> bool[src]

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.

Trait Implementations

impl Clone for Client[src]

impl Debug for Client[src]

impl<T: Into<ClientOptions>> From<T> for Client[src]

impl RefUnwindSafe for Client[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

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

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

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.

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