Skip to content

Commit a5baea7

Browse files
committed
Reduce histogram metric cardinality for baseline resync
Convert snapshot histogram metrics from full bucket distributions to sum/count publishing mode Changes: - Convert 4 snapshot histograms to publish_as_sum_count: - snp_dnr_blob_process_latency (donor) - snp_dnr_batch_process_latency (donor) - snp_rcvr_blob_process_time (receiver) - snp_rcvr_batch_process_time (receiver) - snapshot batch e2e remains as histogram - snp_dnr_batch_e2e_latency (donor) - Update 4 GC histogram comments for accuracy: - PercentileBuckets: 128 → 10 buckets (10% increments) - LinearUpto64Buckets: Clarify 17 buckets covering 0-64s Signed-off-by: Xiaoxi Chen <xiaoxchen@ebay.com>
1 parent d1392ce commit a5baea7

File tree

3 files changed

+14
-10
lines changed

3 files changed

+14
-10
lines changed

conanfile.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
class HomeObjectConan(ConanFile):
1212
name = "homeobject"
13-
version = "4.1.0"
13+
version = "4.1.1"
1414

1515
homepage = "https://github.com/eBay/HomeObject"
1616
description = "Blob Store built on HomeStore"
@@ -49,7 +49,7 @@ def build_requirements(self):
4949
self.test_requires("gtest/1.17.0")
5050

5151
def requirements(self):
52-
self.requires("sisl/[^13.0]@oss/master", transitive_headers=True)
52+
self.requires("sisl/[^13.2.3]@oss/master", transitive_headers=True)
5353
self.requires("homestore/[^7.4]@oss/master")
5454
self.requires("iomgr/[^12.0]@oss/master")
5555

src/lib/homestore_backend/gc_manager.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,16 +137,16 @@ class GCManager {
137137

138138
// gc task level histogram metrics
139139
REGISTER_HISTOGRAM(reclaim_ratio_gc, "the ratio of reclaimed blks to total blks in a gc task",
140-
HistogramBucketsType(PercentileBuckets)); // 0% to 100% in 128 buckets
140+
HistogramBucketsType(PercentileBuckets)); // 0% to 100% in 10 buckets (10% increments)
141141
REGISTER_HISTOGRAM(
142142
gc_time_duration_s_gc, "how long a successful gc task takes by second",
143-
HistogramBucketsType(LinearUpto64Buckets)); // gc task is expected to finish within 1 minutes
143+
HistogramBucketsType(LinearUpto64Buckets)); // 17 buckets covering 0-64 seconds in 4s increments
144144

145145
REGISTER_HISTOGRAM(reclaim_ratio_egc, "the ratio of reclaimed blks to total blks in an egc task",
146-
HistogramBucketsType(PercentileBuckets)); // 0% to 100% in 128 buckets
146+
HistogramBucketsType(PercentileBuckets)); // 0% to 100% in 10 buckets (10% increments)
147147
REGISTER_HISTOGRAM(
148148
gc_time_duration_s_egc, "how long a successful egc task takes by second",
149-
HistogramBucketsType(LinearUpto64Buckets)); // gc task is expected to finish within 1 minutes
149+
HistogramBucketsType(LinearUpto64Buckets)); // 17 buckets covering 0-64 seconds in 4s increments
150150

151151
register_me_to_farm();
152152
attach_gather_cb(std::bind(&pdev_gc_metrics::on_gather, this));

src/lib/homestore_backend/hs_homeobject.hpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -576,10 +576,12 @@ class HSHomeObject : public HomeObjectImpl {
576576
REGISTER_COUNTER(snp_dnr_error_count, "Error times when reading blobs in baseline resync");
577577
REGISTER_HISTOGRAM(snp_dnr_blob_process_latency,
578578
"Time cost(us) of successfully process a blob in baseline resync",
579-
HistogramBucketsType(LowResolutionLatecyBuckets));
579+
HistogramBucketsType(LowResolutionLatecyBuckets),
580+
_publish_as::publish_as_sum_count);
580581
REGISTER_HISTOGRAM(snp_dnr_batch_process_latency,
581582
"Time cost(ms) of successfully process a batch in baseline resync",
582-
HistogramBucketsType(LowResolutionLatecyBuckets));
583+
HistogramBucketsType(LowResolutionLatecyBuckets),
584+
_publish_as::publish_as_sum_count);
583585
REGISTER_HISTOGRAM(snp_dnr_batch_e2e_latency,
584586
"Time cost(ms) of a batch end-to-end round trip in baseline resync",
585587
HistogramBucketsType(LowResolutionLatecyBuckets));
@@ -682,10 +684,12 @@ class HSHomeObject : public HomeObjectImpl {
682684
REGISTER_GAUGE(snp_rcvr_error_count, "Error count in baseline resync");
683685
REGISTER_HISTOGRAM(snp_rcvr_blob_process_time,
684686
"Time cost(us) of successfully process a blob in baseline resync",
685-
HistogramBucketsType(LowResolutionLatecyBuckets));
687+
HistogramBucketsType(LowResolutionLatecyBuckets),
688+
_publish_as::publish_as_sum_count);
686689
REGISTER_HISTOGRAM(snp_rcvr_batch_process_time,
687690
"Time cost(ms) of successfully process a batch in baseline resync",
688-
HistogramBucketsType(LowResolutionLatecyBuckets));
691+
HistogramBucketsType(LowResolutionLatecyBuckets),
692+
_publish_as::publish_as_sum_count);
689693

690694
attach_gather_cb(std::bind(&ReceiverSnapshotMetrics::on_gather, this));
691695
register_me_to_farm();

0 commit comments

Comments
 (0)