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/metrics_log.h" | 5 #include "components/metrics/metrics_log.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <string> | 10 #include <string> |
(...skipping 22 matching lines...) Expand all Loading... |
33 #include "components/metrics/proto/user_action_event.pb.h" | 33 #include "components/metrics/proto/user_action_event.pb.h" |
34 #include "components/prefs/pref_registry_simple.h" | 34 #include "components/prefs/pref_registry_simple.h" |
35 #include "components/prefs/pref_service.h" | 35 #include "components/prefs/pref_service.h" |
36 #include "components/variations/active_field_trials.h" | 36 #include "components/variations/active_field_trials.h" |
37 | 37 |
38 #if defined(OS_ANDROID) | 38 #if defined(OS_ANDROID) |
39 #include "base/android/build_info.h" | 39 #include "base/android/build_info.h" |
40 #endif | 40 #endif |
41 | 41 |
42 #if defined(OS_WIN) | 42 #if defined(OS_WIN) |
43 // http://blogs.msdn.com/oldnewthing/archive/2004/10/25/247180.aspx | 43 #include "base/win/current_module.h" |
44 extern "C" IMAGE_DOS_HEADER __ImageBase; | |
45 #endif | 44 #endif |
46 | 45 |
47 using base::SampleCountIterator; | 46 using base::SampleCountIterator; |
48 typedef variations::ActiveGroupId ActiveGroupId; | 47 typedef variations::ActiveGroupId ActiveGroupId; |
49 | 48 |
50 namespace metrics { | 49 namespace metrics { |
51 | 50 |
52 namespace { | 51 namespace { |
53 | 52 |
54 // Any id less than 16 bytes is considered to be a testing id. | 53 // Any id less than 16 bytes is considered to be a testing id. |
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 | 341 |
343 SystemProfileProto::Hardware* hardware = system_profile->mutable_hardware(); | 342 SystemProfileProto::Hardware* hardware = system_profile->mutable_hardware(); |
344 | 343 |
345 // HardwareModelName() will return an empty string on platforms where it's | 344 // HardwareModelName() will return an empty string on platforms where it's |
346 // not implemented or if an error occured. | 345 // not implemented or if an error occured. |
347 hardware->set_hardware_class(base::SysInfo::HardwareModelName()); | 346 hardware->set_hardware_class(base::SysInfo::HardwareModelName()); |
348 | 347 |
349 hardware->set_cpu_architecture(base::SysInfo::OperatingSystemArchitecture()); | 348 hardware->set_cpu_architecture(base::SysInfo::OperatingSystemArchitecture()); |
350 hardware->set_system_ram_mb(base::SysInfo::AmountOfPhysicalMemoryMB()); | 349 hardware->set_system_ram_mb(base::SysInfo::AmountOfPhysicalMemoryMB()); |
351 #if defined(OS_WIN) | 350 #if defined(OS_WIN) |
352 hardware->set_dll_base(reinterpret_cast<uint64_t>(&__ImageBase)); | 351 hardware->set_dll_base(reinterpret_cast<uint64_t>(CURRENT_MODULE())); |
353 #endif | 352 #endif |
354 | 353 |
355 #if defined(OVERRIDE_OS_NAME_TO_BLIMP) | 354 #if defined(OVERRIDE_OS_NAME_TO_BLIMP) |
356 os->set_name("Blimp"); | 355 os->set_name("Blimp"); |
357 #else | 356 #else |
358 SystemProfileProto::OS* os = system_profile->mutable_os(); | 357 SystemProfileProto::OS* os = system_profile->mutable_os(); |
359 std::string os_name = base::SysInfo::OperatingSystemName(); | 358 std::string os_name = base::SysInfo::OperatingSystemName(); |
360 os->set_name(os_name); | 359 os->set_name(os_name); |
361 #endif | 360 #endif |
362 | 361 |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
415 DCHECK(!closed_); | 414 DCHECK(!closed_); |
416 closed_ = true; | 415 closed_ = true; |
417 } | 416 } |
418 | 417 |
419 void MetricsLog::GetEncodedLog(std::string* encoded_log) { | 418 void MetricsLog::GetEncodedLog(std::string* encoded_log) { |
420 DCHECK(closed_); | 419 DCHECK(closed_); |
421 uma_proto_.SerializeToString(encoded_log); | 420 uma_proto_.SerializeToString(encoded_log); |
422 } | 421 } |
423 | 422 |
424 } // namespace metrics | 423 } // namespace metrics |
OLD | NEW |