diff options
Diffstat (limited to 'systrace/catapult/systrace/atrace_helper/jni/atrace_process_dump.h')
-rw-r--r-- | systrace/catapult/systrace/atrace_helper/jni/atrace_process_dump.h | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/systrace/catapult/systrace/atrace_helper/jni/atrace_process_dump.h b/systrace/catapult/systrace/atrace_helper/jni/atrace_process_dump.h deleted file mode 100644 index b71184a..0000000 --- a/systrace/catapult/systrace/atrace_helper/jni/atrace_process_dump.h +++ /dev/null @@ -1,82 +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. - -#ifndef ATRACE_PROCESS_DUMP_H_ -#define ATRACE_PROCESS_DUMP_H_ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#include <memory> -#include <set> -#include <string> - -#include "logging.h" -#include "process_info.h" -#include "time_utils.h" - -// Program that collects processes, thread names, per-process memory stats and -// other minor metrics from /proc filesystem. It's aimed to extend systrace -// with more actionable number to hit performance issues. -class AtraceProcessDump { - public: - enum FullDumpMode { - kDisabled, - kAllProcesses, - kAllJavaApps, - kOnlyWhitelisted, - }; - - AtraceProcessDump(); - ~AtraceProcessDump(); - - void RunAndPrintJson(FILE* stream); - void Stop(); - - void SetDumpInterval(int interval_ms); - - // Negative number or zero means unlimited number of dumps. - void set_dump_count(int count) { dump_count_ = count; } - - void set_full_dump_mode(FullDumpMode mode) { full_dump_mode_ = mode; } - void set_full_dump_whitelist(const std::set<std::string> &whitelist) { - CHECK(full_dump_mode_ == FullDumpMode::kOnlyWhitelisted); - full_dump_whitelist_ = whitelist; - } - void enable_graphics_stats() { graphics_stats_ = true; } - void enable_print_smaps() { print_smaps_ = true; } - - private: - AtraceProcessDump(const AtraceProcessDump&) = delete; - void operator=(const AtraceProcessDump&) = delete; - - using ProcessMap = std::map<int, std::unique_ptr<ProcessInfo>>; - using ProcessSnapshotMap = std::map<int, std::unique_ptr<ProcessSnapshot>>; - - void TakeGlobalSnapshot(); - void TakeAndSerializeMemInfo(); - bool UpdatePersistentProcessInfo(int pid); - bool ShouldTakeFullDump(const ProcessInfo* process); - void SerializeSnapshot(); - void SerializePersistentProcessInfo(); - void Cleanup(); - - int self_pid_; - int dump_count_; - bool graphics_stats_ = false; - bool print_smaps_ = false; - FullDumpMode full_dump_mode_ = FullDumpMode::kDisabled; - std::set<std::string> full_dump_whitelist_; - - FILE* out_; - ProcessMap processes_; - ProcessSnapshotMap snapshot_; - uint64_t snapshot_timestamp_; - std::set<int> full_dump_whitelisted_pids_; - std::unique_ptr<time_utils::PeriodicTimer> snapshot_timer_; - int dump_interval_in_timer_ticks_; -}; - -#endif // ATRACE_PROCESS_DUMP_H_ |