Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(463)

Unified Diff: net/disk_cache/blockfile/stats.cc

Issue 295913014: Disk cache: Remove stats_histogram. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/disk_cache/blockfile/stats.h ('k') | net/disk_cache/blockfile/stats_histogram.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/disk_cache/blockfile/stats.cc
diff --git a/net/disk_cache/blockfile/stats.cc b/net/disk_cache/blockfile/stats.cc
index eaaf75aa70d3c57c2165ddbcc9bfdc4a7f5d3b3c..0e0649baa494263710a00deafbc75f7c1c62a216 100644
--- a/net/disk_cache/blockfile/stats.cc
+++ b/net/disk_cache/blockfile/stats.cc
@@ -6,7 +6,11 @@
#include "base/format_macros.h"
#include "base/logging.h"
+#include "base/metrics/bucket_ranges.h"
+#include "base/metrics/histogram.h"
#include "base/metrics/histogram_samples.h"
+#include "base/metrics/sample_vector.h"
+#include "base/metrics/statistics_recorder.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
@@ -88,13 +92,10 @@ bool VerifyStats(OnDiskStats* stats) {
return true;
}
-Stats::Stats() : size_histogram_(NULL) {
+Stats::Stats() {
}
Stats::~Stats() {
- if (size_histogram_) {
- size_histogram_->Disable();
- }
}
bool Stats::Init(void* data, int num_bytes, Addr address) {
@@ -123,17 +124,30 @@ bool Stats::Init(void* data, int num_bytes, Addr address) {
}
void Stats::InitSizeHistogram() {
- // It seems impossible to support this histogram for more than one
- // simultaneous objects with the current infrastructure.
+ // Only generate this histogram for the main cache.
static bool first_time = true;
- if (first_time) {
- first_time = false;
- if (!size_histogram_) {
- // Stats may be reused when the cache is re-created, but we want only one
- // histogram at any given time.
- size_histogram_ = StatsHistogram::FactoryGet("DiskCache.SizeStats", this);
- }
+ if (!first_time)
Alexei Svitkine (slow) 2014/05/27 18:59:47 It seems that in the new version of the code, you'
rvargas (doing something else) 2014/05/27 19:36:38 The logic is pretty much the same: The histogram i
+ return;
+
+ first_time = false;
+ int min = 1;
+ int max = 64 * 1024;
+ int num_buckets = 75;
+ base::BucketRanges ranges(num_buckets + 1);
+ base::Histogram::InitializeBucketRanges(min, max, &ranges);
+
+ base::HistogramBase* stats_histogram = base::Histogram::FactoryGet(
+ "DiskCache.SizeStats2", min, max, num_buckets,
Alexei Svitkine (slow) 2014/05/27 18:59:47 Please add a histograms.xml entry for this histogr
rvargas (doing something else) 2014/05/27 19:36:38 Done.
+ base::HistogramBase::kUmaTargetedHistogramFlag);
+
+ base::SampleVector samples(&ranges);
+ for (int i = 0; i < kDataSizesLength; i++) {
+ if (data_sizes_[i] < 0)
Alexei Svitkine (slow) 2014/05/27 18:59:47 This could use a comment.
rvargas (doing something else) 2014/05/27 19:36:38 Done.
+ data_sizes_[i] = 0;
Alexei Svitkine (slow) 2014/05/27 18:59:47 Does it make sense for this to actually change dat
rvargas (doing something else) 2014/05/27 19:36:38 That's something that I saw when testing with my d
+
+ samples.Accumulate(GetBucketRange(i) / 1024, data_sizes_[i]);
}
+ stats_histogram->AddSamples(samples);
}
int Stats::StorageSize() {
@@ -248,15 +262,6 @@ int Stats::GetBucketRange(size_t i) const {
return n;
}
-void Stats::Snapshot(base::HistogramSamples* samples) const {
- for (int i = 0; i < kDataSizesLength; i++) {
- int count = data_sizes_[i];
- if (count < 0)
- count = 0;
- samples->Accumulate(GetBucketRange(i), count);
- }
-}
-
// The array will be filled this way:
// index size
// 0 [0, 1024)
« no previous file with comments | « net/disk_cache/blockfile/stats.h ('k') | net/disk_cache/blockfile/stats_histogram.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698