#[non_exhaustive]pub struct ClientOptions {Show 31 fields
pub dsn: Option<Dsn>,
pub debug: bool,
pub release: Option<Cow<'static, str>>,
pub environment: Option<Cow<'static, str>>,
pub event_sampling_strategy: EventSamplingStrategy,
pub traces_sampling_strategy: TracesSamplingStrategy,
pub org_id: Option<OrganizationId>,
pub strict_trace_continuation: bool,
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<BeforeCallback<Event<'static>>>,
pub before_breadcrumb: Option<BeforeCallback<Breadcrumb>>,
pub before_send_log: Option<BeforeCallback<Log>>,
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 max_request_body_size: MaxRequestBodySize,
pub enable_logs: bool,
pub enable_metrics: bool,
pub before_send_metric: Option<BeforeCallback<Metric>>,
pub accept_invalid_certs: bool,
pub auto_session_tracking: bool,
pub session_mode: SessionMode,
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::new().debug(true);Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.dsn: Option<Dsn>The DSN to use.
See dsn for details.
debug: boolEnables debug mode.
See debug for details.
release: Option<Cow<'static, str>>The release to be sent with events.
See release for details.
environment: Option<Cow<'static, str>>The environment to be sent with events.
See environment for details.
event_sampling_strategy: EventSamplingStrategyThe sampling strategy for event submission.
This can be set to with sample_rate.
traces_sampling_strategy: TracesSamplingStrategyThe traces sampling strategy.
This can be set to a fixed rate with
traces_sample_rate, a function with
traces_sampler, or can be left at the default
disabled value.
org_id: Option<OrganizationId>The organization ID used for trace continuation.
See org_id for details.
strict_trace_continuation: boolEnables strict trace continuation.
See strict_trace_continuation for
details.
Maximum number of breadcrumbs.
See max_breadcrumbs for details.
attach_stacktrace: boolAttaches stacktraces to messages.
See attach_stacktrace for details.
send_default_pii: boolWhether to send default PII.
See send_default_pii for details.
server_name: Option<Cow<'static, str>>The server name to be reported.
See server_name for details.
in_app_include: Vec<&'static str>Module prefixes that are always considered “in_app”.
See in_app_include for details.
in_app_exclude: Vec<&'static str>Module prefixes that are never “in_app”.
See in_app_exclude for details.
integrations: Vec<Arc<dyn Integration>>A list of integrations to enable.
See integrations and
add_integration for details.
default_integrations: boolWhether to add default integrations.
See default_integrations for details.
before_send: Option<BeforeCallback<Event<'static>>>Callback that is executed before event sending.
See before_send for details.
Callback that is executed for each Breadcrumb being added.
See before_breadcrumb for details.
before_send_log: Option<BeforeCallback<Log>>Callback that is executed for each Log being added.
See before_send_log for details.
transport: Option<Arc<dyn TransportFactory>>The transport to use.
See transport for details.
http_proxy: Option<Cow<'static, str>>An optional HTTP proxy to use.
See http_proxy for details.
https_proxy: Option<Cow<'static, str>>An optional HTTPS proxy to use.
See https_proxy for details.
shutdown_timeout: DurationThe timeout on client drop for draining events on shutdown.
See shutdown_timeout for details.
max_request_body_size: MaxRequestBodySizeThe maximum size of an HTTP request body to capture.
See max_request_body_size for details.
enable_logs: boolWhether captured structured logs should be sent to Sentry.
See enable_logs for details.
enable_metrics: boolWhether metric capture APIs should capture metrics.
See enable_metrics for details.
before_send_metric: Option<BeforeCallback<Metric>>Callback that is executed for each Metric before sending.
See before_send_metric for details.
accept_invalid_certs: boolWhether to disable SSL verification.
See accept_invalid_certs for details.
auto_session_tracking: boolWhether Release Health Session tracking is enabled.
See auto_session_tracking for details.
session_mode: SessionModeDetermine how Sessions are being tracked.
See session_mode for details.
user_agent: Cow<'static, str>The user agent that should be reported.
See user_agent for details.
Implementations§
Source§impl ClientOptions
impl ClientOptions
Sourcepub fn debug(self, debug: bool) -> Self
pub fn debug(self, debug: bool) -> Self
Enables or disables debug mode.
In debug mode debug information is printed to stderr to help you understand what sentry is
doing. Defaults to false.
Sourcepub fn maybe_release<T>(self, release: Option<T>) -> Self
pub fn maybe_release<T>(self, release: Option<T>) -> Self
Sets the release to be sent with events if one is provided.
Use this with release_name!, which returns the release as an
Option.
Sourcepub fn environment<T>(self, environment: T) -> Self
pub fn environment<T>(self, environment: T) -> Self
Sets the environment to be sent with events.
Defaults to either "development" or "production" depending on the debug_assertions
cfg-attribute.
Sourcepub fn sample_rate(self, sample_rate: f32) -> Self
pub fn sample_rate(self, sample_rate: f32) -> Self
Sets the event sampling strategy to a fixed sample rate for event submission.
Must be between 0.0 and 1.0. Defaults to 1.0.
§Panics
Panics if the sample_rate is outside the allowed range.
Sourcepub fn traces_sample_rate(self, traces_sample_rate: f32) -> Self
pub fn traces_sample_rate(self, traces_sample_rate: f32) -> Self
Sets the traces sampling strategy to a fixed sample rate for tracing transactions.
Must be between 0.0 and 1.0.
Calling this method stores an explicit fixed-rate traces sampling strategy, even when the
rate is 0.0. That is distinct from leaving traces sampling unset, which uses
TracesSamplingStrategy::Disabled.
§Panics
Panics if the traces_sample_rate is outside the allowed range.
Sourcepub fn traces_sampler<F>(self, traces_sampler: F) -> Self
pub fn traces_sampler<F>(self, traces_sampler: F) -> Self
Sets the traces sampling strategy to a sampler callback for tracing transactions.
Return a sample rate between 0.0 and 1.0 for the transaction in question. This replaces
any fixed-rate strategy configured with Self::traces_sample_rate and is distinct from
leaving traces sampling unset.
Sourcepub fn org_id(self, org_id: OrganizationId) -> Self
pub fn org_id(self, org_id: OrganizationId) -> Self
Sets the organization ID used for trace continuation.
By default, we infer the organization ID from the DSN when available. Setting this option overrides the DSN-derived organization ID.
This option should be used in local Relay and self-hosted setups, as the organization ID cannot be inferred from the DSN in these cases.
Sourcepub fn strict_trace_continuation(self, strict_trace_continuation: bool) -> Self
pub fn strict_trace_continuation(self, strict_trace_continuation: bool) -> Self
Enables or disables strict trace continuation.
Strict trace continuation helps prevent the SDK from continuing traces that originate from services instrumented with Sentry by another organization.
By default, the SDK will always continue incoming traces, unless this SDK has an org ID
embedded in the DSN or explicitly set with Self::org_id and the incoming trace
includes a different org ID.
When strict trace continuation is enabled, the SDK additionally will not continue traces in the case where one of the SDK’s org ID or the incoming trace org ID are missing.
Sets the maximum number of breadcrumbs.
Defaults to 100.
Sourcepub fn attach_stacktrace(self, attach_stacktrace: bool) -> Self
pub fn attach_stacktrace(self, attach_stacktrace: bool) -> Self
Enables or disables attaching stacktraces to messages.
Defaults to false.
Sourcepub fn send_default_pii(self, send_default_pii: bool) -> Self
pub fn send_default_pii(self, send_default_pii: bool) -> Self
Enables or disables sending default PII.
This includes information such as potentially sensitive HTTP headers and user IP addresses
in HTTP server integrations. Defaults to false.
Sourcepub fn server_name<T>(self, server_name: T) -> Self
pub fn server_name<T>(self, server_name: T) -> Self
Sets the server name to be reported.
Sourcepub fn in_app_include<I>(self, in_app_include: I) -> Selfwhere
I: IntoIterator<Item = &'static str>,
pub fn in_app_include<I>(self, in_app_include: I) -> Selfwhere
I: IntoIterator<Item = &'static str>,
Sets module prefixes that are always considered in-app.
Sourcepub fn in_app_exclude<I>(self, in_app_exclude: I) -> Selfwhere
I: IntoIterator<Item = &'static str>,
pub fn in_app_exclude<I>(self, in_app_exclude: I) -> Selfwhere
I: IntoIterator<Item = &'static str>,
Sets module prefixes that are never considered in-app.
Sourcepub fn integrations<I>(self, integrations: I) -> Self
pub fn integrations<I>(self, integrations: I) -> Self
Sets the integrations to enable, replacing the existing list.
See sentry::integrations for how to
use this to enable extra integrations. Use
add_integration to append.
Sourcepub fn default_integrations(self, default_integrations: bool) -> Self
pub fn default_integrations(self, default_integrations: bool) -> Self
Enables or disables default integrations.
See sentry::integrations for details.
Defaults to true.
Sourcepub fn before_send<F>(self, before_send: F) -> Self
pub fn before_send<F>(self, before_send: F) -> Self
Sets the callback that is executed before event sending.
Sets the callback that is executed before adding each breadcrumb.
Sourcepub fn before_send_log<F>(self, before_send_log: F) -> Self
pub fn before_send_log<F>(self, before_send_log: F) -> Self
Sets the callback that is executed before sending each log.
Sourcepub fn before_send_metric<F>(self, before_send_metric: F) -> Self
pub fn before_send_metric<F>(self, before_send_metric: F) -> Self
Sets the callback that is executed before sending each metric.
This callback can modify a metric or return None to drop it.
Sourcepub fn transport<T: TransportFactory + 'static>(self, transport: T) -> Self
pub fn transport<T: TransportFactory + 'static>(self, transport: T) -> Self
Sets the transport to use.
This is typically either a function taking the client options by reference and returning a
transport, an Arc<Transport>, or the DefaultTransportFactory. Types that do not
implement TransportFactory use direct field assignment.
Sourcepub fn http_proxy<T>(self, http_proxy: T) -> Self
pub fn http_proxy<T>(self, http_proxy: T) -> Self
Sets the optional HTTP proxy to use.
This defaults to the http_proxy environment variable.
Sourcepub fn https_proxy<T>(self, https_proxy: T) -> Self
pub fn https_proxy<T>(self, https_proxy: T) -> Self
Sets the optional HTTPS proxy to use.
This defaults to the HTTPS_PROXY environment variable, or http_proxy if that one
exists.
Sourcepub fn shutdown_timeout(self, shutdown_timeout: Duration) -> Self
pub fn shutdown_timeout(self, shutdown_timeout: Duration) -> Self
Sets the shutdown drain timeout.
Defaults to 2 seconds.
Sourcepub fn max_request_body_size(
self,
max_request_body_size: MaxRequestBodySize,
) -> Self
pub fn max_request_body_size( self, max_request_body_size: MaxRequestBodySize, ) -> Self
Sets the maximum request body size to capture.
Controls the maximum size of an HTTP request body that can be captured when using HTTP
server integrations. Needs send_default_pii to
be enabled to have any effect. Defaults to MaxRequestBodySize::Medium.
Sourcepub fn enable_logs(self, enable_logs: bool) -> Self
pub fn enable_logs(self, enable_logs: bool) -> Self
Enables or disables sending structured logs.
The logs feature is required to capture logs. Defaults to true.
Sourcepub fn enable_metrics(self, enable_metrics: bool) -> Self
pub fn enable_metrics(self, enable_metrics: bool) -> Self
Enables or disables metric capture APIs.
The metrics feature is required to capture metrics. Defaults to true.
Sourcepub fn accept_invalid_certs(self, accept_invalid_certs: bool) -> Self
pub fn accept_invalid_certs(self, accept_invalid_certs: bool) -> Self
Enables or disables accepting invalid TLS certificates.
This introduces significant vulnerabilities, and should only be used as a last resort.
Defaults to false.
Sourcepub fn auto_session_tracking(self, auto_session_tracking: bool) -> Self
pub fn auto_session_tracking(self, auto_session_tracking: bool) -> Self
Enables or disables automatic session tracking.
When enabled, a new “user-mode” session is started at sentry::init and persists for the
application lifetime. Defaults to false.
Sourcepub fn session_mode(self, session_mode: SessionMode) -> Self
pub fn session_mode(self, session_mode: SessionMode) -> Self
Sets how sessions are tracked.
See SessionMode for the available modes. Defaults to SessionMode::Application.
Sourcepub fn user_agent<T>(self, user_agent: T) -> Self
pub fn user_agent<T>(self, user_agent: T) -> Self
Sets the user agent that should be reported.
Defaults to the SDK user agent.
Sourcepub fn add_integration<I: Integration>(self, integration: I) -> Self
pub fn add_integration<I: Integration>(self, integration: I) -> Self
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
impl Clone for ClientOptions
Source§fn clone(&self) -> ClientOptions
fn clone(&self) -> ClientOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more