| OLD | NEW | 
|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "base/trace_event/memory_dump_manager.h" | 5 #include "base/trace_event/memory_dump_manager.h" | 
| 6 | 6 | 
| 7 #include <algorithm> | 7 #include <algorithm> | 
| 8 #include <utility> | 8 #include <utility> | 
| 9 | 9 | 
| 10 #include "base/atomic_sequence_num.h" | 10 #include "base/atomic_sequence_num.h" | 
| (...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 449                         Passed(&pmd_async_state))); | 449                         Passed(&pmd_async_state))); | 
| 450     return; | 450     return; | 
| 451   } | 451   } | 
| 452 | 452 | 
| 453   TRACE_EVENT_WITH_FLOW0(kTraceCategory, | 453   TRACE_EVENT_WITH_FLOW0(kTraceCategory, | 
| 454                          "MemoryDumpManager::FinalizeDumpAndAddToTrace", | 454                          "MemoryDumpManager::FinalizeDumpAndAddToTrace", | 
| 455                          TRACE_ID_MANGLE(dump_guid), TRACE_EVENT_FLAG_FLOW_IN); | 455                          TRACE_ID_MANGLE(dump_guid), TRACE_EVENT_FLAG_FLOW_IN); | 
| 456 | 456 | 
| 457   for (const auto& kv : pmd_async_state->process_dumps) { | 457   for (const auto& kv : pmd_async_state->process_dumps) { | 
| 458     ProcessId pid = kv.first;  // kNullProcessId for the current process. | 458     ProcessId pid = kv.first;  // kNullProcessId for the current process. | 
| 459     ProcessMemoryDump* process_memory_dump = kv.second; | 459     ProcessMemoryDump* process_memory_dump = kv.second.get(); | 
| 460     TracedValue* traced_value = new TracedValue(); | 460     TracedValue* traced_value = new TracedValue(); | 
| 461     scoped_refptr<ConvertableToTraceFormat> event_value(traced_value); | 461     scoped_refptr<ConvertableToTraceFormat> event_value(traced_value); | 
| 462     process_memory_dump->AsValueInto(traced_value); | 462     process_memory_dump->AsValueInto(traced_value); | 
| 463     traced_value->SetString("level_of_detail", | 463     traced_value->SetString("level_of_detail", | 
| 464                             MemoryDumpLevelOfDetailToString( | 464                             MemoryDumpLevelOfDetailToString( | 
| 465                                 pmd_async_state->req_args.level_of_detail)); | 465                                 pmd_async_state->req_args.level_of_detail)); | 
| 466     const char* const event_name = | 466     const char* const event_name = | 
| 467         MemoryDumpTypeToString(pmd_async_state->req_args.dump_type); | 467         MemoryDumpTypeToString(pmd_async_state->req_args.dump_type); | 
| 468 | 468 | 
| 469     TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_PROCESS_ID( | 469     TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_PROCESS_ID( | 
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 644       dump_thread_task_runner(dump_thread_task_runner) {} | 644       dump_thread_task_runner(dump_thread_task_runner) {} | 
| 645 | 645 | 
| 646 MemoryDumpManager::ProcessMemoryDumpAsyncState::~ProcessMemoryDumpAsyncState() { | 646 MemoryDumpManager::ProcessMemoryDumpAsyncState::~ProcessMemoryDumpAsyncState() { | 
| 647 } | 647 } | 
| 648 | 648 | 
| 649 ProcessMemoryDump* MemoryDumpManager::ProcessMemoryDumpAsyncState:: | 649 ProcessMemoryDump* MemoryDumpManager::ProcessMemoryDumpAsyncState:: | 
| 650     GetOrCreateMemoryDumpContainerForProcess(ProcessId pid) { | 650     GetOrCreateMemoryDumpContainerForProcess(ProcessId pid) { | 
| 651   auto iter = process_dumps.find(pid); | 651   auto iter = process_dumps.find(pid); | 
| 652   if (iter == process_dumps.end()) { | 652   if (iter == process_dumps.end()) { | 
| 653     scoped_ptr<ProcessMemoryDump> new_pmd(new ProcessMemoryDump(session_state)); | 653     scoped_ptr<ProcessMemoryDump> new_pmd(new ProcessMemoryDump(session_state)); | 
| 654     iter = process_dumps.insert(pid, std::move(new_pmd)).first; | 654     iter = process_dumps.insert(std::make_pair(pid, std::move(new_pmd))).first; | 
| 655   } | 655   } | 
| 656   return iter->second; | 656   return iter->second.get(); | 
| 657 } | 657 } | 
| 658 | 658 | 
| 659 }  // namespace trace_event | 659 }  // namespace trace_event | 
| 660 }  // namespace base | 660 }  // namespace base | 
| OLD | NEW | 
|---|