8#include "prometheus/client_metric.h"
9#include "prometheus/detail/builder.h"
10#include "prometheus/detail/ckms_quantiles.h"
11#include "prometheus/detail/core_export.h"
12#include "prometheus/detail/time_window_quantiles.h"
13#include "prometheus/metric_type.h"
43 using Quantiles = std::vector<detail::CKMSQuantiles::Quantile>;
45 static const MetricType metric_type{MetricType::Summary};
74 Summary(
const Quantiles& quantiles,
75 std::chrono::milliseconds max_age = std::chrono::seconds{60},
87 const Quantiles quantiles_;
88 mutable std::mutex mutex_;
91 detail::TimeWindowQuantiles quantile_values_;
121PROMETHEUS_CPP_CORE_EXPORT detail::Builder<Summary> BuildSummary();
Summary(const Quantiles &quantiles, std::chrono::milliseconds max_age=std::chrono::seconds{60}, int age_buckets=5)
Create a summary metric.
Definition summary.cc:7
ClientMetric Collect() const
Get the current value of the summary.
Definition summary.cc:22
void Observe(double value)
Observe the given amount.
Definition summary.cc:14
Definition client_metric.h:12