]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
common/perf_counters: histograms are counters
authorSage Weil <sage@redhat.com>
Wed, 3 May 2017 02:11:35 +0000 (21:11 -0500)
committerSage Weil <sage@redhat.com>
Mon, 15 May 2017 13:38:21 +0000 (09:38 -0400)
The histogram is a histogram of counters (not guages), so set the COUNTER
bit.  (This only matters because we expose and document the bits of the
type, for better for for worse.)

Signed-off-by: Sage Weil <sage@redhat.com>
src/common/perf_counters.cc

index 62d9b57a4f85971242a88a943409732a5229e76f..d07501fb2c913ea789aac69c92192a9e3e006f0a 100644 (file)
@@ -317,7 +317,7 @@ void PerfCounters::hinc(int idx, int64_t x, int64_t y)
   assert(idx < m_upper_bound);
 
   perf_counter_data_any_d& data(m_data[idx - m_lower_bound - 1]);
-  assert(data.type == (PERFCOUNTER_HISTOGRAM | PERFCOUNTER_U64));
+  assert(data.type == (PERFCOUNTER_HISTOGRAM | PERFCOUNTER_COUNTER | PERFCOUNTER_U64));
   assert(data.histogram);
 
   data.histogram->inc(x, y);
@@ -407,7 +407,7 @@ void PerfCounters::dump_formatted_generic(Formatter *f, bool schema,
        }
        f->close_section();
       } else if (d->type & PERFCOUNTER_HISTOGRAM) {
-        assert(d->type == (PERFCOUNTER_HISTOGRAM | PERFCOUNTER_U64));
+        assert(d->type == (PERFCOUNTER_HISTOGRAM | PERFCOUNTER_COUNTER | PERFCOUNTER_U64));
         assert(d->histogram);
         f->open_object_section(d->name);
         d->histogram->dump_formatted(f);
@@ -504,7 +504,7 @@ void PerfCountersBuilder::add_histogram(
   const char *description, const char *nick, int prio)
 {
   add_impl(idx, name, description, nick, prio,
-          PERFCOUNTER_U64 | PERFCOUNTER_HISTOGRAM,
+          PERFCOUNTER_U64 | PERFCOUNTER_HISTOGRAM | PERFCOUNTER_COUNTER,
            unique_ptr<PerfHistogram<>>{new PerfHistogram<>{x_axis_config, y_axis_config}});
 }