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

Unified Diff: src/counters.h

Issue 2906063002: Move StatsTable into the Counters class. (Closed)
Patch Set: Fix nits. Created 3 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 | « src/api.cc ('k') | 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 b07381463faebc0579ce3b9dda780ba1543914cf..58e13662df7ba4e59387b57114e5f9e54c5e9cf6 100644
--- a/src/counters.h
+++ b/src/counters.h
@@ -25,12 +25,14 @@ namespace internal {
// counters for monitoring. Counters can be looked up and
// manipulated by name.
+class Counters;
+
class StatsTable {
public:
// Register an application-defined function where
// counters can be looked up. Note: Must be called on main thread,
// so that threaded stats counters can be created now.
- void SetCounterFunction(CounterLookupCallback f, Isolate* isolate);
+ void SetCounterFunction(CounterLookupCallback f);
// Register an application-defined function to create
// a histogram for passing to the AddHistogramSample function
@@ -80,29 +82,29 @@ class StatsTable {
}
private:
- StatsTable();
+ explicit StatsTable(Counters* counters);
+ Counters* counters_;
CounterLookupCallback lookup_function_;
CreateHistogramCallback create_histogram_function_;
AddHistogramSampleCallback add_histogram_sample_function_;
- friend class Isolate;
+ friend class Counters;
DISALLOW_COPY_AND_ASSIGN(StatsTable);
};
// Base class for stats counters.
class StatsCounterBase {
- public:
- StatsCounterBase() {}
- StatsCounterBase(Isolate* isolate, const char* name)
- : isolate_(isolate), name_(name), ptr_(nullptr) {}
-
protected:
- Isolate* isolate_;
+ Counters* counters_;
const char* name_;
int* ptr_;
+ StatsCounterBase() {}
+ StatsCounterBase(Counters* counters, const char* name)
+ : counters_(counters), name_(name), ptr_(nullptr) {}
+
void SetLoc(int* loc, int value) { *loc = value; }
void IncrementLoc(int* loc) { (*loc)++; }
void IncrementLoc(int* loc, int value) { (*loc) += value; }
@@ -123,8 +125,8 @@ class StatsCounterBase {
class StatsCounter : public StatsCounterBase {
public:
StatsCounter() { }
- StatsCounter(Isolate* isolate, const char* name)
- : StatsCounterBase(isolate, name), lookup_done_(false) {}
+ StatsCounter(Counters* counters, const char* name)
+ : StatsCounterBase(counters, name), lookup_done_(false) {}
// Sets the counter to a specific value.
void Set(int value) {
@@ -185,7 +187,7 @@ class StatsCounter : public StatsCounterBase {
// (i.e. not workers).
class StatsCounterThreadSafe : public StatsCounterBase {
public:
- StatsCounterThreadSafe(Isolate* isolate, const char* name);
+ StatsCounterThreadSafe(Counters* counters, const char* name);
void Set(int Value);
void Increment();
@@ -213,18 +215,15 @@ class StatsCounterThreadSafe : public StatsCounterBase {
class Histogram {
public:
Histogram() { }
- Histogram(const char* name,
- int min,
- int max,
- int num_buckets,
- Isolate* isolate)
+ Histogram(const char* name, int min, int max, int num_buckets,
+ Counters* counters)
: name_(name),
min_(min),
max_(max),
num_buckets_(num_buckets),
histogram_(NULL),
lookup_done_(false),
- isolate_(isolate) { }
+ counters_(counters) {}
// Add a single sample to this histogram.
void AddSample(int sample);
@@ -251,7 +250,7 @@ class Histogram {
return histogram_;
}
- Isolate* isolate() const { return isolate_; }
+ Counters* counters() const { return counters_; }
private:
void* CreateHistogram() const;
@@ -262,7 +261,7 @@ class Histogram {
int num_buckets_;
void* histogram_;
bool lookup_done_;
- Isolate* isolate_;
+ Counters* counters_;
};
// A HistogramTimer allows distributions of results to be created.
@@ -275,8 +274,8 @@ class HistogramTimer : public Histogram {
HistogramTimer() {}
HistogramTimer(const char* name, int min, int max, Resolution resolution,
- int num_buckets, Isolate* isolate)
- : Histogram(name, min, max, num_buckets, isolate),
+ int num_buckets, Counters* counters)
+ : Histogram(name, min, max, num_buckets, counters),
resolution_(resolution) {}
// Start the timer.
@@ -358,8 +357,8 @@ class AggregatableHistogramTimer : public Histogram {
public:
AggregatableHistogramTimer() {}
AggregatableHistogramTimer(const char* name, int min, int max,
- int num_buckets, Isolate* isolate)
- : Histogram(name, min, max, num_buckets, isolate) {}
+ int num_buckets, Counters* counters)
+ : Histogram(name, min, max, num_buckets, counters) {}
// Start/stop the "outer" scope.
void Start() { time_ = base::TimeDelta(); }
@@ -1335,7 +1334,14 @@ class Counters : public std::enable_shared_from_this<Counters> {
RuntimeCallStats* runtime_call_stats() { return &runtime_call_stats_; }
+ StatsTable* stats_table() { return &stats_table_; }
+
+ Isolate* isolate() { return isolate_; }
+
private:
+ Isolate* isolate_;
+ StatsTable stats_table_;
+
#define HR(name, caption, min, max, num_buckets) Histogram name##_;
HISTOGRAM_RANGE_LIST(HR)
#undef HR
@@ -1401,8 +1407,6 @@ class Counters : public std::enable_shared_from_this<Counters> {
RuntimeCallStats runtime_call_stats_;
- friend class Isolate;
-
DISALLOW_IMPLICIT_CONSTRUCTORS(Counters);
};
« no previous file with comments | « src/api.cc ('k') | src/counters.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698