OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/metrics/serialization/serialization_utils.h" | 5 #include "components/metrics/serialization/serialization_utils.h" |
6 | 6 |
7 #include <sys/file.h> | 7 #include <sys/file.h> |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 // We should have two null terminated strings so split should produce | 90 // We should have two null terminated strings so split should produce |
91 // three chunks. | 91 // three chunks. |
92 if (parts.size() != 3) { | 92 if (parts.size() != 3) { |
93 DLOG(ERROR) << "splitting message on \\0 produced " << parts.size() | 93 DLOG(ERROR) << "splitting message on \\0 produced " << parts.size() |
94 << " parts (expected 3)"; | 94 << " parts (expected 3)"; |
95 return scoped_ptr<MetricSample>(); | 95 return scoped_ptr<MetricSample>(); |
96 } | 96 } |
97 const std::string& name = parts[0]; | 97 const std::string& name = parts[0]; |
98 const std::string& value = parts[1]; | 98 const std::string& value = parts[1]; |
99 | 99 |
100 if (base::LowerCaseEqualsASCII(name, "crash")) { | 100 if (LowerCaseEqualsASCII(name, "crash")) { |
101 return MetricSample::CrashSample(value); | 101 return MetricSample::CrashSample(value); |
102 } else if (base::LowerCaseEqualsASCII(name, "histogram")) { | 102 } else if (LowerCaseEqualsASCII(name, "histogram")) { |
103 return MetricSample::ParseHistogram(value); | 103 return MetricSample::ParseHistogram(value); |
104 } else if (base::LowerCaseEqualsASCII(name, "linearhistogram")) { | 104 } else if (LowerCaseEqualsASCII(name, "linearhistogram")) { |
105 return MetricSample::ParseLinearHistogram(value); | 105 return MetricSample::ParseLinearHistogram(value); |
106 } else if (base::LowerCaseEqualsASCII(name, "sparsehistogram")) { | 106 } else if (LowerCaseEqualsASCII(name, "sparsehistogram")) { |
107 return MetricSample::ParseSparseHistogram(value); | 107 return MetricSample::ParseSparseHistogram(value); |
108 } else if (base::LowerCaseEqualsASCII(name, "useraction")) { | 108 } else if (LowerCaseEqualsASCII(name, "useraction")) { |
109 return MetricSample::UserActionSample(value); | 109 return MetricSample::UserActionSample(value); |
110 } else { | 110 } else { |
111 DLOG(ERROR) << "invalid event type: " << name << ", value: " << value; | 111 DLOG(ERROR) << "invalid event type: " << name << ", value: " << value; |
112 } | 112 } |
113 return scoped_ptr<MetricSample>(); | 113 return scoped_ptr<MetricSample>(); |
114 } | 114 } |
115 | 115 |
116 void SerializationUtils::ReadAndTruncateMetricsFromFile( | 116 void SerializationUtils::ReadAndTruncateMetricsFromFile( |
117 const std::string& filename, | 117 const std::string& filename, |
118 ScopedVector<MetricSample>* metrics) { | 118 ScopedVector<MetricSample>* metrics) { |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 file_descriptor.get(), msg.c_str(), msg.length()) != | 207 file_descriptor.get(), msg.c_str(), msg.length()) != |
208 static_cast<int>(msg.length())) { | 208 static_cast<int>(msg.length())) { |
209 DLOG(ERROR) << "error writing message" << errno; | 209 DLOG(ERROR) << "error writing message" << errno; |
210 return false; | 210 return false; |
211 } | 211 } |
212 | 212 |
213 return true; | 213 return true; |
214 } | 214 } |
215 | 215 |
216 } // namespace metrics | 216 } // namespace metrics |
OLD | NEW |