Welcome to prometheus-cpp’s documentation!¶
Indices and tables¶
Doxygen Index¶
-
struct
Bucket¶
-
class
CKMSQuantiles¶
-
struct
ClientMetric¶
-
class
Collectable¶ Subclassed by prometheus::Family< T >, prometheus::Registry
-
class
Counter¶ Public Functions
-
void
Increment()¶
-
void
Increment(double)¶
-
double
Value() const¶
-
ClientMetric
Collect()¶
Public Static Attributes
-
const MetricType
metric_type= MetricType::Counter¶
-
void
-
class
CounterBuilder¶ Public Functions
-
CounterBuilder &
Labels(const std::map<std::string, std::string> &labels)¶
-
CounterBuilder &
Name(const std::string&)¶
-
CounterBuilder &
Help(const std::string&)¶
-
CounterBuilder &
-
class
Exposer¶ Public Functions
-
Exposer(const std::string &bind_address, const std::string &uri = std::string("/metrics"))¶
-
~Exposer()¶
-
void
RegisterCollectable(const std::weak_ptr<Collectable> &collectable)¶
-
-
template <typename T>
classFamily: public prometheus::Collectable¶ Public Functions
-
Family(const std::string &name, const std::string &help, const std::map<std::string, std::string> &constant_labels)¶
-
template <typename... Args>
T &Add(const std::map<std::string, std::string> &labels, Args&&... args)¶
-
void
Remove(T *metric)¶
-
std::vector<MetricFamily>
Collect()¶
Private Functions
-
ClientMetric
CollectMetric(std::size_t hash, T *metric)¶
Private Members
-
std::unordered_map<std::size_t, std::unique_ptr<T>>
metrics_¶
-
std::unordered_map<std::size_t, std::map<std::string, std::string>>
labels_¶
-
std::unordered_map<T *, std::size_t>
labels_reverse_lookup_¶
-
const std::string
name_¶
-
const std::string
help_¶
-
const std::map<std::string, std::string>
constant_labels_¶
-
std::mutex
mutex_¶
Private Static Functions
-
std::size_t
hash_labels(const std::map<std::string, std::string> &labels)¶
-
-
class
Gateway¶ Public Types
-
using
Labels= std::map<std::string, std::string>¶
Public Functions
-
Gateway(const std::string &uri, const std::string jobname, const Labels &labels = {}, const std::string username = {}, const std::string password = {})¶
-
void
RegisterCollectable(const std::weak_ptr<Collectable> &collectable, const Labels *labels = nullptr)¶
-
int
Push()¶
-
std::future<int>
AsyncPush()¶
-
int
PushAdd()¶
-
std::future<int>
AsyncPushAdd()¶
-
int
Delete()¶
-
std::future<int>
AsyncDelete()¶
-
using
-
class
Gauge¶ Public Functions
-
Gauge()¶
-
Gauge(double)¶
-
void
Increment()¶
-
void
Increment(double)¶
-
void
Decrement()¶
-
void
Decrement(double)¶
-
void
Set(double)¶
-
void
SetToCurrentTime()¶
-
double
Value() const¶
-
ClientMetric
Collect()¶
Public Static Attributes
-
const MetricType
metric_type= MetricType::Gauge¶
Private Functions
-
void
Change(double)¶
Private Members
-
std::atomic<double>
value_¶
-
-
class
GaugeBuilder¶ Public Functions
-
GaugeBuilder &
Labels(const std::map<std::string, std::string> &labels)¶
-
GaugeBuilder &
Name(const std::string&)¶
-
GaugeBuilder &
Help(const std::string&)¶
-
GaugeBuilder &
-
struct
Histogram¶
-
class
Histogram¶ Public Types
-
using
BucketBoundaries= std::vector<double>¶
Public Functions
-
Histogram(const BucketBoundaries &buckets)¶
-
void
Observe(double value)¶
-
ClientMetric
Collect()¶
Public Static Attributes
-
const MetricType
metric_type= MetricType::Histogram¶
-
using
-
class
HistogramBuilder¶ Public Functions
-
HistogramBuilder &
Labels(const std::map<std::string, std::string> &labels)¶
-
HistogramBuilder &
Name(const std::string&)¶
-
HistogramBuilder &
Help(const std::string&)¶
-
HistogramBuilder &
-
struct
Label¶
-
struct
MetricFamily¶ Public Members
-
std::string
name¶
-
std::string
help¶
-
MetricType
type= MetricType::Untyped¶
-
std::vector<ClientMetric>
metric¶
-
std::string
-
struct
Quantile¶
-
class
Registry: public prometheus::Collectable¶ Public Functions
-
std::vector<MetricFamily>
Collect()¶
Private Functions
-
Family<Counter> &
AddCounter(const std::string &name, const std::string &help, const std::map<std::string, std::string> &labels)¶
-
Family<Gauge> &
AddGauge(const std::string &name, const std::string &help, const std::map<std::string, std::string> &labels)¶
Friends
-
friend
prometheus::Registry::detail::CounterBuilder
-
friend
prometheus::Registry::detail::GaugeBuilder
-
friend
prometheus::Registry::detail::HistogramBuilder
-
friend
prometheus::Registry::detail::SummaryBuilder
-
std::vector<MetricFamily>
-
class
Serializer¶ Subclassed by prometheus::TextSerializer
Public Functions
-
virtual
~Serializer()¶
-
virtual std::string
Serialize(const std::vector<MetricFamily>&) const¶
-
virtual void
Serialize(std::ostream &out, const std::vector<MetricFamily> &metrics) const = 0¶
-
virtual
-
class
Summary¶ Public Types
-
using
Quantiles= std::vector<detail::CKMSQuantiles::Quantile>¶
Public Functions
-
Summary(const Quantiles &quantiles, std::chrono::milliseconds max_age_seconds = std::chrono::seconds(60), int age_buckets = 5)¶
-
void
Observe(double value)¶
-
ClientMetric
Collect()¶
Public Static Attributes
-
const MetricType
metric_type= MetricType::Summary¶
-
using
-
struct
Summary¶
-
class
SummaryBuilder¶ Public Functions
-
SummaryBuilder &
Labels(const std::map<std::string, std::string> &labels)¶
-
SummaryBuilder &
Name(const std::string&)¶
-
SummaryBuilder &
Help(const std::string&)¶
-
SummaryBuilder &
-
class
TextSerializer: public prometheus::Serializer¶ Public Functions
-
void
Serialize(std::ostream &out, const std::vector<MetricFamily> &metrics) const¶
-
void
-
class
TimeWindowQuantiles¶ Public Functions
-
TimeWindowQuantiles(const std::vector<CKMSQuantiles::Quantile> &quantiles, Clock::duration max_age_seconds, int age_buckets)¶
-
double
get(double q)¶
-
void
insert(double value)¶
Private Types
-
using
Clock= std::chrono::steady_clock¶
Private Functions
-
CKMSQuantiles &
rotate()¶
Private Members
-
const std::vector<CKMSQuantiles::Quantile> &
quantiles_¶
-
std::vector<CKMSQuantiles>
ckms_quantiles_¶
-
std::size_t
current_bucket_¶
-
-
namespace
prometheus¶ -
Functions
-
bool
CheckMetricName(const std::string &name)¶
-
bool
CheckLabelName(const std::string &name)¶
-
detail::CounterBuilder
BuildCounter()¶
-
detail::GaugeBuilder
BuildGauge()¶
-
detail::HistogramBuilder
BuildHistogram()¶
-
detail::SummaryBuilder
BuildSummary()¶
-
bool
-
namespace
detail¶
-
file
check_names.h - #include <string>
-
file
client_metric.h - #include <cstdint>#include <string>#include <tuple>#include <vector>#include “prometheus/metric_type.h”
-
file
collectable.h - #include <vector>
-
file
counter.h - #include <atomic>#include “prometheus/client_metric.h”#include “prometheus/gauge.h”
-
file
counter_builder.h - #include <map>#include <string>
-
file
family.h - #include <algorithm>#include <cassert>#include <functional>#include <map>#include <memory>#include <mutex>#include <numeric>#include <string>#include <unordered_map>#include “check_names.h”#include “collectable.h”#include “metric_family.h”
-
file
gauge.h - #include <atomic>#include “prometheus/client_metric.h”#include “prometheus/collectable.h”
-
file
gauge_builder.h - #include <map>#include <string>
-
file
histogram.h - #include <vector>#include “prometheus/client_metric.h”#include “prometheus/counter.h”
-
file
histogram_builder.h - #include <map>#include <string>#include <vector>
-
file
metric_family.h - #include <string>#include <vector>#include “prometheus/client_metric.h”#include “prometheus/metric_type.h”
-
file
metric_type.h
-
file
registry.h - #include <map>#include <memory>#include <mutex>#include “prometheus/client_metric.h”#include “prometheus/collectable.h”#include “prometheus/counter_builder.h”#include “prometheus/family.h”#include “prometheus/gauge_builder.h”#include “prometheus/histogram.h”#include “prometheus/histogram_builder.h”#include “prometheus/summary.h”#include “prometheus/summary_builder.h”
-
file
serializer.h - #include <string>#include <vector>#include “prometheus/client_metric.h”#include “prometheus/metric_family.h”
-
file
summary.h - #include <array>#include <atomic>#include <chrono>#include <functional>#include <list>#include <mutex>#include <vector>#include “prometheus/client_metric.h”
-
file
summary_builder.h - #include <map>#include <string>#include <vector>
-
file
text_serializer.h - #include <string>#include <vector>#include “prometheus/metric_family.h”#include “prometheus/serializer.h”
-
file
exposer.h - #include <atomic>#include <cstdint>#include <memory>#include <string>#include “prometheus/histogram.h”#include “prometheus/registry.h”
-
file
gateway.h - #include <future>#include <map>#include <memory>#include <sstream>#include “prometheus/histogram.h”#include “prometheus/registry.h”
-
dir
/home/docs/checkouts/readthedocs.org/user_builds/prometheus-cpp/checkouts/read-the-docs/core
-
dir
/home/docs/checkouts/readthedocs.org/user_builds/prometheus-cpp/checkouts/read-the-docs/push/include
-
dir
/home/docs/checkouts/readthedocs.org/user_builds/prometheus-cpp/checkouts/read-the-docs/pull/include
-
dir
/home/docs/checkouts/readthedocs.org/user_builds/prometheus-cpp/checkouts/read-the-docs/core/include
-
dir
/home/docs/checkouts/readthedocs.org/user_builds/prometheus-cpp/checkouts/read-the-docs/push/include/prometheus
-
dir
/home/docs/checkouts/readthedocs.org/user_builds/prometheus-cpp/checkouts/read-the-docs/pull/include/prometheus
-
dir
/home/docs/checkouts/readthedocs.org/user_builds/prometheus-cpp/checkouts/read-the-docs/core/include/prometheus
-
dir
/home/docs/checkouts/readthedocs.org/user_builds/prometheus-cpp/checkouts/read-the-docs/pull
-
dir
/home/docs/checkouts/readthedocs.org/user_builds/prometheus-cpp/checkouts/read-the-docs/push