Struct sentry_core::Client

source ·
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§

source§

impl Client

source

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

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.

source

pub fn with_options(options: ClientOptions) -> Client

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.

source

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

Prepares an event for transmission to sentry.

source

pub fn options(&self) -> &ClientOptions

Returns the options of this client.

source

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

Returns the DSN that constructed this client.

source

pub fn is_enabled(&self) -> bool

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());
source

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

Captures an event and sends it to sentry.

source

pub fn send_envelope(&self, envelope: Envelope)

Sends the specified Envelope to sentry.

source

pub fn add_metric(&self, metric: Metric)

Captures a metric and sends it to Sentry on the next flush.

source

pub fn flush(&self, timeout: Option<Duration>) -> bool

Drains all pending events without shutting down.

source

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

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.

source

pub fn sample_should_send(&self, rate: f32) -> bool

Returns a random boolean with a probability defined by rate

Trait Implementations§

source§

impl Clone for Client

source§

fn clone(&self) -> Client

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 Client

source§

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

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

impl<T: Into<ClientOptions>> From<T> for Client

source§

fn from(o: T) -> Client

Converts to this type from the input type.
source§

impl RefUnwindSafe for Client

Auto Trait Implementations§

§

impl !Freeze for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

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.

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> 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.
source§

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

source§

fn vzip(self) -> V