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

Side by Side Diff: base/metrics/histogram.cc

Issue 6975027: Add metrics for DHCP WPAD feature. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Respond to review comments. Created 9 years, 7 months 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
« no previous file with comments | « base/metrics/histogram.h ('k') | net/base/net_errors.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // Histogram is an object that aggregates statistics, and can summarize them in 5 // Histogram is an object that aggregates statistics, and can summarize them in
6 // various forms, including ASCII graphical, HTML, and numerically (as a 6 // various forms, including ASCII graphical, HTML, and numerically (as a
7 // vector of numbers corresponding to each of the aggregating buckets). 7 // vector of numbers corresponding to each of the aggregating buckets).
8 // See header file for details and examples. 8 // See header file for details and examples.
9 9
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 922 matching lines...) Expand 10 before | Expand all | Expand 10 after
933 DCHECK_EQ(histogram->histogram_type(), CUSTOM_HISTOGRAM); 933 DCHECK_EQ(histogram->histogram_type(), CUSTOM_HISTOGRAM);
934 DCHECK(histogram->HasConstructorArguments(ranges[1], ranges.back(), 934 DCHECK(histogram->HasConstructorArguments(ranges[1], ranges.back(),
935 ranges.size())); 935 ranges.size()));
936 return histogram; 936 return histogram;
937 } 937 }
938 938
939 Histogram::ClassType CustomHistogram::histogram_type() const { 939 Histogram::ClassType CustomHistogram::histogram_type() const {
940 return CUSTOM_HISTOGRAM; 940 return CUSTOM_HISTOGRAM;
941 } 941 }
942 942
943 // static
944 std::vector<Histogram::Sample> CustomHistogram::ArrayToCustomRanges(
945 const Sample* values, size_t num_values) {
946 std::vector<Sample> all_values;
947 for (size_t i = 0; i < num_values; ++i) {
948 Sample value = values[i];
949 all_values.push_back(value);
950
951 // Ensure that a guard bucket is added. If we end up with duplicate
952 // values, FactoryGet will take care of removing them.
953 all_values.push_back(value + 1);
954 }
955 return all_values;
956 }
957
943 CustomHistogram::CustomHistogram(const std::string& name, 958 CustomHistogram::CustomHistogram(const std::string& name,
944 const std::vector<Sample>& custom_ranges) 959 const std::vector<Sample>& custom_ranges)
945 : Histogram(name, custom_ranges[1], custom_ranges.back(), 960 : Histogram(name, custom_ranges[1], custom_ranges.back(),
946 custom_ranges.size()) { 961 custom_ranges.size()) {
947 DCHECK_GT(custom_ranges.size(), 1u); 962 DCHECK_GT(custom_ranges.size(), 1u);
948 DCHECK_EQ(custom_ranges[0], 0); 963 DCHECK_EQ(custom_ranges[0], 0);
949 } 964 }
950 965
951 void CustomHistogram::InitializedCustomBucketRange( 966 void CustomHistogram::InitializedCustomBucketRange(
952 const std::vector<Sample>& custom_ranges) { 967 const std::vector<Sample>& custom_ranges) {
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
1122 } 1137 }
1123 1138
1124 // static 1139 // static
1125 StatisticsRecorder::HistogramMap* StatisticsRecorder::histograms_ = NULL; 1140 StatisticsRecorder::HistogramMap* StatisticsRecorder::histograms_ = NULL;
1126 // static 1141 // static
1127 base::Lock* StatisticsRecorder::lock_ = NULL; 1142 base::Lock* StatisticsRecorder::lock_ = NULL;
1128 // static 1143 // static
1129 bool StatisticsRecorder::dump_on_exit_ = false; 1144 bool StatisticsRecorder::dump_on_exit_ = false;
1130 1145
1131 } // namespace base 1146 } // namespace base
OLDNEW
« no previous file with comments | « base/metrics/histogram.h ('k') | net/base/net_errors.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698