summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-28 06:59:52 +0000
committerjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-28 06:59:52 +0000
commit2753b39e0c2e83d3b497ebadc2d720f12b74db40 (patch)
tree01edf034e65922a229b3ccbaef8291059ac5e2bc /chrome/browser
parente660e88dc26b9b31c48c815b2358212ea4067ca5 (diff)
downloadchromium_src-2753b39e0c2e83d3b497ebadc2d720f12b74db40.zip
chromium_src-2753b39e0c2e83d3b497ebadc2d720f12b74db40.tar.gz
chromium_src-2753b39e0c2e83d3b497ebadc2d720f12b74db40.tar.bz2
Cleanup histogram classes mixing SetFlags into FactoryGet arguments
Generic cleanup of histogram class, renaming *FactoryGet to FactoryGet, along with reformatting. The macros were cleaned up to use common sub-macros rather than repeating code as much. Removed ThreadSafeHistogram (and associated ASSET_HISTOGRAM macros) since this class was not getting used. I introduced UMA_HISTOGRAM_ENUMERATION to support the common use of LinearHistograms to count various enumerated values. I added a Flags argument to all the FactoryGet routines to help avoid needing to call SetFlags each time a new sample is Add()ed. This also simplifies the code. This will all help prepare for a "don't histogram at all" macro setting so that I can test the impact of the histogram macro calls on performance (since there are now so many active histograms). BUG=31206 r=raman.tenneti Review URL: http://codereview.chromium.org/515033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35295 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/chrome_browser_application_mac.mm7
-rw-r--r--chrome/browser/chrome_browser_application_mac_unittest.mm2
-rw-r--r--chrome/browser/diagnostics/sqlite_diagnostics.cc6
-rw-r--r--chrome/browser/jankometer.cc14
-rw-r--r--chrome/browser/metrics/metrics_service.cc2
-rw-r--r--chrome/browser/net/dns_host_info.cc7
-rw-r--r--chrome/browser/net/websocket_experiment/websocket_experiment_runner.cc61
-rw-r--r--chrome/browser/renderer_host/buffered_resource_handler.cc15
-rw-r--r--chrome/browser/safe_browsing/safe_browsing_blocking_page.cc7
-rw-r--r--chrome/browser/ssl/ssl_blocking_page.cc7
-rw-r--r--chrome/browser/sync/profile_sync_service.cc7
11 files changed, 46 insertions, 89 deletions
diff --git a/chrome/browser/chrome_browser_application_mac.mm b/chrome/browser/chrome_browser_application_mac.mm
index ce7be61..f373e11 100644
--- a/chrome/browser/chrome_browser_application_mac.mm
+++ b/chrome/browser/chrome_browser_application_mac.mm
@@ -112,11 +112,8 @@ size_t BinForException(NSException* exception) {
}
void RecordExceptionWithUma(NSException* exception) {
- static scoped_refptr<Histogram> histogram =
- LinearHistogram::LinearHistogramFactoryGet("OSX.NSException",
- 0, kUnknownNSException, kUnknownNSException + 1);
- histogram->SetFlags(kUmaTargetedHistogramFlag);
- histogram->Add(BinForException(exception));
+ UMA_HISTOGRAM_ENUMERATION("OSX.NSException",
+ BinForException(exception), kUnknownNSException);
}
void Terminate() {
diff --git a/chrome/browser/chrome_browser_application_mac_unittest.mm b/chrome/browser/chrome_browser_application_mac_unittest.mm
index 7fc134e..d5f26c5 100644
--- a/chrome/browser/chrome_browser_application_mac_unittest.mm
+++ b/chrome/browser/chrome_browser_application_mac_unittest.mm
@@ -65,7 +65,7 @@ TEST(ChromeApplicationMacTest, RecordException) {
// We should have exactly the right number of exceptions.
StatisticsRecorder::GetSnapshot("OSX.NSException", &histograms);
EXPECT_EQ(1U, histograms.size());
- EXPECT_EQ(kUmaTargetedHistogramFlag, histograms[0]->flags());
+ EXPECT_EQ(Histogram::kUmaTargetedHistogramFlag, histograms[0]->flags());
Histogram::SampleSet sample;
histograms[0]->SnapshotSample(&sample);
EXPECT_EQ(4, sample.counts(0));
diff --git a/chrome/browser/diagnostics/sqlite_diagnostics.cc b/chrome/browser/diagnostics/sqlite_diagnostics.cc
index b266002..fbefc33 100644
--- a/chrome/browser/diagnostics/sqlite_diagnostics.cc
+++ b/chrome/browser/diagnostics/sqlite_diagnostics.cc
@@ -43,11 +43,7 @@ class BasicSqliteErrrorHandler : public sql::ErrorDelegate {
static void RecordErrorInHistogram(int error) {
// The histogram values from sqlite result codes go currently from 1 to
// 26 currently but 50 gives them room to grow.
- static scoped_refptr<Histogram> histogram =
- LinearHistogram::LinearHistogramFactoryGet(kHistogramNames[unique], 1,
- 50, 51);
- histogram->SetFlags(kUmaTargetedHistogramFlag);
- histogram->Add(error);
+ UMA_HISTOGRAM_ENUMERATION(kHistogramNames[unique], error, 50);
}
};
diff --git a/chrome/browser/jankometer.cc b/chrome/browser/jankometer.cc
index 6d396ef..d0473da 100644
--- a/chrome/browser/jankometer.cc
+++ b/chrome/browser/jankometer.cc
@@ -92,14 +92,12 @@ class JankObserver : public base::RefCountedThreadSafe<JankObserver>,
slow_processing_counter_(std::string("Chrome.SlowMsg") + thread_name),
queueing_delay_counter_(std::string("Chrome.DelayMsg") + thread_name),
total_time_watchdog_(excessive_duration, thread_name, watchdog_enable) {
- process_times_ = Histogram::HistogramFactoryGet(
- (std::string("Chrome.ProcMsgL ") + thread_name),
- 1, 3600000, 50);
- total_times_ = Histogram::HistogramFactoryGet(
- (std::string("Chrome.TotalMsgL ") + thread_name),
- 1, 3600000, 50);
- process_times_->SetFlags(kUmaTargetedHistogramFlag);
- total_times_->SetFlags(kUmaTargetedHistogramFlag);
+ process_times_ = Histogram::FactoryGet(
+ std::string("Chrome.ProcMsgL ") + thread_name,
+ 1, 3600000, 50, Histogram::kUmaTargetedHistogramFlag);
+ total_times_ = Histogram::FactoryGet(
+ std::string("Chrome.TotalMsgL ") + thread_name,
+ 1, 3600000, 50, Histogram::kUmaTargetedHistogramFlag);
}
// Attaches the observer to the current thread's message loop. You can only
diff --git a/chrome/browser/metrics/metrics_service.cc b/chrome/browser/metrics/metrics_service.cc
index 2a1b589..610792c 100644
--- a/chrome/browser/metrics/metrics_service.cc
+++ b/chrome/browser/metrics/metrics_service.cc
@@ -1877,7 +1877,7 @@ void MetricsService::RecordCurrentHistograms() {
for (StatisticsRecorder::Histograms::iterator it = histograms.begin();
histograms.end() != it;
++it) {
- if ((*it)->flags() & kUmaTargetedHistogramFlag)
+ if ((*it)->flags() & Histogram::kUmaTargetedHistogramFlag)
// TODO(petersont): Only record historgrams if they are not precluded by
// the UMA response data.
// Bug http://code.google.com/p/chromium/issues/detail?id=2739.
diff --git a/chrome/browser/net/dns_host_info.cc b/chrome/browser/net/dns_host_info.cc
index 755f54d..8946f7f 100644
--- a/chrome/browser/net/dns_host_info.cc
+++ b/chrome/browser/net/dns_host_info.cc
@@ -104,10 +104,9 @@ void DnsHostInfo::RemoveFromQueue() {
}
// Make a custom linear histogram for the region from 0 to boundary.
const size_t kBucketCount = 52;
- static scoped_refptr<Histogram> histogram =
- LinearHistogram::LinearHistogramFactoryGet("DNS.QueueRecycledUnder2",
- TimeDelta(), kBoundary, kBucketCount);
- histogram->SetFlags(kUmaTargetedHistogramFlag);
+ static scoped_refptr<Histogram> histogram = LinearHistogram::FactoryGet(
+ "DNS.QueueRecycledUnder2", TimeDelta(), kBoundary, kBucketCount,
+ Histogram::kUmaTargetedHistogramFlag);
histogram->AddTime(queue_duration_);
}
diff --git a/chrome/browser/net/websocket_experiment/websocket_experiment_runner.cc b/chrome/browser/net/websocket_experiment/websocket_experiment_runner.cc
index 8d03b6f..845d448 100644
--- a/chrome/browser/net/websocket_experiment/websocket_experiment_runner.cc
+++ b/chrome/browser/net/websocket_experiment/websocket_experiment_runner.cc
@@ -28,36 +28,27 @@ static const int kWebSocketTimeSec = 10;
static const int kTimeBucketCount = 50;
// TODO(ukai): Use new thread-safe-reference-counted Histograms.
-#define UPDATE_HISTOGRAM(name, sample, min, max, bucket_count) do { \
+#define UPDATE_HISTOGRAM_ENUMS(name, sample, boundary_value) do { \
switch (task_state_) { \
case STATE_RUN_WS: \
{ \
- static scoped_refptr<Histogram> counter = \
- LinearHistogram::LinearHistogramFactoryGet(\
- "WebSocketExperiment.Basic." name, \
- min, max, bucket_count); \
- counter->SetFlags(kUmaTargetedHistogramFlag); \
- counter->Add(sample); \
+ UMA_HISTOGRAM_ENUMERATION( \
+ "WebSocketExperiment.Basic." name, \
+ sample, boundary_value); \
} \
break; \
case STATE_RUN_WSS: \
{ \
- static scoped_refptr<Histogram> counter = \
- LinearHistogram::LinearHistogramFactoryGet(\
- "WebSocketExperiment.Secure." name, \
- min, max, bucket_count); \
- counter->SetFlags(kUmaTargetedHistogramFlag); \
- counter->Add(sample); \
+ UMA_HISTOGRAM_ENUMERATION( \
+ "WebSocketExperiment.Secure." name, \
+ sample, boundary_value); \
} \
break; \
case STATE_RUN_WS_NODEFAULT_PORT: \
{ \
- static scoped_refptr<Histogram> counter = \
- LinearHistogram::LinearHistogramFactoryGet(\
- "WebSocketExperiment.NoDefaultPort." name, \
- min, max, bucket_count); \
- counter->SetFlags(kUmaTargetedHistogramFlag); \
- counter->Add(sample); \
+ UMA_HISTOGRAM_ENUMERATION( \
+ "WebSocketExperiment.NoDefaultPort." name, \
+ sample, boundary_value); \
} \
break; \
default: \
@@ -70,32 +61,23 @@ static const int kTimeBucketCount = 50;
switch (task_state_) { \
case STATE_RUN_WS: \
{ \
- static scoped_refptr<Histogram> counter = \
- Histogram::HistogramFactoryGet(\
- "WebSocketExperiment.Basic." name, \
- min, max, bucket_count); \
- counter->SetFlags(kUmaTargetedHistogramFlag); \
- counter->AddTime(sample); \
+ UMA_HISTOGRAM_CUSTOM_TIMES( \
+ "WebSocketExperiment.Basic." name, \
+ sample, min, max, bucket_count); \
} \
break; \
case STATE_RUN_WSS: \
{ \
- static scoped_refptr<Histogram> counter = \
- Histogram::HistogramFactoryGet(\
- "WebSocketExperiment.Secure." name, \
- min, max, bucket_count); \
- counter->SetFlags(kUmaTargetedHistogramFlag); \
- counter->AddTime(sample); \
+ UMA_HISTOGRAM_CUSTOM_TIMES( \
+ "WebSocketExperiment.Secure." name, \
+ sample, min, max, bucket_count); \
} \
break; \
case STATE_RUN_WS_NODEFAULT_PORT: \
{ \
- static scoped_refptr<Histogram> counter = \
- Histogram::HistogramFactoryGet(\
- "WebSocketExperiment.NoDefaultPort." name, \
- min, max, bucket_count); \
- counter->SetFlags(kUmaTargetedHistogramFlag); \
- counter->AddTime(sample); \
+ UMA_HISTOGRAM_CUSTOM_TIMES( \
+ "WebSocketExperiment.NoDefaultPort." name, \
+ sample, min, max, bucket_count); \
} \
break; \
default: \
@@ -277,9 +259,8 @@ void WebSocketExperimentRunner::UpdateTaskResultHistogram(
DCHECK(task);
const WebSocketExperimentTask::Result& task_result = task->result();
- UPDATE_HISTOGRAM("LastState", task_result.last_state,
- 1, WebSocketExperimentTask::NUM_STATES,
- WebSocketExperimentTask::NUM_STATES + 1);
+ UPDATE_HISTOGRAM_ENUMS("LastState", task_result.last_state,
+ WebSocketExperimentTask::NUM_STATES);
UPDATE_HISTOGRAM_TIMES("UrlFetch", task_result.url_fetch,
base::TimeDelta::FromMilliseconds(1),
diff --git a/chrome/browser/renderer_host/buffered_resource_handler.cc b/chrome/browser/renderer_host/buffered_resource_handler.cc
index 6cf4430..d58bed5 100644
--- a/chrome/browser/renderer_host/buffered_resource_handler.cc
+++ b/chrome/browser/renderer_host/buffered_resource_handler.cc
@@ -30,22 +30,19 @@ const int kMaxBytesToSniff = 512;
void RecordSnifferMetrics(bool sniffing_blocked,
bool we_would_like_to_sniff,
const std::string& mime_type) {
- static scoped_refptr<Histogram> nosniff_usage =
- BooleanHistogram::BooleanHistogramFactoryGet("nosniff.usage");
- nosniff_usage->SetFlags(kUmaTargetedHistogramFlag);
+ static scoped_refptr<Histogram> nosniff_usage = BooleanHistogram::FactoryGet(
+ "nosniff.usage", Histogram::kUmaTargetedHistogramFlag);
nosniff_usage->AddBoolean(sniffing_blocked);
if (sniffing_blocked) {
static scoped_refptr<Histogram> nosniff_otherwise =
- BooleanHistogram::BooleanHistogramFactoryGet(
- "nosniff.otherwise");
- nosniff_otherwise->SetFlags(kUmaTargetedHistogramFlag);
+ BooleanHistogram::FactoryGet("nosniff.otherwise",
+ Histogram::kUmaTargetedHistogramFlag);
nosniff_otherwise->AddBoolean(we_would_like_to_sniff);
static scoped_refptr<Histogram> nosniff_empty_mime_type =
- BooleanHistogram::BooleanHistogramFactoryGet(
- "nosniff.empty_mime_type");
- nosniff_empty_mime_type->SetFlags(kUmaTargetedHistogramFlag);
+ BooleanHistogram::FactoryGet("nosniff.empty_mime_type",
+ Histogram::kUmaTargetedHistogramFlag);
nosniff_empty_mime_type->AddBoolean(mime_type.empty());
}
}
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
index 3f559c0..04aa1b1 100644
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
@@ -66,14 +66,11 @@ enum SafeBrowsingBlockingPageEvent {
SHOW,
PROCEED,
DONT_PROCEED,
+ UNUSED_ENUM,
};
void RecordSafeBrowsingBlockingPageStats(SafeBrowsingBlockingPageEvent event) {
- static scoped_refptr<Histogram> histogram =
- LinearHistogram::LinearHistogramFactoryGet("interstial.safe_browsing",
- 1, 2, 3);
- histogram->SetFlags(kUmaTargetedHistogramFlag);
- histogram->Add(event);
+ UMA_HISTOGRAM_ENUMERATION("interstial.safe_browsing", event, UNUSED_ENUM);
}
} // namespace
diff --git a/chrome/browser/ssl/ssl_blocking_page.cc b/chrome/browser/ssl/ssl_blocking_page.cc
index d0f3d6a..c443600 100644
--- a/chrome/browser/ssl/ssl_blocking_page.cc
+++ b/chrome/browser/ssl/ssl_blocking_page.cc
@@ -31,14 +31,11 @@ enum SSLBlockingPageEvent {
SHOW,
PROCEED,
DONT_PROCEED,
+ UNUSED_ENUM,
};
void RecordSSLBlockingPageStats(SSLBlockingPageEvent event) {
- static scoped_refptr<Histogram> histogram =
- LinearHistogram::LinearHistogramFactoryGet(
- "interstial.ssl", 1, 2, 3);
- histogram->SetFlags(kUmaTargetedHistogramFlag);
- histogram->Add(event);
+ UMA_HISTOGRAM_ENUMERATION("interstial.ssl", event, UNUSED_ENUM);
}
} // namespace
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc
index ae824c28..02bf47c 100644
--- a/chrome/browser/sync/profile_sync_service.cc
+++ b/chrome/browser/sync/profile_sync_service.cc
@@ -467,12 +467,7 @@ void ProfileSyncService::RemoveObserver(Observer* observer) {
}
void ProfileSyncService::SyncEvent(SyncEventCodes code) {
- static scoped_refptr<Histogram> histogram =
- LinearHistogram::LinearHistogramFactoryGet("Sync.EventCodes",
- MIN_SYNC_EVENT_CODE + 1, MAX_SYNC_EVENT_CODE - 1,
- MAX_SYNC_EVENT_CODE);
- histogram->SetFlags(kUmaTargetedHistogramFlag);
- histogram->Add(code);
+ UMA_HISTOGRAM_ENUMERATION("Sync.EventCodes", code, MAX_SYNC_EVENT_CODE);
}
bool ProfileSyncService::IsSyncEnabled() {