MetricsRegistry

Trait MetricsRegistry 

Source
pub trait MetricsRegistry:
    Send
    + Sync
    + DistributedRuntimeProvider {
    // Required methods
    fn basename(&self) -> String;
    fn parent_hierarchy(&self) -> Vec<String>;

    // Provided methods
    fn hierarchy(&self) -> String { ... }
    fn create_counter(
        &self,
        name: &str,
        description: &str,
        labels: &[(&str, &str)],
    ) -> Result<Counter> { ... }
    fn create_countervec(
        &self,
        name: &str,
        description: &str,
        const_labels: &[&str],
        const_label_values: &[(&str, &str)],
    ) -> Result<CounterVec> { ... }
    fn create_gauge(
        &self,
        name: &str,
        description: &str,
        labels: &[(&str, &str)],
    ) -> Result<Gauge> { ... }
    fn create_histogram(
        &self,
        name: &str,
        description: &str,
        labels: &[(&str, &str)],
        buckets: Option<Vec<f64>>,
    ) -> Result<Histogram> { ... }
    fn create_intcounter(
        &self,
        name: &str,
        description: &str,
        labels: &[(&str, &str)],
    ) -> Result<IntCounter> { ... }
    fn create_intcountervec(
        &self,
        name: &str,
        description: &str,
        const_labels: &[&str],
        const_label_values: &[(&str, &str)],
    ) -> Result<IntCounterVec> { ... }
    fn create_intgauge(
        &self,
        name: &str,
        description: &str,
        labels: &[(&str, &str)],
    ) -> Result<IntGauge> { ... }
    fn create_intgaugevec(
        &self,
        name: &str,
        description: &str,
        const_labels: &[&str],
        const_label_values: &[(&str, &str)],
    ) -> Result<IntGaugeVec> { ... }
    fn prometheus_metrics_fmt(&self) -> Result<String> { ... }
}

Required Methods§

Provided Methods§

Source

fn hierarchy(&self) -> String

Retrieve the complete hierarchy and basename for this registry. Currently, the hierarchy for drt is an empty string, so we must account for the leading underscore. The existing code remains unchanged to accommodate any future scenarios where drt’s prefix might be assigned a value.

Source

fn create_counter( &self, name: &str, description: &str, labels: &[(&str, &str)], ) -> Result<Counter>

Create a Counter metric

Source

fn create_countervec( &self, name: &str, description: &str, const_labels: &[&str], const_label_values: &[(&str, &str)], ) -> Result<CounterVec>

Create a CounterVec metric with label names (for dynamic labels)

Source

fn create_gauge( &self, name: &str, description: &str, labels: &[(&str, &str)], ) -> Result<Gauge>

Create a Gauge metric

Source

fn create_histogram( &self, name: &str, description: &str, labels: &[(&str, &str)], buckets: Option<Vec<f64>>, ) -> Result<Histogram>

Create a Histogram metric with custom buckets

Source

fn create_intcounter( &self, name: &str, description: &str, labels: &[(&str, &str)], ) -> Result<IntCounter>

Create an IntCounter metric

Source

fn create_intcountervec( &self, name: &str, description: &str, const_labels: &[&str], const_label_values: &[(&str, &str)], ) -> Result<IntCounterVec>

Create an IntCounterVec metric with label names (for dynamic labels)

Source

fn create_intgauge( &self, name: &str, description: &str, labels: &[(&str, &str)], ) -> Result<IntGauge>

Create an IntGauge metric

Source

fn create_intgaugevec( &self, name: &str, description: &str, const_labels: &[&str], const_label_values: &[(&str, &str)], ) -> Result<IntGaugeVec>

Create an IntGaugeVec metric with label names (for dynamic labels)

Source

fn prometheus_metrics_fmt(&self) -> Result<String>

Get metrics in Prometheus text format

Implementors§