Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1557)

Unified Diff: base/trace_event/memory_dump_manager.cc

Issue 2865283002: Reland of Linux: Disable DBus auto-launch (Closed)
Patch Set: fix test Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/trace_event/memory_dump_manager.h ('k') | base/trace_event/memory_dump_manager_test_utils.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/trace_event/memory_dump_manager.cc
diff --git a/base/trace_event/memory_dump_manager.cc b/base/trace_event/memory_dump_manager.cc
index 59e5629ba9d671fae379b4a4d49e080fa008eddb..1ce86367809f118917c36b28355345518db6e481 100644
--- a/base/trace_event/memory_dump_manager.cc
+++ b/base/trace_event/memory_dump_manager.cc
@@ -130,9 +130,6 @@ void OnPeriodicSchedulerTick(MemoryDumpLevelOfDetail level_of_detail) {
const char* const MemoryDumpManager::kTraceCategory =
TRACE_DISABLED_BY_DEFAULT("memory-infra");
-// static
-const char* const MemoryDumpManager::kLogPrefix = "Memory-infra dump";
-
// static
const int MemoryDumpManager::kMaxConsecutiveFailuresCount = 3;
@@ -159,6 +156,7 @@ MemoryDumpManager* MemoryDumpManager::GetInstance() {
// static
std::unique_ptr<MemoryDumpManager>
MemoryDumpManager::CreateInstanceForTesting() {
+ DCHECK(!g_instance_for_testing);
std::unique_ptr<MemoryDumpManager> instance(new MemoryDumpManager());
g_instance_for_testing = instance.get();
return instance;
@@ -428,10 +426,8 @@ void MemoryDumpManager::RequestGlobalDump(
MemoryDumpType dump_type,
MemoryDumpLevelOfDetail level_of_detail,
const GlobalMemoryDumpCallback& callback) {
- // If |request_dump_function_| is null MDM hasn't been initialized yet.
- if (request_dump_function_.is_null()) {
- VLOG(1) << kLogPrefix << " failed because"
- << " memory dump manager is not enabled.";
+ if (!is_initialized()) {
+ VLOG(1) << "RequestGlobalDump() FAIL: MemoryDumpManager is not initialized";
if (!callback.is_null())
callback.Run(0u /* guid */, false /* success */);
return;
@@ -468,7 +464,8 @@ void MemoryDumpManager::GetDumpProvidersForPolling(
void MemoryDumpManager::RequestGlobalDump(
MemoryDumpType dump_type,
MemoryDumpLevelOfDetail level_of_detail) {
- RequestGlobalDump(dump_type, level_of_detail, GlobalMemoryDumpCallback());
+ auto noop_callback = [](uint64_t dump_guid, bool success) {};
+ RequestGlobalDump(dump_type, level_of_detail, Bind(noop_callback));
}
bool MemoryDumpManager::IsDumpProviderRegisteredForTesting(
@@ -499,6 +496,15 @@ MemoryDumpManager::GetOrCreateBgTaskRunnerLocked() {
void MemoryDumpManager::CreateProcessDump(
const MemoryDumpRequestArgs& args,
const ProcessMemoryDumpCallback& callback) {
+ if (!is_initialized()) {
+ VLOG(1) << "CreateProcessDump() FAIL: MemoryDumpManager is not initialized";
+ if (!callback.is_null()) {
+ callback.Run(args.dump_guid, false /* success */,
+ Optional<MemoryDumpCallbackResult>());
+ }
+ return;
+ }
+
char guid_str[20];
sprintf(guid_str, "0x%" PRIx64, args.dump_guid);
TRACE_EVENT_NESTABLE_ASYNC_BEGIN1(kTraceCategory, "ProcessMemoryDump",
@@ -732,7 +738,7 @@ void MemoryDumpManager::FinalizeDumpAndAddToTrace(
// The results struct to fill.
// TODO(hjd): Transitional until we send the full PMD. See crbug.com/704203
- base::Optional<MemoryDumpCallbackResult> result;
+ Optional<MemoryDumpCallbackResult> result;
bool dump_successful = pmd_async_state->dump_successful;
@@ -862,7 +868,7 @@ void MemoryDumpManager::SetupForTracing(
}
}
- // Only coordinator process triggers periodic global memory dumps.
+ // Only coordinator process triggers periodic memory dumps.
if (is_coordinator_ && !periodic_config.triggers.empty()) {
MemoryDumpScheduler::GetInstance()->Start(periodic_config,
GetOrCreateBgTaskRunnerLocked());
« no previous file with comments | « base/trace_event/memory_dump_manager.h ('k') | base/trace_event/memory_dump_manager_test_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698