| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "base/process/process_metrics.h" | 5 #include "base/process/process_metrics.h" |
| 6 | 6 |
| 7 #include <dirent.h> | 7 #include <dirent.h> |
| 8 #include <fcntl.h> | 8 #include <fcntl.h> |
| 9 #include <stddef.h> | 9 #include <stddef.h> |
| 10 #include <stdint.h> | 10 #include <stdint.h> |
| (...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 552 shmem = 0; | 552 shmem = 0; |
| 553 slab = 0; | 553 slab = 0; |
| 554 gem_objects = -1; | 554 gem_objects = -1; |
| 555 gem_size = -1; | 555 gem_size = -1; |
| 556 #endif | 556 #endif |
| 557 } | 557 } |
| 558 | 558 |
| 559 SystemMemoryInfoKB::SystemMemoryInfoKB(const SystemMemoryInfoKB& other) = | 559 SystemMemoryInfoKB::SystemMemoryInfoKB(const SystemMemoryInfoKB& other) = |
| 560 default; | 560 default; |
| 561 | 561 |
| 562 scoped_ptr<Value> SystemMemoryInfoKB::ToValue() const { | 562 std::unique_ptr<Value> SystemMemoryInfoKB::ToValue() const { |
| 563 scoped_ptr<DictionaryValue> res(new DictionaryValue()); | 563 std::unique_ptr<DictionaryValue> res(new DictionaryValue()); |
| 564 | 564 |
| 565 res->SetInteger("total", total); | 565 res->SetInteger("total", total); |
| 566 res->SetInteger("free", free); | 566 res->SetInteger("free", free); |
| 567 res->SetInteger("buffers", buffers); | 567 res->SetInteger("buffers", buffers); |
| 568 res->SetInteger("cached", cached); | 568 res->SetInteger("cached", cached); |
| 569 res->SetInteger("active_anon", active_anon); | 569 res->SetInteger("active_anon", active_anon); |
| 570 res->SetInteger("inactive_anon", inactive_anon); | 570 res->SetInteger("inactive_anon", inactive_anon); |
| 571 res->SetInteger("active_file", active_file); | 571 res->SetInteger("active_file", active_file); |
| 572 res->SetInteger("inactive_file", inactive_file); | 572 res->SetInteger("inactive_file", inactive_file); |
| 573 res->SetInteger("swap_total", swap_total); | 573 res->SetInteger("swap_total", swap_total); |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 765 writes_merged = 0; | 765 writes_merged = 0; |
| 766 sectors_written = 0; | 766 sectors_written = 0; |
| 767 write_time = 0; | 767 write_time = 0; |
| 768 io = 0; | 768 io = 0; |
| 769 io_time = 0; | 769 io_time = 0; |
| 770 weighted_io_time = 0; | 770 weighted_io_time = 0; |
| 771 } | 771 } |
| 772 | 772 |
| 773 SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default; | 773 SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default; |
| 774 | 774 |
| 775 scoped_ptr<Value> SystemDiskInfo::ToValue() const { | 775 std::unique_ptr<Value> SystemDiskInfo::ToValue() const { |
| 776 scoped_ptr<DictionaryValue> res(new DictionaryValue()); | 776 std::unique_ptr<DictionaryValue> res(new DictionaryValue()); |
| 777 | 777 |
| 778 // Write out uint64_t variables as doubles. | 778 // Write out uint64_t variables as doubles. |
| 779 // Note: this may discard some precision, but for JS there's no other option. | 779 // Note: this may discard some precision, but for JS there's no other option. |
| 780 res->SetDouble("reads", static_cast<double>(reads)); | 780 res->SetDouble("reads", static_cast<double>(reads)); |
| 781 res->SetDouble("reads_merged", static_cast<double>(reads_merged)); | 781 res->SetDouble("reads_merged", static_cast<double>(reads_merged)); |
| 782 res->SetDouble("sectors_read", static_cast<double>(sectors_read)); | 782 res->SetDouble("sectors_read", static_cast<double>(sectors_read)); |
| 783 res->SetDouble("read_time", static_cast<double>(read_time)); | 783 res->SetDouble("read_time", static_cast<double>(read_time)); |
| 784 res->SetDouble("writes", static_cast<double>(writes)); | 784 res->SetDouble("writes", static_cast<double>(writes)); |
| 785 res->SetDouble("writes_merged", static_cast<double>(writes_merged)); | 785 res->SetDouble("writes_merged", static_cast<double>(writes_merged)); |
| 786 res->SetDouble("sectors_written", static_cast<double>(sectors_written)); | 786 res->SetDouble("sectors_written", static_cast<double>(sectors_written)); |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 891 diskinfo->io += io; | 891 diskinfo->io += io; |
| 892 diskinfo->io_time += io_time; | 892 diskinfo->io_time += io_time; |
| 893 diskinfo->weighted_io_time += weighted_io_time; | 893 diskinfo->weighted_io_time += weighted_io_time; |
| 894 } | 894 } |
| 895 } | 895 } |
| 896 | 896 |
| 897 return true; | 897 return true; |
| 898 } | 898 } |
| 899 | 899 |
| 900 #if defined(OS_CHROMEOS) | 900 #if defined(OS_CHROMEOS) |
| 901 scoped_ptr<Value> SwapInfo::ToValue() const { | 901 std::unique_ptr<Value> SwapInfo::ToValue() const { |
| 902 scoped_ptr<DictionaryValue> res(new DictionaryValue()); | 902 std::unique_ptr<DictionaryValue> res(new DictionaryValue()); |
| 903 | 903 |
| 904 // Write out uint64_t variables as doubles. | 904 // Write out uint64_t variables as doubles. |
| 905 // Note: this may discard some precision, but for JS there's no other option. | 905 // Note: this may discard some precision, but for JS there's no other option. |
| 906 res->SetDouble("num_reads", static_cast<double>(num_reads)); | 906 res->SetDouble("num_reads", static_cast<double>(num_reads)); |
| 907 res->SetDouble("num_writes", static_cast<double>(num_writes)); | 907 res->SetDouble("num_writes", static_cast<double>(num_writes)); |
| 908 res->SetDouble("orig_data_size", static_cast<double>(orig_data_size)); | 908 res->SetDouble("orig_data_size", static_cast<double>(orig_data_size)); |
| 909 res->SetDouble("compr_data_size", static_cast<double>(compr_data_size)); | 909 res->SetDouble("compr_data_size", static_cast<double>(compr_data_size)); |
| 910 res->SetDouble("mem_used_total", static_cast<double>(mem_used_total)); | 910 res->SetDouble("mem_used_total", static_cast<double>(mem_used_total)); |
| 911 if (compr_data_size > 0) | 911 if (compr_data_size > 0) |
| 912 res->SetDouble("compression_ratio", static_cast<double>(orig_data_size) / | 912 res->SetDouble("compression_ratio", static_cast<double>(orig_data_size) / |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 947 #if defined(OS_LINUX) | 947 #if defined(OS_LINUX) |
| 948 int ProcessMetrics::GetIdleWakeupsPerSecond() { | 948 int ProcessMetrics::GetIdleWakeupsPerSecond() { |
| 949 uint64_t wake_ups; | 949 uint64_t wake_ups; |
| 950 const char kWakeupStat[] = "se.statistics.nr_wakeups"; | 950 const char kWakeupStat[] = "se.statistics.nr_wakeups"; |
| 951 return ReadProcSchedAndGetFieldAsUint64(process_, kWakeupStat, &wake_ups) ? | 951 return ReadProcSchedAndGetFieldAsUint64(process_, kWakeupStat, &wake_ups) ? |
| 952 CalculateIdleWakeupsPerSecond(wake_ups) : 0; | 952 CalculateIdleWakeupsPerSecond(wake_ups) : 0; |
| 953 } | 953 } |
| 954 #endif // defined(OS_LINUX) | 954 #endif // defined(OS_LINUX) |
| 955 | 955 |
| 956 } // namespace base | 956 } // namespace base |
| OLD | NEW |