25 #include "prometheus/collectable.h"
26 #include "prometheus/detail/core_export.h"
27 #include "prometheus/family.h"
28 #include "prometheus/labels.h"
29 #include "prometheus/metric_family.h"
76 explicit Registry(InsertBehavior insert_behavior = InsertBehavior::Merge);
99 std::vector<MetricFamily> Collect()
const override;
111 template <
typename T>
115 template <
typename T>
118 template <
typename T>
119 std::vector<std::unique_ptr<Family<T>>>& GetFamilies();
121 template <
typename T>
122 bool NameExistsInOtherType(
const std::string& name)
const;
124 template <
typename T>
125 Family<T>& Add(
const std::string& name,
const std::string& help,
129 std::vector<std::unique_ptr<Family<Counter>>> counters_;
130 std::vector<std::unique_ptr<Family<Gauge>>> gauges_;
131 std::vector<std::unique_ptr<Family<Histogram>>> histograms_;
132 std::vector<std::unique_ptr<Family<Info>>> infos_;
133 std::vector<std::unique_ptr<Family<Summary>>> summaries_;
134 mutable std::mutex mutex_;