| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/browser/metrics_log.h" | 5 #include "chrome/browser/metrics_log.h" |
| 6 | 6 |
| 7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
| 8 #include "base/file_version_info.h" | 8 #include "base/file_version_info.h" |
| 9 #include "base/md5.h" | 9 #include "base/md5.h" |
| 10 #include "base/scoped_ptr.h" | 10 #include "base/scoped_ptr.h" |
| 11 #include "base/string_util.h" | 11 #include "base/string_util.h" |
| 12 #include "base/sys_info.h" | 12 #include "base/sys_info.h" |
| 13 #include "chrome/browser/autocomplete/autocomplete.h" | 13 #include "chrome/browser/autocomplete/autocomplete.h" |
| 14 #include "chrome/browser/browser_process.h" | 14 #include "chrome/browser/browser_process.h" |
| 15 #include "chrome/common/logging_chrome.h" | 15 #include "chrome/common/logging_chrome.h" |
| 16 #include "chrome/common/pref_names.h" | 16 #include "chrome/common/pref_names.h" |
| 17 #include "chrome/common/pref_service.h" | 17 #include "chrome/common/pref_service.h" |
| 18 #include "googleurl/src/gurl.h" | 18 #include "googleurl/src/gurl.h" |
| 19 #include "net/base/base64.h" | 19 #include "net/base/base64.h" |
| 20 | 20 |
| 21 #define OPEN_ELEMENT_FOR_SCOPE(name) ScopedElement scoped_element(this, name) | 21 #define OPEN_ELEMENT_FOR_SCOPE(name) ScopedElement scoped_element(this, name) |
| 22 | 22 |
| 23 using base::Time; |
| 24 using base::TimeDelta; |
| 25 |
| 23 // libxml take xmlChar*, which is unsigned char* | 26 // libxml take xmlChar*, which is unsigned char* |
| 24 inline const unsigned char* UnsignedChar(const char* input) { | 27 inline const unsigned char* UnsignedChar(const char* input) { |
| 25 return reinterpret_cast<const unsigned char*>(input); | 28 return reinterpret_cast<const unsigned char*>(input); |
| 26 } | 29 } |
| 27 | 30 |
| 28 // static | 31 // static |
| 29 void MetricsLog::RegisterPrefs(PrefService* local_state) { | 32 void MetricsLog::RegisterPrefs(PrefService* local_state) { |
| 30 local_state->RegisterListPref(prefs::kStabilityPluginStats); | 33 local_state->RegisterListPref(prefs::kStabilityPluginStats); |
| 31 } | 34 } |
| 32 | 35 |
| (...skipping 602 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 635 | 638 |
| 636 for (size_t i = 0; i < histogram.bucket_count(); i++) { | 639 for (size_t i = 0; i < histogram.bucket_count(); i++) { |
| 637 if (snapshot.counts(i)) { | 640 if (snapshot.counts(i)) { |
| 638 OPEN_ELEMENT_FOR_SCOPE("histogrambucket"); | 641 OPEN_ELEMENT_FOR_SCOPE("histogrambucket"); |
| 639 WriteIntAttribute("min", histogram.ranges(i)); | 642 WriteIntAttribute("min", histogram.ranges(i)); |
| 640 WriteIntAttribute("max", histogram.ranges(i + 1)); | 643 WriteIntAttribute("max", histogram.ranges(i + 1)); |
| 641 WriteIntAttribute("count", snapshot.counts(i)); | 644 WriteIntAttribute("count", snapshot.counts(i)); |
| 642 } | 645 } |
| 643 } | 646 } |
| 644 } | 647 } |
| 645 | |
| OLD | NEW |