Skip to content

Commit 7a99839

Browse files
committed
[Common] Add total count and sum of latency measurements
to the latency tracker. Also show min, max and stdev value at the end - it makes it easier to quickly compare different outputs.
1 parent cd92304 commit 7a99839

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

source/common/latency_tracker.hpp

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ static constexpr double percentiles[numPercentiles] = {
4242
50.0, 90.0, 99.0, 99.9, 99.99, 99.999, 99.9999};
4343

4444
struct latencyValues {
45+
int64_t count;
4546
int64_t min;
4647
int64_t max;
4748
int64_t mean;
@@ -54,6 +55,7 @@ using histogram_ptr =
5455

5556
static inline latencyValues getValues(const struct hdr_histogram *histogram) {
5657
latencyValues values;
58+
values.count = histogram->total_count;
5759
values.max = hdr_max(histogram);
5860
values.min = hdr_min(histogram);
5961
values.mean = static_cast<int64_t>(hdr_mean(histogram));
@@ -93,20 +95,22 @@ class latency_printer {
9395
for (auto &[name, histogram] : values) {
9496
auto value = getValues(histogram.get());
9597
logger.log(logger::Level::INFO,
96-
"{},{},{},{},{},{},{},{},{},{},{},{},ns", name,
97-
value.min, value.max, value.mean, value.stddev,
98-
value.percentileValues[0], value.percentileValues[1],
99-
value.percentileValues[2], value.percentileValues[3],
100-
value.percentileValues[4], value.percentileValues[5],
101-
value.percentileValues[6]);
98+
"{},{},{},{},{},{},{},{},{},{},{},{},{},{},ns", name,
99+
value.mean, value.percentileValues[0],
100+
value.percentileValues[1], value.percentileValues[2],
101+
value.percentileValues[3], value.percentileValues[4],
102+
value.percentileValues[5], value.percentileValues[6],
103+
value.count, value.count * value.mean, value.min,
104+
value.max, value.stddev);
102105
}
103106
}
104107

105108
private:
106109
inline void printHeader() {
107110
logger.log(logger::Level::INFO, "Latency histogram:");
108111
logger.log(logger::Level::INFO,
109-
"name,min,max,mean,stdev,p{},p{},p{},p{},p{},p{},p{},unit",
112+
"name,mean,p{},p{},p{},p{},p{},p{}"
113+
",p{},count,sum,min,max,stdev,unit",
110114
percentiles[0], percentiles[1], percentiles[2],
111115
percentiles[3], percentiles[4], percentiles[5],
112116
percentiles[6]);

0 commit comments

Comments
 (0)