Chromium Code Reviews| Index: base/trace_event/process_memory_totals_dump_provider.cc |
| diff --git a/base/trace_event/process_memory_totals_dump_provider.cc b/base/trace_event/process_memory_totals_dump_provider.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..4143a58381cdf301e138a451b1e773c5aa4884d2 |
| --- /dev/null |
| +++ b/base/trace_event/process_memory_totals_dump_provider.cc |
| @@ -0,0 +1,38 @@ |
| +// Copyright 2015 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. |
| + |
| +#include "base/trace_event/process_memory_totals_dump_provider.h" |
| + |
| +#include "base/process/process_metrics.h" |
| +#include "base/trace_event/process_memory_dump.h" |
| +#include "base/trace_event/process_memory_totals.h" |
| + |
| +namespace base { |
| +namespace trace_event { |
| + |
| +// static |
| +ProcessMemoryTotalsDumpProvider* |
| +ProcessMemoryTotalsDumpProvider::GetInstance() { |
| + return Singleton< |
| + ProcessMemoryTotalsDumpProvider, |
| + LeakySingletonTraits<ProcessMemoryTotalsDumpProvider>>::get(); |
| +} |
| + |
| +ProcessMemoryTotalsDumpProvider::ProcessMemoryTotalsDumpProvider() |
| + : process_metrics_( |
| + ProcessMetrics::CreateProcessMetrics(GetCurrentProcessHandle())) { |
| +} |
| + |
| +ProcessMemoryTotalsDumpProvider::~ProcessMemoryTotalsDumpProvider() { |
| +} |
| + |
| +// Called at trace dump point time. Creates a snapshot the memory counters for |
| +// the current process. |
| +void ProcessMemoryTotalsDumpProvider::DumpInto(ProcessMemoryDump* pmd) { |
| + const uint64 rss_bytes = process_metrics_->GetWorkingSetSize(); |
|
dsinclair
2015/02/18 18:42:30
So, do the process_metrics_ get updated or are the
Primiano Tucci (use gerrit)
2015/02/18 18:47:59
process_metrics_ is the (base::) object which is a
|
| + pmd->SetProcessTotals(make_scoped_ptr(new ProcessMemoryTotals(rss_bytes))); |
| +} |
| + |
| +} // namespace trace_event |
| +} // namespace base |