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§
Sourcefn hierarchy(&self) -> String
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.
Sourcefn create_counter(
&self,
name: &str,
description: &str,
labels: &[(&str, &str)],
) -> Result<Counter>
fn create_counter( &self, name: &str, description: &str, labels: &[(&str, &str)], ) -> Result<Counter>
Create a Counter metric
Sourcefn create_countervec(
&self,
name: &str,
description: &str,
const_labels: &[&str],
const_label_values: &[(&str, &str)],
) -> Result<CounterVec>
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)
Sourcefn create_gauge(
&self,
name: &str,
description: &str,
labels: &[(&str, &str)],
) -> Result<Gauge>
fn create_gauge( &self, name: &str, description: &str, labels: &[(&str, &str)], ) -> Result<Gauge>
Create a Gauge metric
Sourcefn create_histogram(
&self,
name: &str,
description: &str,
labels: &[(&str, &str)],
buckets: Option<Vec<f64>>,
) -> Result<Histogram>
fn create_histogram( &self, name: &str, description: &str, labels: &[(&str, &str)], buckets: Option<Vec<f64>>, ) -> Result<Histogram>
Create a Histogram metric with custom buckets
Sourcefn create_intcounter(
&self,
name: &str,
description: &str,
labels: &[(&str, &str)],
) -> Result<IntCounter>
fn create_intcounter( &self, name: &str, description: &str, labels: &[(&str, &str)], ) -> Result<IntCounter>
Create an IntCounter metric
Sourcefn create_intcountervec(
&self,
name: &str,
description: &str,
const_labels: &[&str],
const_label_values: &[(&str, &str)],
) -> Result<IntCounterVec>
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)
Sourcefn create_intgauge(
&self,
name: &str,
description: &str,
labels: &[(&str, &str)],
) -> Result<IntGauge>
fn create_intgauge( &self, name: &str, description: &str, labels: &[(&str, &str)], ) -> Result<IntGauge>
Create an IntGauge metric
Sourcefn create_intgaugevec(
&self,
name: &str,
description: &str,
const_labels: &[&str],
const_label_values: &[(&str, &str)],
) -> Result<IntGaugeVec>
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)
Sourcefn prometheus_metrics_fmt(&self) -> Result<String>
fn prometheus_metrics_fmt(&self) -> Result<String>
Get metrics in Prometheus text format