Merge pull request #967 from SherlockNoMad/ValueSize
Add histogram for value size per operation
This commit is contained in:
commit
7b943da1b2
@ -3327,6 +3327,7 @@ Status DBImpl::GetImpl(const ReadOptions& read_options,
|
|||||||
|
|
||||||
RecordTick(stats_, NUMBER_KEYS_READ);
|
RecordTick(stats_, NUMBER_KEYS_READ);
|
||||||
RecordTick(stats_, BYTES_READ, value->size());
|
RecordTick(stats_, BYTES_READ, value->size());
|
||||||
|
MeasureTime(stats_, BYTES_PER_READ, value->size());
|
||||||
}
|
}
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
@ -3437,6 +3438,7 @@ std::vector<Status> DBImpl::MultiGet(
|
|||||||
RecordTick(stats_, NUMBER_MULTIGET_CALLS);
|
RecordTick(stats_, NUMBER_MULTIGET_CALLS);
|
||||||
RecordTick(stats_, NUMBER_MULTIGET_KEYS_READ, num_keys);
|
RecordTick(stats_, NUMBER_MULTIGET_KEYS_READ, num_keys);
|
||||||
RecordTick(stats_, NUMBER_MULTIGET_BYTES_READ, bytes_read);
|
RecordTick(stats_, NUMBER_MULTIGET_BYTES_READ, bytes_read);
|
||||||
|
MeasureTime(stats_, BYTES_PER_MULTIGET, bytes_read);
|
||||||
PERF_TIMER_STOP(get_post_process_time);
|
PERF_TIMER_STOP(get_post_process_time);
|
||||||
|
|
||||||
return stat_list;
|
return stat_list;
|
||||||
@ -4321,6 +4323,7 @@ Status DBImpl::WriteImpl(const WriteOptions& write_options,
|
|||||||
// Record statistics
|
// Record statistics
|
||||||
RecordTick(stats_, NUMBER_KEYS_WRITTEN, total_count);
|
RecordTick(stats_, NUMBER_KEYS_WRITTEN, total_count);
|
||||||
RecordTick(stats_, BYTES_WRITTEN, total_byte_size);
|
RecordTick(stats_, BYTES_WRITTEN, total_byte_size);
|
||||||
|
MeasureTime(stats_, BYTES_PER_WRITE, total_byte_size);
|
||||||
PERF_TIMER_STOP(write_pre_and_post_process_time);
|
PERF_TIMER_STOP(write_pre_and_post_process_time);
|
||||||
|
|
||||||
if (write_options.disableWAL) {
|
if (write_options.disableWAL) {
|
||||||
|
@ -280,6 +280,10 @@ enum Histograms : uint32_t {
|
|||||||
SST_READ_MICROS,
|
SST_READ_MICROS,
|
||||||
// The number of subcompactions actually scheduled during a compaction
|
// The number of subcompactions actually scheduled during a compaction
|
||||||
NUM_SUBCOMPACTIONS_SCHEDULED,
|
NUM_SUBCOMPACTIONS_SCHEDULED,
|
||||||
|
// Value size distribution in each operation
|
||||||
|
BYTES_PER_READ,
|
||||||
|
BYTES_PER_WRITE,
|
||||||
|
BYTES_PER_MULTIGET,
|
||||||
HISTOGRAM_ENUM_MAX, // TODO(ldemailly): enforce HistogramsNameMap match
|
HISTOGRAM_ENUM_MAX, // TODO(ldemailly): enforce HistogramsNameMap match
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -307,6 +311,9 @@ const std::vector<std::pair<Histograms, std::string>> HistogramsNameMap = {
|
|||||||
{WRITE_STALL, "rocksdb.db.write.stall"},
|
{WRITE_STALL, "rocksdb.db.write.stall"},
|
||||||
{SST_READ_MICROS, "rocksdb.sst.read.micros"},
|
{SST_READ_MICROS, "rocksdb.sst.read.micros"},
|
||||||
{NUM_SUBCOMPACTIONS_SCHEDULED, "rocksdb.num.subcompactions.scheduled"},
|
{NUM_SUBCOMPACTIONS_SCHEDULED, "rocksdb.num.subcompactions.scheduled"},
|
||||||
|
{BYTES_PER_READ, "rocksdb.bytes.per.read"},
|
||||||
|
{BYTES_PER_WRITE, "rocksdb.bytes.per.write"},
|
||||||
|
{BYTES_PER_MULTIGET, "rocksdb.bytes.per.multiget"},
|
||||||
};
|
};
|
||||||
|
|
||||||
struct HistogramData {
|
struct HistogramData {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user