Struct TcpBuilder

Source
pub struct TcpBuilder { /* private fields */ }
Expand description

Builder for creating and installing a TCP recorder/exporter.

Implementations§

Source§

impl TcpBuilder

Source

pub fn new() -> TcpBuilder

Creates a new TcpBuilder.

Source

pub fn listen_address<A>(self, addr: A) -> TcpBuilder
where A: Into<SocketAddr>,

Sets the listen address.

The exporter will accept connections on this address and immediately begin forwarding metrics to the client.

Defaults to 0.0.0.0:5000.

Source

pub fn buffer_size(self, size: Option<usize>) -> TcpBuilder

Sets the buffer size for internal operations.

The buffer size controls two operational aspects: the number of metrics processed per iteration of the event loop, and the number of buffered metrics each client can hold.

This setting allows trading off responsiveness for throughput, where a smaller buffer size will ensure that metrics are pushed to clients sooner, versus a larger buffer size that allows us to push more at a time.

As well, the larger the buffer, the more messages a client can temporarily hold. Clients have a circular buffer implementation so if their buffers are full, metrics will be dropped as necessary to avoid backpressure in the recorder.

Source

pub fn install(self) -> Result<(), Error>

Installs the recorder and exporter.

An error will be returned if there’s an issue with creating the TCP server or with installing the recorder as the global recorder.

Source

pub fn build(self) -> Result<TcpRecorder, Error>

Builds and installs the exporter, but returns the recorder.

In most cases, users should prefer to use TcpBuilder::install to create and install the recorder and exporter automatically for them. If a caller is combining recorders, however, then this method allows the caller the flexibility to do so.

Trait Implementations§

Source§

impl Debug for TcpBuilder

Source§

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

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

impl Default for TcpBuilder

Source§

fn default() -> Self

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

Auto Trait Implementations§

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> Instrument for T

Source§

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

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

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

impl<T> WithSubscriber for T

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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