| Index: chrome/test/perf/perf_test.cc
|
| diff --git a/chrome/test/perf/perf_test.cc b/chrome/test/perf/perf_test.cc
|
| deleted file mode 100644
|
| index f04ee2d71a766bf2c39a376f454f98ffbba07f97..0000000000000000000000000000000000000000
|
| --- a/chrome/test/perf/perf_test.cc
|
| +++ /dev/null
|
| @@ -1,409 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/test/perf/perf_test.h"
|
| -
|
| -#include <stdio.h>
|
| -
|
| -#include "base/logging.h"
|
| -#include "base/process/process.h"
|
| -#include "base/strings/string_number_conversions.h"
|
| -#include "base/strings/stringprintf.h"
|
| -#include "chrome/test/base/chrome_process_util.h"
|
| -#include "testing/perf/perf_test.h"
|
| -
|
| -namespace perf_test {
|
| -
|
| -void PrintIOPerfInfo(const std::string& test_name,
|
| - const ChromeProcessList& chrome_processes,
|
| - base::ProcessId browser_pid) {
|
| - PrintIOPerfInfo(stdout, test_name, chrome_processes, browser_pid);
|
| -}
|
| -
|
| -void PrintIOPerfInfo(FILE* target,
|
| - const std::string& test_name,
|
| - const ChromeProcessList& chrome_processes,
|
| - base::ProcessId browser_pid) {
|
| - fprintf(target, "%s", IOPerfInfoToString(test_name, chrome_processes,
|
| - browser_pid).c_str());
|
| -}
|
| -
|
| -std::string IOPerfInfoToString(const std::string& test_name,
|
| - const ChromeProcessList& chrome_processes,
|
| - base::ProcessId browser_pid) {
|
| - size_t read_op_b = 0;
|
| - size_t read_op_r = 0;
|
| - size_t write_op_b = 0;
|
| - size_t write_op_r = 0;
|
| - size_t other_op_b = 0;
|
| - size_t other_op_r = 0;
|
| - size_t total_op_b = 0;
|
| - size_t total_op_r = 0;
|
| -
|
| - size_t read_byte_b = 0;
|
| - size_t read_byte_r = 0;
|
| - size_t write_byte_b = 0;
|
| - size_t write_byte_r = 0;
|
| - size_t other_byte_b = 0;
|
| - size_t other_byte_r = 0;
|
| - size_t total_byte_b = 0;
|
| - size_t total_byte_r = 0;
|
| -
|
| - std::string output;
|
| - ChromeProcessList::const_iterator it;
|
| - for (it = chrome_processes.begin(); it != chrome_processes.end(); ++it) {
|
| - base::Process process = base::Process::Open(*it);
|
| - if (!process.IsValid()) {
|
| - NOTREACHED();
|
| - return output;
|
| - }
|
| -
|
| - // TODO(sgk): if/when base::ProcessMetrics returns real stats on mac:
|
| - // scoped_ptr<base::ProcessMetrics> process_metrics(
|
| - // base::ProcessMetrics::CreateProcessMetrics(process.Handle()));
|
| - scoped_ptr<ChromeTestProcessMetrics> process_metrics(
|
| - ChromeTestProcessMetrics::CreateProcessMetrics(process.Handle()));
|
| - base::IoCounters io_counters;
|
| - memset(&io_counters, 0, sizeof(io_counters));
|
| -
|
| - if (process_metrics.get()->GetIOCounters(&io_counters)) {
|
| - // Print out IO performance. We assume that the values can be
|
| - // converted to size_t (they're reported as ULONGLONG, 64-bit numbers).
|
| - std::string chrome_name = (*it == browser_pid) ? "_b" : "_r";
|
| -
|
| - size_t read_op = static_cast<size_t>(io_counters.ReadOperationCount);
|
| - size_t write_op = static_cast<size_t>(io_counters.WriteOperationCount);
|
| - size_t other_op = static_cast<size_t>(io_counters.OtherOperationCount);
|
| - size_t total_op = static_cast<size_t>(io_counters.ReadOperationCount +
|
| - io_counters.WriteOperationCount +
|
| - io_counters.OtherOperationCount);
|
| -
|
| - size_t read_byte = static_cast<size_t>(io_counters.ReadTransferCount
|
| - / 1024);
|
| - size_t write_byte = static_cast<size_t>(io_counters.WriteTransferCount
|
| - / 1024);
|
| - size_t other_byte = static_cast<size_t>(io_counters.OtherTransferCount
|
| - / 1024);
|
| - size_t total_byte = static_cast<size_t>((io_counters.ReadTransferCount +
|
| - io_counters.WriteTransferCount +
|
| - io_counters.OtherTransferCount)
|
| - / 1024);
|
| -
|
| - if (*it == browser_pid) {
|
| - read_op_b = read_op;
|
| - write_op_b = write_op;
|
| - other_op_b = other_op;
|
| - total_op_b = total_op;
|
| - read_byte_b = read_byte;
|
| - write_byte_b = write_byte;
|
| - other_byte_b = other_byte;
|
| - total_byte_b = total_byte;
|
| - } else {
|
| - read_op_r += read_op;
|
| - write_op_r += write_op;
|
| - other_op_r += other_op;
|
| - total_op_r += total_op;
|
| - read_byte_r += read_byte;
|
| - write_byte_r += write_byte;
|
| - other_byte_r += other_byte;
|
| - total_byte_r += total_byte;
|
| - }
|
| - }
|
| - }
|
| -
|
| - std::string t_name(test_name);
|
| - AppendResult(output,
|
| - "read_op_b",
|
| - std::string(),
|
| - "r_op_b" + t_name,
|
| - read_op_b,
|
| - "ops",
|
| - false);
|
| - AppendResult(output,
|
| - "write_op_b",
|
| - std::string(),
|
| - "w_op_b" + t_name,
|
| - write_op_b,
|
| - "ops",
|
| - false);
|
| - AppendResult(output,
|
| - "other_op_b",
|
| - std::string(),
|
| - "o_op_b" + t_name,
|
| - other_op_b,
|
| - "ops",
|
| - false);
|
| - AppendResult(output,
|
| - "total_op_b",
|
| - std::string(),
|
| - "IO_op_b" + t_name,
|
| - total_op_b,
|
| - "ops",
|
| - false);
|
| -
|
| - AppendResult(output,
|
| - "read_byte_b",
|
| - std::string(),
|
| - "r_b" + t_name,
|
| - read_byte_b,
|
| - "kb",
|
| - false);
|
| - AppendResult(output,
|
| - "write_byte_b",
|
| - std::string(),
|
| - "w_b" + t_name,
|
| - write_byte_b,
|
| - "kb",
|
| - false);
|
| - AppendResult(output,
|
| - "other_byte_b",
|
| - std::string(),
|
| - "o_b" + t_name,
|
| - other_byte_b,
|
| - "kb",
|
| - false);
|
| - AppendResult(output,
|
| - "total_byte_b",
|
| - std::string(),
|
| - "IO_b" + t_name,
|
| - total_byte_b,
|
| - "kb",
|
| - false);
|
| -
|
| - AppendResult(output,
|
| - "read_op_r",
|
| - std::string(),
|
| - "r_op_r" + t_name,
|
| - read_op_r,
|
| - "ops",
|
| - false);
|
| - AppendResult(output,
|
| - "write_op_r",
|
| - std::string(),
|
| - "w_op_r" + t_name,
|
| - write_op_r,
|
| - "ops",
|
| - false);
|
| - AppendResult(output,
|
| - "other_op_r",
|
| - std::string(),
|
| - "o_op_r" + t_name,
|
| - other_op_r,
|
| - "ops",
|
| - false);
|
| - AppendResult(output,
|
| - "total_op_r",
|
| - std::string(),
|
| - "IO_op_r" + t_name,
|
| - total_op_r,
|
| - "ops",
|
| - false);
|
| -
|
| - AppendResult(output,
|
| - "read_byte_r",
|
| - std::string(),
|
| - "r_r" + t_name,
|
| - read_byte_r,
|
| - "kb",
|
| - false);
|
| - AppendResult(output,
|
| - "write_byte_r",
|
| - std::string(),
|
| - "w_r" + t_name,
|
| - write_byte_r,
|
| - "kb",
|
| - false);
|
| - AppendResult(output,
|
| - "other_byte_r",
|
| - std::string(),
|
| - "o_r" + t_name,
|
| - other_byte_r,
|
| - "kb",
|
| - false);
|
| - AppendResult(output,
|
| - "total_byte_r",
|
| - std::string(),
|
| - "IO_r" + t_name,
|
| - total_byte_r,
|
| - "kb",
|
| - false);
|
| -
|
| - return output;
|
| -}
|
| -
|
| -void PrintMemoryUsageInfo(const std::string& test_name,
|
| - const ChromeProcessList& chrome_processes,
|
| - base::ProcessId browser_pid) {
|
| - PrintMemoryUsageInfo(stdout, test_name, chrome_processes, browser_pid);
|
| -}
|
| -
|
| -void PrintMemoryUsageInfo(FILE* target,
|
| - const std::string& test_name,
|
| - const ChromeProcessList& chrome_processes,
|
| - base::ProcessId browser_pid) {
|
| - fprintf(target, "%s", MemoryUsageInfoToString(test_name, chrome_processes,
|
| - browser_pid).c_str());
|
| -}
|
| -
|
| -std::string MemoryUsageInfoToString(const std::string& test_name,
|
| - const ChromeProcessList& chrome_processes,
|
| - base::ProcessId browser_pid) {
|
| - size_t browser_virtual_size = 0;
|
| - size_t browser_working_set_size = 0;
|
| - size_t renderer_virtual_size = 0;
|
| - size_t renderer_working_set_size = 0;
|
| - size_t total_virtual_size = 0;
|
| - size_t total_working_set_size = 0;
|
| -#if defined(OS_WIN)
|
| - size_t browser_peak_virtual_size = 0;
|
| - size_t browser_peak_working_set_size = 0;
|
| - size_t renderer_total_peak_virtual_size = 0;
|
| - size_t renderer_total_peak_working_set_size = 0;
|
| - size_t renderer_single_peak_virtual_size = 0;
|
| - size_t renderer_single_peak_working_set_size = 0;
|
| -#endif
|
| -
|
| - std::string output;
|
| - ChromeProcessList::const_iterator it;
|
| - for (it = chrome_processes.begin(); it != chrome_processes.end(); ++it) {
|
| - base::Process process = base::Process::Open(*it);
|
| - if (!process.IsValid()) {
|
| - NOTREACHED();
|
| - return output;
|
| - }
|
| -
|
| - // TODO(sgk): if/when base::ProcessMetrics returns real stats on mac:
|
| - // scoped_ptr<base::ProcessMetrics> process_metrics(
|
| - // base::ProcessMetrics::CreateProcessMetrics(process.Handle()));
|
| - scoped_ptr<ChromeTestProcessMetrics> process_metrics(
|
| - ChromeTestProcessMetrics::CreateProcessMetrics(process.Handle()));
|
| -
|
| - size_t current_virtual_size = process_metrics->GetPagefileUsage();
|
| - size_t current_working_set_size = process_metrics->GetWorkingSetSize();
|
| -
|
| - if (*it == browser_pid) {
|
| - browser_virtual_size = current_virtual_size;
|
| - browser_working_set_size = current_working_set_size;
|
| - } else {
|
| - renderer_virtual_size += current_virtual_size;
|
| - renderer_working_set_size += current_working_set_size;
|
| - }
|
| - total_virtual_size += current_virtual_size;
|
| - total_working_set_size += current_working_set_size;
|
| -
|
| -#if defined(OS_WIN)
|
| - size_t peak_virtual_size = process_metrics->GetPeakPagefileUsage();
|
| - size_t peak_working_set_size = process_metrics->GetPeakWorkingSetSize();
|
| - if (*it == browser_pid) {
|
| - browser_peak_virtual_size = peak_virtual_size;
|
| - browser_peak_working_set_size = peak_working_set_size;
|
| - } else {
|
| - if (peak_virtual_size > renderer_single_peak_virtual_size) {
|
| - renderer_single_peak_virtual_size = peak_virtual_size;
|
| - }
|
| - if (peak_working_set_size > renderer_single_peak_working_set_size) {
|
| - renderer_single_peak_working_set_size = peak_working_set_size;
|
| - }
|
| - renderer_total_peak_virtual_size += peak_virtual_size;
|
| - renderer_total_peak_working_set_size += peak_working_set_size;
|
| - }
|
| -#endif
|
| - }
|
| -
|
| - std::string trace_name(test_name);
|
| -#if defined(OS_WIN)
|
| - AppendResult(output, "vm_peak_b", "", "vm_pk_b" + trace_name,
|
| - browser_peak_virtual_size, "bytes",
|
| - false /* not important */);
|
| - AppendResult(output, "ws_peak_b", "", "ws_pk_b" + trace_name,
|
| - browser_peak_working_set_size, "bytes",
|
| - false /* not important */);
|
| - AppendResult(output, "vm_peak_r", "", "vm_pk_r" + trace_name,
|
| - renderer_total_peak_virtual_size, "bytes",
|
| - false /* not important */);
|
| - AppendResult(output, "ws_peak_r", "", "ws_pk_r" + trace_name,
|
| - renderer_total_peak_working_set_size, "bytes",
|
| - false /* not important */);
|
| - AppendResult(output, "vm_single_peak_r", "", "vm_spk_r" + trace_name,
|
| - renderer_single_peak_virtual_size, "bytes",
|
| - false /* not important */);
|
| - AppendResult(output, "ws_single_peak_r", "", "ws_spk_r" + trace_name,
|
| - renderer_single_peak_working_set_size, "bytes",
|
| - false /* important */);
|
| - AppendResult(output, "vm_final_b", "", "vm_f_b" + trace_name,
|
| - browser_virtual_size, "bytes",
|
| - false /* not important */);
|
| - AppendResult(output, "ws_final_b", "", "ws_f_b" + trace_name,
|
| - browser_working_set_size, "bytes",
|
| - false /* not important */);
|
| - AppendResult(output, "vm_final_r", "", "vm_f_r" + trace_name,
|
| - renderer_virtual_size, "bytes",
|
| - false /* not important */);
|
| - AppendResult(output, "ws_final_r", "", "ws_f_r" + trace_name,
|
| - renderer_working_set_size, "bytes",
|
| - false /* not important */);
|
| - AppendResult(output, "vm_final_t", "", "vm_f_t" + trace_name,
|
| - total_virtual_size, "bytes",
|
| - false /* not important */);
|
| - AppendResult(output, "ws_final_t", "", "ws_f_t" + trace_name,
|
| - total_working_set_size, "bytes",
|
| - false /* not important */);
|
| -#elif defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_ANDROID)
|
| - AppendResult(output,
|
| - "vm_size_final_b",
|
| - std::string(),
|
| - "vm_size_f_b" + trace_name,
|
| - browser_virtual_size,
|
| - "bytes",
|
| - false /* not important */);
|
| - AppendResult(output,
|
| - "vm_rss_final_b",
|
| - std::string(),
|
| - "vm_rss_f_b" + trace_name,
|
| - browser_working_set_size,
|
| - "bytes",
|
| - false /* not important */);
|
| - AppendResult(output,
|
| - "vm_size_final_r",
|
| - std::string(),
|
| - "vm_size_f_r" + trace_name,
|
| - renderer_virtual_size,
|
| - "bytes",
|
| - false /* not important */);
|
| - AppendResult(output,
|
| - "vm_rss_final_r",
|
| - std::string(),
|
| - "vm_rss_f_r" + trace_name,
|
| - renderer_working_set_size,
|
| - "bytes",
|
| - false /* not important */);
|
| - AppendResult(output,
|
| - "vm_size_final_t",
|
| - std::string(),
|
| - "vm_size_f_t" + trace_name,
|
| - total_virtual_size,
|
| - "bytes",
|
| - false /* not important */);
|
| - AppendResult(output,
|
| - "vm_rss_final_t",
|
| - std::string(),
|
| - "vm_rss_f_t" + trace_name,
|
| - total_working_set_size,
|
| - "bytes",
|
| - false /* not important */);
|
| -#else
|
| - NOTIMPLEMENTED();
|
| -#endif
|
| - AppendResult(output,
|
| - "processes",
|
| - std::string(),
|
| - "proc_" + trace_name,
|
| - chrome_processes.size(),
|
| - "count",
|
| - false /* not important */);
|
| -
|
| - return output;
|
| -}
|
| -
|
| -} // namespace perf_test
|
|
|