rs_postgres_stat2otel/
col.rs

1//! A metrics value container.
2
3use opentelemetry::Value;
4
5/// A metrics value(with name) container.
6pub struct Column {
7    name: String,
8    value: Value,
9}
10
11impl Column {
12    /// Gets a name.
13    pub fn as_name(&self) -> &str {
14        self.name.as_str()
15    }
16
17    /// Gets a value.
18    pub fn as_value(&self) -> &Value {
19        &self.value
20    }
21
22    /// Creates a new name/integer container.
23    pub fn new_integer(name: String, value: i64) -> Self {
24        Self {
25            name,
26            value: Value::from(value),
27        }
28    }
29
30    /// Creates a new name/float container.
31    pub fn new_float(name: String, value: f64) -> Self {
32        Self {
33            name,
34            value: Value::from(value),
35        }
36    }
37
38    /// Creates a new name/string container.
39    pub fn new_string(name: String, value: String) -> Self {
40        Self {
41            name,
42            value: Value::from(value),
43        }
44    }
45}