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

Side by Side Diff: chrome/browser/net/websocket_experiment/websocket_experiment_runner.cc

Issue 462027: Use factory to create histograms, and refcounts to track lifetimes... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/net/websocket_experiment/websocket_experiment_runner.h" 5 #include "chrome/browser/net/websocket_experiment/websocket_experiment_runner.h"
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/field_trial.h" 8 #include "base/field_trial.h"
9 #include "base/histogram.h" 9 #include "base/histogram.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 10 matching lines...) Expand all
21 static const int kWebSocketConnectDeadlineSec = 10; 21 static const int kWebSocketConnectDeadlineSec = 10;
22 static const int kWebSocketEchoDeadlineSec = 5; 22 static const int kWebSocketEchoDeadlineSec = 5;
23 static const int kWebSocketIdleSec = 1; 23 static const int kWebSocketIdleSec = 1;
24 static const int kWebSocketPushDeadlineSec = 1; 24 static const int kWebSocketPushDeadlineSec = 1;
25 static const int kWebSocketByeDeadlineSec = 10; 25 static const int kWebSocketByeDeadlineSec = 10;
26 static const int kWebSocketCloseDeadlineSec = 5; 26 static const int kWebSocketCloseDeadlineSec = 5;
27 static const int kWebSocketTimeSec = 10; 27 static const int kWebSocketTimeSec = 10;
28 static const int kTimeBucketCount = 50; 28 static const int kTimeBucketCount = 50;
29 29
30 // TODO(ukai): Use new thread-safe-reference-counted Histograms. 30 // TODO(ukai): Use new thread-safe-reference-counted Histograms.
31 #define UPDATE_HISTOGRAM(name, sample, min, max, bucket_count) do { \ 31 #define UPDATE_HISTOGRAM(name, sample, min, max, bucket_count) do { \
32 switch (task_state_) { \ 32 switch (task_state_) { \
33 case STATE_RUN_WS: \ 33 case STATE_RUN_WS: \
34 { \ 34 { \
35 static LinearHistogram counter( \ 35 static scoped_refptr<Histogram> counter = \
36 "WebSocketExperiment.Basic." name, min, max, bucket_count); \ 36 LinearHistogram::LinearHistogramFactoryGet(\
37 counter.SetFlags(kUmaTargetedHistogramFlag); \ 37 "WebSocketExperiment.Basic." name, \
38 counter.Add(sample); \ 38 min, max, bucket_count); \
39 counter->SetFlags(kUmaTargetedHistogramFlag); \
40 counter->Add(sample); \
39 } \ 41 } \
40 break; \ 42 break; \
41 case STATE_RUN_WSS: \ 43 case STATE_RUN_WSS: \
42 { \ 44 { \
43 static LinearHistogram counter( \ 45 static scoped_refptr<Histogram> counter = \
44 "WebSocketExperiment.Secure." name, min, max, bucket_count); \ 46 LinearHistogram::LinearHistogramFactoryGet(\
45 counter.SetFlags(kUmaTargetedHistogramFlag); \ 47 "WebSocketExperiment.Secure." name, \
46 counter.Add(sample); \ 48 min, max, bucket_count); \
49 counter->SetFlags(kUmaTargetedHistogramFlag); \
50 counter->Add(sample); \
47 } \ 51 } \
48 break; \ 52 break; \
49 case STATE_RUN_WS_NODEFAULT_PORT: \ 53 case STATE_RUN_WS_NODEFAULT_PORT: \
50 { \ 54 { \
51 static LinearHistogram counter( \ 55 static scoped_refptr<Histogram> counter = \
52 "WebSocketExperiment.NoDefaultPort." name, \ 56 LinearHistogram::LinearHistogramFactoryGet(\
53 min, max, bucket_count); \ 57 "WebSocketExperiment.NoDefaultPort." name, \
54 counter.SetFlags(kUmaTargetedHistogramFlag); \ 58 min, max, bucket_count); \
55 counter.Add(sample); \ 59 counter->SetFlags(kUmaTargetedHistogramFlag); \
60 counter->Add(sample); \
56 } \ 61 } \
57 break; \ 62 break; \
58 default: \ 63 default: \
59 NOTREACHED(); \ 64 NOTREACHED(); \
60 break; \ 65 break; \
61 } \ 66 } \
62 } while (0) 67 } while (0)
63 68
64 #define UPDATE_HISTOGRAM_TIMES(name, sample, min, max, bucket_count) do { \ 69 #define UPDATE_HISTOGRAM_TIMES(name, sample, min, max, bucket_count) do { \
65 switch (task_state_) { \ 70 switch (task_state_) { \
66 case STATE_RUN_WS: \ 71 case STATE_RUN_WS: \
67 { \ 72 { \
68 static Histogram counter( \ 73 static scoped_refptr<Histogram> counter = \
69 "WebSocketExperiment.Basic." name, min, max, bucket_count); \ 74 Histogram::HistogramFactoryGet(\
70 counter.SetFlags(kUmaTargetedHistogramFlag); \ 75 "WebSocketExperiment.Basic." name, \
71 counter.AddTime(sample); \ 76 min, max, bucket_count); \
77 counter->SetFlags(kUmaTargetedHistogramFlag); \
78 counter->AddTime(sample); \
72 } \ 79 } \
73 break; \ 80 break; \
74 case STATE_RUN_WSS: \ 81 case STATE_RUN_WSS: \
75 { \ 82 { \
76 static Histogram counter( \ 83 static scoped_refptr<Histogram> counter = \
77 "WebSocketExperiment.Secure." name, min, max, bucket_count); \ 84 Histogram::HistogramFactoryGet(\
78 counter.SetFlags(kUmaTargetedHistogramFlag); \ 85 "WebSocketExperiment.Secure." name, \
79 counter.AddTime(sample); \ 86 min, max, bucket_count); \
87 counter->SetFlags(kUmaTargetedHistogramFlag); \
88 counter->AddTime(sample); \
80 } \ 89 } \
81 break; \ 90 break; \
82 case STATE_RUN_WS_NODEFAULT_PORT: \ 91 case STATE_RUN_WS_NODEFAULT_PORT: \
83 { \ 92 { \
84 static Histogram counter( \ 93 static scoped_refptr<Histogram> counter = \
85 "WebSocketExperiment.NoDefaultPort." name, \ 94 Histogram::HistogramFactoryGet(\
86 min, max, bucket_count); \ 95 "WebSocketExperiment.NoDefaultPort." name, \
87 counter.SetFlags(kUmaTargetedHistogramFlag); \ 96 min, max, bucket_count); \
88 counter.AddTime(sample); \ 97 counter->SetFlags(kUmaTargetedHistogramFlag); \
98 counter->AddTime(sample); \
89 } \ 99 } \
90 break; \ 100 break; \
91 default: \ 101 default: \
92 NOTREACHED(); \ 102 NOTREACHED(); \
93 break; \ 103 break; \
94 } \ 104 } \
95 } while (0); 105 } while (0);
96 106
97 // Hold reference while experiment is running. 107 // Hold reference while experiment is running.
98 static scoped_refptr<WebSocketExperimentRunner> runner; 108 static scoped_refptr<WebSocketExperimentRunner> runner;
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 WebSocketExperimentTask::STATE_WEBSOCKET_CLOSE_COMPLETE) 320 WebSocketExperimentTask::STATE_WEBSOCKET_CLOSE_COMPLETE)
311 return; 321 return;
312 322
313 UPDATE_HISTOGRAM_TIMES("WebSocketTotal", task_result.websocket_total, 323 UPDATE_HISTOGRAM_TIMES("WebSocketTotal", task_result.websocket_total,
314 base::TimeDelta::FromMilliseconds(1), 324 base::TimeDelta::FromMilliseconds(1),
315 base::TimeDelta::FromSeconds(kWebSocketTimeSec), 325 base::TimeDelta::FromSeconds(kWebSocketTimeSec),
316 kTimeBucketCount); 326 kTimeBucketCount);
317 } 327 }
318 328
319 } // namespace chrome_browser_net_websocket_experiment 329 } // namespace chrome_browser_net_websocket_experiment
OLDNEW
« no previous file with comments | « chrome/browser/net/dns_host_info.cc ('k') | chrome/browser/renderer_host/buffered_resource_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698