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

Unified Diff: services/resource_coordinator/memory/coordinator/coordinator_impl.h

Issue 2883693002: [Memory-UMA] Implement basic working prototype. (Closed)
Patch Set: Fix test. Created 3 years, 7 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
Index: services/resource_coordinator/memory/coordinator/coordinator_impl.h
diff --git a/services/resource_coordinator/memory/coordinator/coordinator_impl.h b/services/resource_coordinator/memory/coordinator/coordinator_impl.h
index 096847b0f9aca14eb9cda21ab6d67f99d1cca09f..a7cfd96039929494ac2b09c291f5dc01f0e4d9e9 100644
--- a/services/resource_coordinator/memory/coordinator/coordinator_impl.h
+++ b/services/resource_coordinator/memory/coordinator/coordinator_impl.h
@@ -14,9 +14,14 @@
#include "base/trace_event/memory_dump_request_args.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/binding_set.h"
+#include "services/resource_coordinator/memory/coordinator/process_map.h"
#include "services/resource_coordinator/public/cpp/memory/coordinator.h"
#include "services/resource_coordinator/public/interfaces/memory/memory_instrumentation.mojom.h"
+namespace service_manager {
+class Connector;
+}
+
namespace memory_instrumentation {
class CoordinatorImpl : public Coordinator, public mojom::Coordinator {
@@ -24,7 +29,8 @@ class CoordinatorImpl : public Coordinator, public mojom::Coordinator {
// The getter of the unique instance.
static CoordinatorImpl* GetInstance();
- explicit CoordinatorImpl(bool initialize_memory_dump_manager);
+ CoordinatorImpl(bool initialize_memory_dump_manager,
+ service_manager::Connector* connector);
// Coordinator
void BindCoordinatorRequest(
@@ -35,6 +41,11 @@ class CoordinatorImpl : public Coordinator, public mojom::Coordinator {
return initialize_memory_dump_manager_;
}
+ protected:
+ // virtual for testing.
+ virtual service_manager::Identity GetDispatchContext() const;
+ ~CoordinatorImpl() override;
+
private:
friend std::default_delete<CoordinatorImpl>; // For testing
friend class CoordinatorImplTest; // For testing
@@ -47,10 +58,12 @@ class CoordinatorImpl : public Coordinator, public mojom::Coordinator {
const RequestGlobalMemoryDumpCallback callback;
// Collects the data received from OnProcessMemoryDumpResponse().
- std::vector<mojom::ProcessMemoryDumpPtr> process_memory_dumps;
+ std::vector<std::pair<base::ProcessId, mojom::ProcessMemoryDumpPtr>>
+ process_memory_dumps;
};
- ~CoordinatorImpl() override;
+ using ProcessLocalDumpManagerEntry =
+ std::pair<mojom::ProcessLocalDumpManagerPtr, service_manager::Identity>;
// mojom::Coordinator
void RegisterProcessLocalDumpManager(
@@ -77,10 +90,10 @@ class CoordinatorImpl : public Coordinator, public mojom::Coordinator {
void PerformNextQueuedGlobalMemoryDump();
void FinalizeGlobalMemoryDumpIfAllManagersReplied();
- mojo::BindingSet<mojom::Coordinator> bindings_;
+ mojo::BindingSet<mojom::Coordinator, service_manager::Identity> bindings_;
// Registered ProcessLocalDumpManagers.
- std::map<mojom::ProcessLocalDumpManager*, mojom::ProcessLocalDumpManagerPtr>
+ std::map<mojom::ProcessLocalDumpManager*, ProcessLocalDumpManagerEntry>
process_managers_;
// Pending process managers for RequestGlobalMemoryDump.
@@ -92,6 +105,8 @@ class CoordinatorImpl : public Coordinator, public mojom::Coordinator {
base::ThreadChecker thread_checker_;
+ std::unique_ptr<ProcessMap> process_map_;
+
DISALLOW_COPY_AND_ASSIGN(CoordinatorImpl);
};
« no previous file with comments | « services/resource_coordinator/BUILD.gn ('k') | services/resource_coordinator/memory/coordinator/coordinator_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698