OLD | NEW |
1 // | 1 // |
2 // Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 // Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. |
3 // | 3 // |
4 // Use of this source code is governed by a BSD-style license | 4 // Use of this source code is governed by a BSD-style license |
5 // that can be found in the LICENSE file in the root of the source | 5 // that can be found in the LICENSE file in the root of the source |
6 // tree. An additional intellectual property rights grant can be found | 6 // tree. An additional intellectual property rights grant can be found |
7 // in the file PATENTS. All contributing project authors may | 7 // in the file PATENTS. All contributing project authors may |
8 // be found in the AUTHORS file in the root of the source tree. | 8 // be found in the AUTHORS file in the root of the source tree. |
9 // | 9 // |
10 | 10 |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 | 181 |
182 #define RTC_HISTOGRAMS_ENUMERATION(index, name, sample, boundary) \ | 182 #define RTC_HISTOGRAMS_ENUMERATION(index, name, sample, boundary) \ |
183 RTC_HISTOGRAMS_COMMON(index, name, sample, \ | 183 RTC_HISTOGRAMS_COMMON(index, name, sample, \ |
184 RTC_HISTOGRAM_ENUMERATION(name, sample, boundary)) | 184 RTC_HISTOGRAM_ENUMERATION(name, sample, boundary)) |
185 | 185 |
186 #define RTC_HISTOGRAMS_PERCENTAGE(index, name, sample) \ | 186 #define RTC_HISTOGRAMS_PERCENTAGE(index, name, sample) \ |
187 RTC_HISTOGRAMS_COMMON(index, name, sample, \ | 187 RTC_HISTOGRAMS_COMMON(index, name, sample, \ |
188 RTC_HISTOGRAM_PERCENTAGE(name, sample)) | 188 RTC_HISTOGRAM_PERCENTAGE(name, sample)) |
189 | 189 |
190 #define RTC_HISTOGRAMS_COMMON(index, name, sample, macro_invocation) \ | 190 #define RTC_HISTOGRAMS_COMMON(index, name, sample, macro_invocation) \ |
191 do { \ | 191 do { \ |
192 switch (index) { \ | 192 switch (index) { \ |
193 case 0: \ | 193 case 0: \ |
194 macro_invocation; \ | 194 macro_invocation; \ |
195 break; \ | 195 break; \ |
196 case 1: \ | 196 case 1: \ |
197 macro_invocation; \ | 197 macro_invocation; \ |
198 break; \ | 198 break; \ |
199 case 2: \ | 199 case 2: \ |
200 macro_invocation; \ | 200 macro_invocation; \ |
201 break; \ | 201 break; \ |
202 default: \ | 202 case 3: \ |
203 RTC_NOTREACHED(); \ | 203 macro_invocation; \ |
204 } \ | 204 break; \ |
| 205 case 4: \ |
| 206 macro_invocation; \ |
| 207 break; \ |
| 208 case 5: \ |
| 209 macro_invocation; \ |
| 210 break; \ |
| 211 case 6: \ |
| 212 macro_invocation; \ |
| 213 break; \ |
| 214 case 7: \ |
| 215 macro_invocation; \ |
| 216 break; \ |
| 217 default: \ |
| 218 RTC_NOTREACHED(); \ |
| 219 } \ |
205 } while (0) | 220 } while (0) |
206 | 221 |
207 | |
208 namespace webrtc { | 222 namespace webrtc { |
209 namespace metrics { | 223 namespace metrics { |
210 | 224 |
211 // Time that should have elapsed for stats that are gathered once per call. | 225 // Time that should have elapsed for stats that are gathered once per call. |
212 enum { kMinRunTimeInSeconds = 10 }; | 226 enum { kMinRunTimeInSeconds = 10 }; |
213 | 227 |
214 class Histogram; | 228 class Histogram; |
215 | 229 |
216 // Functions for getting pointer to histogram (constructs or finds the named | 230 // Functions for getting pointer to histogram (constructs or finds the named |
217 // histogram). | 231 // histogram). |
(...skipping 16 matching lines...) Expand all Loading... |
234 // Returns name of the histogram. | 248 // Returns name of the histogram. |
235 const std::string& GetHistogramName(Histogram* histogram_pointer); | 249 const std::string& GetHistogramName(Histogram* histogram_pointer); |
236 | 250 |
237 // Function for adding a |sample| to a histogram. | 251 // Function for adding a |sample| to a histogram. |
238 void HistogramAdd(Histogram* histogram_pointer, int sample); | 252 void HistogramAdd(Histogram* histogram_pointer, int sample); |
239 | 253 |
240 } // namespace metrics | 254 } // namespace metrics |
241 } // namespace webrtc | 255 } // namespace webrtc |
242 | 256 |
243 #endif // WEBRTC_SYSTEM_WRAPPERS_INCLUDE_METRICS_H_ | 257 #endif // WEBRTC_SYSTEM_WRAPPERS_INCLUDE_METRICS_H_ |
OLD | NEW |