Trait MetricPublisher

Source
pub trait MetricPublisher {
    // Required methods
    fn try_publish_metrics_unsorted(
        &self,
        metrics: Vec<PublishMetric>,
    ) -> impl Future<Output = Result<(), PublishError>> + Send;
    fn publish_metrics_unsorted(
        &self,
        metrics: Vec<PublishMetric>,
    ) -> impl Future<Output = Result<(), PublishError>> + Send;

    // Provided methods
    fn try_publish_metric(
        &self,
        metric: PublishMetric,
    ) -> impl Future<Output = Result<(), PublishError>> + Send { ... }
    fn try_publish_metrics(
        &self,
        metrics: Vec<PublishMetric>,
    ) -> impl Future<Output = Result<(), PublishError>> + Send { ... }
    fn publish_metric(
        &self,
        metric: PublishMetric,
    ) -> impl Future<Output = Result<(), PublishError>> + Send { ... }
    fn publish_metrics(
        &self,
        metrics: Vec<PublishMetric>,
    ) -> impl Future<Output = Result<(), PublishError>> + Send { ... }
}
Expand description

A trait for publishing metrics to the network.

MetricPublisher defines a set of methods for publishing single metrics or batches of metrics. It provides “try_” variants that may fail immediately.

“try_publish” variants will use the “try_publish” variants from the srad_client::Client trait. Similarly, the “publish” variants will use the “publish” from the srad_client::Client trait.

Required Methods§

Source

fn try_publish_metrics_unsorted( &self, metrics: Vec<PublishMetric>, ) -> impl Future<Output = Result<(), PublishError>> + Send

Attempts to publish a batch of metrics without modifying their order.

Source

fn publish_metrics_unsorted( &self, metrics: Vec<PublishMetric>, ) -> impl Future<Output = Result<(), PublishError>> + Send

Publish a batch of metrics without modifying their order.

Provided Methods§

Source

fn try_publish_metric( &self, metric: PublishMetric, ) -> impl Future<Output = Result<(), PublishError>> + Send

Attempts to publish a single metric.

Source

fn try_publish_metrics( &self, metrics: Vec<PublishMetric>, ) -> impl Future<Output = Result<(), PublishError>> + Send

Attempts to publish a batch of metrics after sorting by timestamp.

Source

fn publish_metric( &self, metric: PublishMetric, ) -> impl Future<Output = Result<(), PublishError>> + Send

Publish a single metric.

Source

fn publish_metrics( &self, metrics: Vec<PublishMetric>, ) -> impl Future<Output = Result<(), PublishError>> + Send

Publish a batch of metrics after sorting by timestamp.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§