More packet metrics (#1982)

* found path negotation sends that weren't accounted for

* Fix histogram so it will actually compile

* Found more places for packet metrics
This commit is contained in:
Grant Limberg 2023-05-02 11:16:55 -07:00 committed by GitHub
parent 4ca3f27293
commit 06b487119d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 41 additions and 6 deletions

View file

@ -38,7 +38,8 @@ namespace prometheus {
static const Metric::Type static_type = Metric::Type::Counter;
Counter() : Metric (Metric::Type::Counter) {} ///< \brief Create a counter that starts at 0.
Counter(const Counter<Value_> &rhs) : Metric(static_type), value{rhs.value.load()} {}
// original API
void Increment() { ///< \brief Increment the counter by 1.

View file

@ -38,6 +38,7 @@ namespace prometheus {
Gauge() : Metric (static_type) {} ///< \brief Create a gauge that starts at 0.
Gauge(const Value value_) : Metric(static_type), value{ value_ } {} ///< \brief Create a gauge that starts at the given amount.
Gauge(const Gauge<Value_> &rhs) : Metric(rhs.static_type), value{rhs.value.load()} {}
// original API

View file

@ -27,7 +27,7 @@ namespace prometheus {
/// The class is thread-safe. No concurrent call to any API of this type causes
/// a data race.
template <typename Value_ = uint64_t>
class Histogram : Metric {
class Histogram : public Metric {
using BucketBoundaries = std::vector<Value_>;
@ -105,7 +105,7 @@ namespace prometheus {
auto cumulative_count = 0ULL;
metric.histogram.bucket.reserve(bucket_counts_.size());
for (std::size_t i{0}; i < bucket_counts_.size(); ++i) {
cumulative_count += static_cast<std::size_t>(bucket_counts_[i].Value());
cumulative_count += static_cast<std::size_t>(bucket_counts_[i].Get());
auto bucket = ClientMetric::Bucket{};
bucket.cumulative_count = cumulative_count;
bucket.upper_bound = (i == bucket_boundaries_.size()