diff options
author | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-28 06:59:52 +0000 |
---|---|---|
committer | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-28 06:59:52 +0000 |
commit | 2753b39e0c2e83d3b497ebadc2d720f12b74db40 (patch) | |
tree | 01edf034e65922a229b3ccbaef8291059ac5e2bc /chrome/browser | |
parent | e660e88dc26b9b31c48c815b2358212ea4067ca5 (diff) | |
download | chromium_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.mm | 7 | ||||
-rw-r--r-- | chrome/browser/chrome_browser_application_mac_unittest.mm | 2 | ||||
-rw-r--r-- | chrome/browser/diagnostics/sqlite_diagnostics.cc | 6 | ||||
-rw-r--r-- | chrome/browser/jankometer.cc | 14 | ||||
-rw-r--r-- | chrome/browser/metrics/metrics_service.cc | 2 | ||||
-rw-r--r-- | chrome/browser/net/dns_host_info.cc | 7 | ||||
-rw-r--r-- | chrome/browser/net/websocket_experiment/websocket_experiment_runner.cc | 61 | ||||
-rw-r--r-- | chrome/browser/renderer_host/buffered_resource_handler.cc | 15 | ||||
-rw-r--r-- | chrome/browser/safe_browsing/safe_browsing_blocking_page.cc | 7 | ||||
-rw-r--r-- | chrome/browser/ssl/ssl_blocking_page.cc | 7 | ||||
-rw-r--r-- | chrome/browser/sync/profile_sync_service.cc | 7 |
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() { |