relay_config

Struct Http

source
pub struct Http {
    pub timeout: u32,
    pub connection_timeout: u32,
    pub max_retry_interval: u32,
    pub host_header: Option<String>,
    pub auth_interval: Option<u64>,
    pub outage_grace_period: u64,
    pub retry_delay: u64,
    pub project_failure_interval: u64,
    pub encoding: HttpEncoding,
    pub global_metrics: bool,
}
Expand description

Controls authentication with upstream.

Fields§

§timeout: u32

Timeout for upstream requests in seconds.

This timeout covers the time from sending the request until receiving response headers. Neither the connection process and handshakes, nor reading the response body is covered in this timeout.

§connection_timeout: u32

Timeout for establishing connections with the upstream in seconds.

This includes SSL handshakes. Relay reuses connections when the upstream supports connection keep-alive. Connections are retained for a maximum 75 seconds, or 15 seconds of inactivity.

§max_retry_interval: u32

Maximum interval between failed request retries in seconds.

§host_header: Option<String>

The custom HTTP Host header to send to the upstream.

§auth_interval: Option<u64>

The interval in seconds at which Relay attempts to reauthenticate with the upstream server.

Re-authentication happens even when Relay is idle. If authentication fails, Relay reverts back into startup mode and tries to establish a connection. During this time, incoming envelopes will be buffered.

Defaults to 600 (10 minutes).

§outage_grace_period: u64

The maximum time of experiencing uninterrupted network failures until Relay considers that it has encountered a network outage in seconds.

During a network outage relay will try to reconnect and will buffer all upstream messages until it manages to reconnect.

§retry_delay: u64

The time Relay waits before retrying an upstream request, in seconds.

This time is only used before going into a network outage mode.

§project_failure_interval: u64

The interval in seconds for continued failed project fetches at which Relay will error.

A successful fetch resets this interval. Relay does nothing during long times without emitting requests.

§encoding: HttpEncoding

Content encoding to apply to upstream store requests.

By default, Relay applies gzip content encoding to compress upstream requests. Compression can be disabled to reduce CPU consumption, but at the expense of increased network traffic.

This setting applies to all store requests of SDK data, including events, transactions, envelopes and sessions. At the moment, this does not apply to Relay’s internal queries.

Available options are:

  • identity: Disables compression.
  • deflate: Compression using a zlib header with deflate encoding.
  • gzip (default): Compression using gzip.
  • br: Compression using the brotli algorithm.
§global_metrics: bool

Submit metrics globally through a shared endpoint.

As opposed to regular envelopes which are sent to an endpoint inferred from the project’s DSN, this submits metrics to the global endpoint with Relay authentication.

This option does not have any effect on processing mode.

Trait Implementations§

source§

impl Debug for Http

source§

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

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

impl Default for Http

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Http
where Http: Default,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for Http

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Http

§

impl RefUnwindSafe for Http

§

impl Send for Http

§

impl Sync for Http

§

impl Unpin for Http

§

impl UnwindSafe for Http

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

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

source§

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>,

source§

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

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T