summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net/websocket_experiment/websocket_experiment_runner.cc
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/net/websocket_experiment/websocket_experiment_runner.cc
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/net/websocket_experiment/websocket_experiment_runner.cc')
-rw-r--r--chrome/browser/net/websocket_experiment/websocket_experiment_runner.cc61
1 files changed, 21 insertions, 40 deletions
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),