Chromium Code Reviews| Index: base/metrics/linearhistogram_sample.cc |
| diff --git a/base/metrics/linearhistogram_sample.cc b/base/metrics/linearhistogram_sample.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..24e8951e00d1ea8a45ecf3082ecce7eec4109f51 |
| --- /dev/null |
| +++ b/base/metrics/linearhistogram_sample.cc |
| @@ -0,0 +1,50 @@ |
| +// Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include <string> |
| + |
| +#include "base/logging.h" |
| +#include "base/metrics/chromeos_metrics.h" |
| +#include "base/metrics/linearhistogram_sample.h" |
| +#include "base/metrics/metric_sample.h" |
| + |
| +using std::string; |
| + |
| +namespace base { |
| +LinearHistogramSample::LinearHistogramSample(const std::string& histname, |
| + int sample, int max): |
| + MetricSample(MetricSample::LINEAR_HISTOGRAM) { |
| + name_ = histname; |
| + sample_ = sample; |
| + max_ = max; |
| +} |
| + |
| +std::string LinearHistogramSample::name() { |
| + return name_; |
| +} |
| + |
| +int LinearHistogramSample::sample() { |
| + return sample_; |
| +} |
| + |
| +int LinearHistogramSample::max() { |
| + return max_; |
| +} |
| + |
| +LinearHistogramSample* LinearHistogramSample::ReadLinearHistogram( |
| + const std::string& hist_repr) { |
| + int sample, max; |
| + char name[128]; |
| + sscanf(hist_repr.c_str(), "%127s %d %d", name, &sample, &max); |
|
achaulk
2014/04/07 22:16:00
Need to check return. Might want to note that spac
|
| + return new LinearHistogramSample(name, sample, max); |
| +} |
| + |
| +LinearHistogramSample::~LinearHistogramSample() {} |
| + |
| +int LinearHistogramSample::Write(int buffer_size, char* buffer) { |
| + return ChromeOSMetrics::FormatSample(buffer_size, buffer, |
| + "linearhistogram%c%s %d %d", '\0', name_.c_str(), |
|
achaulk
2014/04/07 22:16:00
Why not inline \0? Also indentation
bsimonnet
2014/04/08 23:00:09
the compiler complains when I embed the \0 in a fo
|
| + sample_, max_); |
| +} |
| +} // namespace base |