| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/common/metrics_helpers.h" | 5 #include "chrome/common/metrics_helpers.h" |
| 6 | 6 |
| 7 #if defined(USE_SYSTEM_LIBBZ2) | 7 #if defined(USE_SYSTEM_LIBBZ2) |
| 8 #include <bzlib.h> | 8 #include <bzlib.h> |
| 9 #else | 9 #else |
| 10 #include "third_party/bzip2/bzlib.h" | 10 #include "third_party/bzip2/bzlib.h" |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 | 45 |
| 46 } // namespace | 46 } // namespace |
| 47 | 47 |
| 48 class MetricsLogBase::XmlWrapper { | 48 class MetricsLogBase::XmlWrapper { |
| 49 public: | 49 public: |
| 50 XmlWrapper() | 50 XmlWrapper() |
| 51 : doc_(NULL), | 51 : doc_(NULL), |
| 52 buffer_(NULL), | 52 buffer_(NULL), |
| 53 writer_(NULL) { | 53 writer_(NULL) { |
| 54 buffer_ = xmlBufferCreate(); | 54 buffer_ = xmlBufferCreate(); |
| 55 DCHECK(buffer_); | 55 CHECK(buffer_); |
| 56 | 56 |
| 57 #if defined(OS_CHROMEOS) | 57 #if defined(OS_CHROMEOS) |
| 58 writer_ = xmlNewTextWriterDoc(&doc_, /* compression */ 0); | 58 writer_ = xmlNewTextWriterDoc(&doc_, /* compression */ 0); |
| 59 #else | 59 #else |
| 60 writer_ = xmlNewTextWriterMemory(buffer_, /* compression */ 0); | 60 writer_ = xmlNewTextWriterMemory(buffer_, /* compression */ 0); |
| 61 #endif // OS_CHROMEOS | 61 #endif // OS_CHROMEOS |
| 62 DCHECK(writer_); | 62 DCHECK(writer_); |
| 63 | 63 |
| 64 int result = xmlTextWriterSetIndent(writer_, 2); | 64 int result = xmlTextWriterSetIndent(writer_, 2); |
| 65 DCHECK_EQ(0, result); | 65 DCHECK_EQ(0, result); |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 UMA_HISTOGRAM_TIMES("UMA.XMLNodeDumpTime", dump_timer.Elapsed()); | 144 UMA_HISTOGRAM_TIMES("UMA.XMLNodeDumpTime", dump_timer.Elapsed()); |
| 145 | 145 |
| 146 PerfTimer free_timer; | 146 PerfTimer free_timer; |
| 147 xml_wrapper_->FreeDocWriter(); | 147 xml_wrapper_->FreeDocWriter(); |
| 148 UMA_HISTOGRAM_TIMES("UMA.XMLWriterDestructionTime", free_timer.Elapsed()); | 148 UMA_HISTOGRAM_TIMES("UMA.XMLWriterDestructionTime", free_timer.Elapsed()); |
| 149 #endif // OS_CHROMEOS | 149 #endif // OS_CHROMEOS |
| 150 } | 150 } |
| 151 | 151 |
| 152 int MetricsLogBase::GetEncodedLogSize() { | 152 int MetricsLogBase::GetEncodedLogSize() { |
| 153 DCHECK(locked_); | 153 DCHECK(locked_); |
| 154 CHECK(xml_wrapper_); |
| 155 CHECK(xml_wrapper_->buffer()); |
| 154 return xml_wrapper_->buffer()->use; | 156 return xml_wrapper_->buffer()->use; |
| 155 } | 157 } |
| 156 | 158 |
| 157 bool MetricsLogBase::GetEncodedLog(char* buffer, int buffer_size) { | 159 bool MetricsLogBase::GetEncodedLog(char* buffer, int buffer_size) { |
| 158 DCHECK(locked_); | 160 DCHECK(locked_); |
| 159 if (buffer_size < GetEncodedLogSize()) | 161 if (buffer_size < GetEncodedLogSize()) |
| 160 return false; | 162 return false; |
| 161 | 163 |
| 162 memcpy(buffer, xml_wrapper_->buffer()->content, GetEncodedLogSize()); | 164 memcpy(buffer, xml_wrapper_->buffer()->content, GetEncodedLogSize()); |
| 163 return true; | 165 return true; |
| (...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 570 snapshot.Subtract(*already_logged); | 572 snapshot.Subtract(*already_logged); |
| 571 } | 573 } |
| 572 | 574 |
| 573 // Snapshot now contains only a delta to what we've already_logged. | 575 // Snapshot now contains only a delta to what we've already_logged. |
| 574 if (snapshot.redundant_count() > 0) { | 576 if (snapshot.redundant_count() > 0) { |
| 575 TransmitHistogramDelta(histogram, snapshot); | 577 TransmitHistogramDelta(histogram, snapshot); |
| 576 // Add new data into our running total. | 578 // Add new data into our running total. |
| 577 already_logged->Add(snapshot); | 579 already_logged->Add(snapshot); |
| 578 } | 580 } |
| 579 } | 581 } |
| OLD | NEW |