| 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 |