summaryrefslogtreecommitdiff
path: root/systrace/catapult/systrace/atrace_helper/jni/atrace_process_dump.h
diff options
context:
space:
mode:
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.h82
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_