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

Unified Diff: src/counters.h

Issue 875873002: Rescale histogram timers. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: only change compilation-related histograms Created 5 years, 11 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 | src/counters.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/counters.h
diff --git a/src/counters.h b/src/counters.h
index 1209b454643de30bbb986e0b7760335ca0756b0c..c1da5708ba854b55bbbd592e53484f1409f4cc8f 100644
--- a/src/counters.h
+++ b/src/counters.h
@@ -224,13 +224,16 @@ class Histogram {
// A HistogramTimer allows distributions of results to be created.
class HistogramTimer : public Histogram {
public:
- HistogramTimer() { }
- HistogramTimer(const char* name,
- int min,
- int max,
- int num_buckets,
- Isolate* isolate)
- : Histogram(name, min, max, num_buckets, isolate) {}
+ enum Resolution {
+ MILLISECOND,
+ MICROSECOND
+ };
+
+ HistogramTimer() {}
+ HistogramTimer(const char* name, int min, int max, Resolution resolution,
+ int num_buckets, Isolate* isolate)
+ : Histogram(name, min, max, num_buckets, isolate),
+ resolution_(resolution) {}
// Start the timer.
void Start();
@@ -250,6 +253,7 @@ class HistogramTimer : public Histogram {
private:
base::ElapsedTimer timer_;
+ Resolution resolution_;
};
// Helper class for scoping a HistogramTimer.
@@ -315,7 +319,7 @@ class AggregatableHistogramTimer : public Histogram {
// Start/stop the "outer" scope.
void Start() { time_ = base::TimeDelta(); }
- void Stop() { AddSample(static_cast<int>(time_.InMilliseconds())); }
+ void Stop() { AddSample(static_cast<int>(time_.InMicroseconds())); }
// Add a time value ("inner" scope).
void Add(base::TimeDelta other) { time_ += other; }
@@ -360,30 +364,33 @@ class AggregatedHistogramTimerScope {
HR(gc_idle_time_limit_overshot, V8.GCIdleTimeLimit.Overshot, 0, 10000, 101) \
HR(gc_idle_time_limit_undershot, V8.GCIdleTimeLimit.Undershot, 0, 10000, 101)
-#define HISTOGRAM_TIMER_LIST(HT) \
- /* Garbage collection timers. */ \
- HT(gc_compactor, V8.GCCompactor) \
- HT(gc_scavenger, V8.GCScavenger) \
- HT(gc_context, V8.GCContext) /* GC context cleanup time */ \
- HT(gc_idle_notification, V8.GCIdleNotification) \
- HT(gc_incremental_marking, V8.GCIncrementalMarking) \
- HT(gc_low_memory_notification, V8.GCLowMemoryNotification) \
- /* Parsing timers. */ \
- HT(parse, V8.Parse) \
- HT(parse_lazy, V8.ParseLazy) \
- HT(pre_parse, V8.PreParse) \
- /* Compilation times. */ \
- HT(compile, V8.Compile) \
- HT(compile_eval, V8.CompileEval) \
- /* Serialization as part of compilation (code caching) */ \
- HT(compile_serialize, V8.CompileSerialize) \
- HT(compile_deserialize, V8.CompileDeserialize) \
- /* Total compilation time incl. caching/parsing */ \
- HT(compile_script, V8.CompileScript)
+#define HISTOGRAM_TIMER_LIST(HT) \
+ /* Garbage collection timers. */ \
+ HT(gc_compactor, V8.GCCompactor, 10000, MILLISECOND) \
+ HT(gc_scavenger, V8.GCScavenger, 10000, MILLISECOND) \
+ HT(gc_context, V8.GCContext, 10000, \
+ MILLISECOND) /* GC context cleanup time */ \
+ HT(gc_idle_notification, V8.GCIdleNotification, 10000, MILLISECOND) \
+ HT(gc_incremental_marking, V8.GCIncrementalMarking, 10000, MILLISECOND) \
+ HT(gc_low_memory_notification, V8.GCLowMemoryNotification, 10000, \
+ MILLISECOND) \
+ /* Parsing timers. */ \
+ HT(parse, V8.ParseMicroSeconds, 1000000, MICROSECOND) \
+ HT(parse_lazy, V8.ParseLazyMicroSeconds, 1000000, MICROSECOND) \
+ HT(pre_parse, V8.PreParseMicroSeconds, 1000000, MICROSECOND) \
+ /* Compilation times. */ \
+ HT(compile, V8.CompileMicroSeconds, 1000000, MICROSECOND) \
+ HT(compile_eval, V8.CompileEvalMicroSeconds, 1000000, MICROSECOND) \
+ /* Serialization as part of compilation (code caching) */ \
+ HT(compile_serialize, V8.CompileSerializeMicroSeconds, 100000, MICROSECOND) \
+ HT(compile_deserialize, V8.CompileDeserializeMicroSeconds, 1000000, \
+ MICROSECOND) \
+ /* Total compilation time incl. caching/parsing */ \
+ HT(compile_script, V8.CompileScriptMicroSeconds, 1000000, MICROSECOND)
#define AGGREGATABLE_HISTOGRAM_TIMER_LIST(AHT) \
- AHT(compile_lazy, V8.CompileLazy)
+ AHT(compile_lazy, V8.CompileLazyMicroSeconds)
#define HISTOGRAM_PERCENTAGE_LIST(HP) \
@@ -631,7 +638,7 @@ class Counters {
HISTOGRAM_RANGE_LIST(HR)
#undef HR
-#define HT(name, caption) \
+#define HT(name, caption, max, res) \
HistogramTimer* name() { return &name##_; }
HISTOGRAM_TIMER_LIST(HT)
#undef HT
@@ -688,7 +695,7 @@ class Counters {
#undef SC
enum Id {
-#define RATE_ID(name, caption) k_##name,
+#define RATE_ID(name, caption, max, res) k_##name,
HISTOGRAM_TIMER_LIST(RATE_ID)
#undef RATE_ID
#define AGGREGATABLE_ID(name, caption) k_##name,
@@ -730,8 +737,7 @@ class Counters {
HISTOGRAM_RANGE_LIST(HR)
#undef HR
-#define HT(name, caption) \
- HistogramTimer name##_;
+#define HT(name, caption, max, res) HistogramTimer name##_;
HISTOGRAM_TIMER_LIST(HT)
#undef HT
« no previous file with comments | « no previous file | src/counters.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698