Struct metrics_exporter_tcp::TcpBuilder[][src]

pub struct TcpBuilder { /* fields omitted */ }

Builder for creating and installing a TCP recorder/exporter.

Implementations

impl TcpBuilder[src]

pub fn new() -> TcpBuilder[src]

Creates a new TcpBuilder.

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

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.

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

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.

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

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.

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

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

impl Default for TcpBuilder[src]

Auto Trait Implementations

Blanket Implementations

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

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.