DMSCPrometheusExporter

Struct DMSCPrometheusExporter 

Source
pub struct DMSCPrometheusExporter { /* private fields */ }
Expand description

Prometheus exporter for managing metrics and generating Grafana dashboards.

This struct provides methods for registering and updating Prometheus metrics, as well as generating Grafana dashboards from these metrics.

Implementations§

Source§

impl DMSCPrometheusExporter

Source

pub fn new() -> DMSCResult<Self>

Creates a new Prometheus exporter instance.

§Returns

A new DMSCPrometheusExporter instance wrapped in DMSCResult

Source

pub fn register_counter(&self, name: &str, help: &str) -> DMSCResult<()>

Registers a new counter metric.

§Parameters
  • name: The name of the counter metric
  • help: Help text describing the counter
§Returns

DMSCResult indicating success or failure

Source

pub fn increment_counter(&self, name: &str, value: f64) -> DMSCResult<()>

Increments a counter metric by the specified value.

§Parameters
  • name: The name of the counter metric
  • value: The value to increment by
§Returns

DMSCResult indicating success or failure

Source

pub fn register_gauge(&self, name: &str, help: &str) -> DMSCResult<()>

Registers a new gauge metric.

§Parameters
  • name: The name of the gauge metric
  • help: Help text describing the gauge
§Returns

DMSCResult indicating success or failure

Source

pub fn set_gauge(&self, name: &str, value: f64) -> DMSCResult<()>

Sets a gauge metric to the specified value.

§Parameters
  • name: The name of the gauge metric
  • value: The value to set
§Returns

DMSCResult indicating success or failure

Source

pub fn register_histogram( &self, name: &str, help: &str, buckets: Vec<f64>, ) -> DMSCResult<()>

Registers a new histogram metric.

§Parameters
  • name: The name of the histogram metric
  • help: Help text describing the histogram
  • buckets: The histogram buckets
§Returns

DMSCResult indicating success or failure

Source

pub fn observe_histogram(&self, name: &str, value: f64) -> DMSCResult<()>

Observes a value in a histogram metric.

§Parameters
  • name: The name of the histogram metric
  • value: The value to observe
§Returns

DMSCResult indicating success or failure

Source

pub fn render(&self) -> DMSCResult<String>

Renders all metrics in Prometheus text format.

§Returns

A string containing all metrics in Prometheus text format wrapped in DMSCResult

Source

pub fn add_counter_panel( &self, dashboard: &mut DMSCGrafanaDashboard, title: &str, query: &str, ) -> DMSCResult<()>

Adds a counter panel to a Grafana dashboard.

§Parameters
  • dashboard: The Grafana dashboard to add the panel to
  • title: The title of the panel
  • query: The Prometheus query for the panel
§Returns

DMSCResult indicating success or failure

Source

pub fn add_gauge_panel( &self, dashboard: &mut DMSCGrafanaDashboard, title: &str, query: &str, ) -> DMSCResult<()>

Adds a gauge panel to a Grafana dashboard.

§Parameters
  • dashboard: The Grafana dashboard to add the panel to
  • title: The title of the panel
  • query: The Prometheus query for the panel
§Returns

DMSCResult indicating success or failure

Source

pub fn add_stat_panel( &self, dashboard: &mut DMSCGrafanaDashboard, title: &str, query: &str, ) -> DMSCResult<()>

Adds a stat panel to a Grafana dashboard.

§Parameters
  • dashboard: The Grafana dashboard to add the panel to
  • title: The title of the panel
  • query: The Prometheus query for the panel
§Returns

DMSCResult indicating success or failure

Source

pub fn generate_dashboard( &self, title: &str, ) -> DMSCResult<DMSCGrafanaDashboard>

Generates a Grafana dashboard with default panels.

§Parameters
  • title: The title of the dashboard
§Returns

A Grafana dashboard with default panels wrapped in DMSCResult

Source

pub fn generate_default_dashboard(&self) -> DMSCResult<DMSCGrafanaDashboard>

Generates a default Grafana dashboard with “DMSC Metrics Dashboard” title.

§Returns

A default Grafana dashboard wrapped in DMSCResult

Trait Implementations§

Source§

impl Clone for DMSCPrometheusExporter

Source§

fn clone(&self) -> DMSCPrometheusExporter

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DMSCPrometheusExporter

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> Ungil for T
where T: Send,