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

Unified Diff: net/disk_cache/blockfile/histogram_macros.h

Issue 196383016: Put histogram code in disk_cache on a diet. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 9 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/disk_cache/blockfile/histogram_macros.h
diff --git a/net/disk_cache/blockfile/histogram_macros.h b/net/disk_cache/blockfile/histogram_macros.h
index a5d6f56f5c10ca888b78c97e5c4cb8ac6793d24b..be8a98fc9efe32b68b94d554efcd9554cdad760f 100644
--- a/net/disk_cache/blockfile/histogram_macros.h
+++ b/net/disk_cache/blockfile/histogram_macros.h
@@ -14,16 +14,16 @@
// -----------------------------------------------------------------------------
// These histograms follow the definition of UMA_HISTOGRAMN_XXX except that
-// whenever the name changes (the experiment group changes), the histrogram
-// object is re-created.
+// the counter is not cached locally.
// Note: These macros are only run on one thread, so the declarations of
-// |counter| was made static (i.e., there will be no race for reinitialization).
+// |counter| could be static (since there will be no race for reinitialization),
+// but as they are used (with new names every time) in CACHE_UMA that
+// would not work and if CACHE_UMA is made to have one instance for every
+// cache, they will generate too much non-reusable machine code.
#define CACHE_HISTOGRAM_CUSTOM_COUNTS(name, sample, min, max, bucket_count) \
do { \
- static base::HistogramBase* counter(NULL); \
- if (!counter || name != counter->histogram_name()) \
- counter = base::Histogram::FactoryGet( \
+ base::HistogramBase* counter = base::Histogram::FactoryGet( \
rvargas (doing something else) 2014/03/14 21:48:41 Does this mean that we should change UMA_HISTOGRAM
Daniel Bratell 2014/03/17 09:46:57 I think removing static from all UVA macros could
gavinp 2014/03/17 10:15:28 I think this would be great. It's very difficult f
gavinp 2014/03/17 10:15:28 A few weeks ago, I started looking at this. It tur
rvargas (doing something else) 2014/03/17 18:03:08 I would be more interested in an open bug.
rvargas (doing something else) 2014/03/17 18:03:08 How does the switch amplifies the overhead? What i
Daniel Bratell 2014/03/17 19:35:54 The "static" just prevented the optimizer from reu
name, min, max, bucket_count, \
base::Histogram::kUmaTargetedHistogramFlag); \
counter->Add(sample); \
@@ -40,9 +40,7 @@
#define CACHE_HISTOGRAM_CUSTOM_TIMES(name, sample, min, max, bucket_count) \
do { \
- static base::HistogramBase* counter(NULL); \
- if (!counter || name != counter->histogram_name()) \
- counter = base::Histogram::FactoryTimeGet( \
+ base::HistogramBase* counter = base::Histogram::FactoryTimeGet( \
name, min, max, bucket_count, \
base::Histogram::kUmaTargetedHistogramFlag); \
counter->AddTime(sample); \
@@ -53,9 +51,7 @@
base::TimeDelta::FromSeconds(10), 50)
#define CACHE_HISTOGRAM_ENUMERATION(name, sample, boundary_value) do { \
- static base::HistogramBase* counter(NULL); \
- if (!counter || name != counter->histogram_name()) \
- counter = base::LinearHistogram::FactoryGet( \
+ base::HistogramBase* counter = base::LinearHistogram::FactoryGet( \
name, 1, boundary_value, boundary_value + 1, \
base::Histogram::kUmaTargetedHistogramFlag); \
counter->Add(sample); \
@@ -98,24 +94,16 @@
const std::string my_name =\
CACHE_UMA_BACKEND_IMPL_OBJ->HistogramName(name, experiment);\
switch (CACHE_UMA_BACKEND_IMPL_OBJ->cache_type()) {\
gavinp 2014/03/17 10:15:28 Does it make sense to keep this as a switch statem
rvargas (doing something else) 2014/03/17 18:03:08 I would actually prefer to keep a switch (or equiv
+ default:\
+ NOTREACHED();\
+ /* Fall-through. */\
case net::DISK_CACHE:\
- CACHE_HISTOGRAM_##type(my_name.data(), sample);\
- break;\
case net::MEDIA_CACHE:\
- CACHE_HISTOGRAM_##type(my_name.data(), sample);\
- break;\
case net::APP_CACHE:\
- CACHE_HISTOGRAM_##type(my_name.data(), sample);\
- break;\
case net::SHADER_CACHE:\
- CACHE_HISTOGRAM_##type(my_name.data(), sample);\
- break;\
case net::PNACL_CACHE:\
CACHE_HISTOGRAM_##type(my_name.data(), sample);\
break;\
- default:\
- NOTREACHED();\
- break;\
}\
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698