prom 0.1.0
Client-independent C++23 Prometheus/OpenMetrics metric abstraction
Loading...
Searching...
No Matches
Public Member Functions | List of all members
prom::Untyped Class Reference

An untyped metric: just a settable value. More...

#include <untyped.hpp>

Inheritance diagram for prom::Untyped:
Inheritance graph
[legend]
Collaboration diagram for prom::Untyped:
Collaboration graph
[legend]

Public Member Functions

 Untyped (const std::string_view name, const std::string_view help)
 
 Untyped (const UntypedSpec &spec)
 
 Untyped (std::shared_ptr< MetricCore > core)
 
template<class T >
requires std::is_arithmetic_v<T>
void set (T value) noexcept
 Set to a raw value.
 
template<DimensionalValue V>
void set (const V &value) noexcept
 Set to a dimensional value.
 
Untyped labels (const Labels &dynamic) const noexcept
 
- Public Member Functions inherited from prom::MetricBase< Untyped >
std::string_view name () const noexcept
 The metric's fully-qualified name.
 
MetricType type () const noexcept
 The metric kind.
 

Additional Inherited Members

- Protected Member Functions inherited from prom::MetricBase< Untyped >
 MetricBase (const MetricType type, const std::string_view name, const std::string_view help)
 Standalone, unbound construction from a name and help string.
 
 MetricBase (std::shared_ptr< MetricCore > core)
 Adopt an already-populated core (registered metrics and children).
 
 MetricBase (const MetricBase &)=default
 
 MetricBase (MetricBase &&)=default
 
MetricBaseoperator= (const MetricBase &)=default
 
MetricBaseoperator= (MetricBase &&)=default
 
 ~MetricBase ()=default
 
Binding bind () const noexcept
 Resolve the adapter and backend handle this metric should record against.
 
const std::shared_ptr< MetricCore > & core () const noexcept
 
Untyped make_child (const Labels &dynamic) const noexcept
 Resolve a labeled child of the same metric type.
 
bool reconcile_unit (const Unit &observed, Adapter &adapter) const noexcept
 Reconcile an observed unit against the family's known unit.
 
bool check_finite (const double value, std::string_view op) const noexcept
 Drop-and-log guard for a non-finite sample.
 
- Static Protected Member Functions inherited from prom::MetricBase< Untyped >
static spdlog::logger * logger () noexcept
 The shared per-process metrics logger.
 
- Protected Attributes inherited from prom::MetricBase< Untyped >
std::shared_ptr< MetricCorecore_
 

Detailed Description

An untyped metric: just a settable value.

Useful for bridging foreign data whose semantics prom should not second-guess.

Constructor & Destructor Documentation

◆ Untyped() [1/3]

prom::Untyped::Untyped ( const std::string_view  name,
const std::string_view  help 
)
inline

◆ Untyped() [2/3]

prom::Untyped::Untyped ( const UntypedSpec spec)
inlineexplicit

◆ Untyped() [3/3]

prom::Untyped::Untyped ( std::shared_ptr< MetricCore core)
inlineexplicit

Member Function Documentation

◆ labels()

Untyped prom::Untyped::labels ( const Labels dynamic) const
inlinenoexcept

◆ set() [1/2]

template<DimensionalValue V>
void prom::Untyped::set ( const V &  value)
inlinenoexcept

Set to a dimensional value.

◆ set() [2/2]

template<class T >
requires std::is_arithmetic_v<T>
void prom::Untyped::set ( value)
inlinenoexcept

Set to a raw value.


The documentation for this class was generated from the following file: