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