Index: systrace/atrace_helper/jni/process_info.cc |
diff --git a/systrace/atrace_helper/jni/process_info.cc b/systrace/atrace_helper/jni/process_info.cc |
deleted file mode 100644 |
index 172217bf6536509045593eb3a9ae9c0c2114d7dc..0000000000000000000000000000000000000000 |
--- a/systrace/atrace_helper/jni/process_info.cc |
+++ /dev/null |
@@ -1,102 +0,0 @@ |
-// Copyright 2017 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 "process_info.h" |
- |
-#include <ctype.h> |
-#include <dirent.h> |
-#include <stdio.h> |
-#include <stdlib.h> |
-#include <sys/types.h> |
- |
-#include "file_utils.h" |
-#include "logging.h" |
- |
-ProcessInfo::ProcessInfo(int pid) : memory_(pid), pid_(pid) {} |
- |
-bool ProcessInfo::IsProcess(int pid) { |
- char buf[256]; |
- ssize_t rsize = file_utils::ReadProcFile(pid, "status", buf, sizeof(buf)); |
- if (rsize <= 0) |
- return false; |
- const char kTgid[] = "\nTgid:"; |
- const char* tgid_line = strstr(buf, kTgid); |
- CHECK(tgid_line); |
- int tgid = 0; |
- if (sscanf(tgid_line + strlen(kTgid), "%d", &tgid) != 1) |
- CHECK(false); |
- return tgid == pid; |
-} |
- |
-bool ProcessInfo::ReadProcessName() { |
- if (!file_utils::ReadProcFileTrimmed(pid_, "cmdline", name_, sizeof(name_))) |
- return false; |
- |
- // Fallback on "comm" for kernel threads. |
- if (strlen(name_) == 0) { |
- if (!file_utils::ReadProcFileTrimmed(pid_, "comm", name_, sizeof(name_))) |
- return false; |
- } |
- |
- // Get also the exe path, to distinguish system vs java apps and bitness. |
- char exe_path[64]; |
- sprintf(exe_path, "/proc/%d/exe", pid_); |
- exe_[0] = '\0'; |
- ssize_t res = readlink(exe_path, exe_, sizeof(exe_) - 1); |
- if (res >= 0) |
- exe_[res] = '\0'; |
- |
- return true; |
-} |
- |
-bool ProcessInfo::ReadThreadNames() { |
- char tasks_path[64]; |
- sprintf(tasks_path, "/proc/%d/task", pid_); |
- CHECK(threads_.empty()); |
- ThreadInfoMap* threads = &threads_; |
- const int pid = pid_; |
- file_utils::ForEachPidInProcPath(tasks_path, [pid, threads](int tid) { |
- char comm[64]; |
- std::unique_ptr<ThreadInfo> thread_info(new ThreadInfo()); |
- sprintf(comm, "task/%d/comm", tid); |
- if (!file_utils::ReadProcFileTrimmed(pid, comm, thread_info->name, |
- sizeof(thread_info->name))) { |
- return; |
- } |
- (*threads)[tid] = std::move(thread_info); |
- }); |
- return true; |
-} |
- |
-bool ProcessInfo::ReadOOMStats() { |
- char buf[512]; |
- if (file_utils::ReadProcFileTrimmed(pid_, "oom_adj", buf, sizeof(buf))) |
- oom_adj_ = atoi(buf); |
- else |
- return false; |
- |
- if (file_utils::ReadProcFileTrimmed(pid_, "oom_score", buf, sizeof(buf))) |
- oom_score_ = atoi(buf); |
- else |
- return false; |
- |
- if (file_utils::ReadProcFileTrimmed(pid_, "oom_score_adj", buf, sizeof(buf))) |
- oom_score_adj_ = atoi(buf); |
- else |
- return false; |
- |
- return true; |
-} |
- |
-bool ProcessInfo::ReadPageFaultsAndCPUTimeStats() { |
- char buf[512]; |
- if (!file_utils::ReadProcFileTrimmed(pid_, "stat", buf, sizeof(buf))) |
- return false; |
- int ret = sscanf(buf, |
- "%*d (%*[^)]) %*c %*d %*d %*d %*d %*d %*u %lu %*lu " |
- "%lu %*lu %lu %lu %*ld %*ld %*ld %*ld %*ld %*ld %llu", |
- &minflt_, &majflt_, &utime_, &stime_, &start_time_); |
- CHECK(ret == 5); |
- return true; |
-} |