Index: services/resource_coordinator/public/interfaces/memory/memory_instrumentation.mojom |
diff --git a/services/resource_coordinator/public/interfaces/memory/memory_instrumentation.mojom b/services/resource_coordinator/public/interfaces/memory/memory_instrumentation.mojom |
deleted file mode 100644 |
index bf85eb325276c0e190b01b9ab41b1e67b256b81d..0000000000000000000000000000000000000000 |
--- a/services/resource_coordinator/public/interfaces/memory/memory_instrumentation.mojom |
+++ /dev/null |
@@ -1,104 +0,0 @@ |
-// Copyright 2017 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. |
- |
-module memory_instrumentation.mojom; |
- |
-import "mojo/common/process_id.mojom"; |
- |
-enum DumpType { |
- PERIODIC_INTERVAL, |
- EXPLICITLY_TRIGGERED, |
- PEAK_MEMORY_USAGE, |
- SUMMARY_ONLY |
-}; |
- |
-enum LevelOfDetail { |
- BACKGROUND, |
- LIGHT, |
- DETAILED |
-}; |
- |
-struct RequestArgs { |
- uint64 dump_guid; |
- DumpType dump_type; |
- LevelOfDetail level_of_detail; |
-}; |
- |
-struct PlatformPrivateFootprint { |
- uint64 phys_footprint_bytes = 0; |
- uint64 internal_bytes = 0; |
- uint64 compressed_bytes = 0; |
- uint64 rss_anon_bytes = 0; |
- uint64 vm_swap_bytes = 0; |
-}; |
- |
-struct OSMemDump { |
- uint32 resident_set_kb = 0; |
- PlatformPrivateFootprint platform_private_footprint; |
-}; |
- |
-struct ChromeMemDump { |
- uint32 malloc_total_kb = 0; |
- uint32 partition_alloc_total_kb = 0; |
- uint32 blink_gc_total_kb = 0; |
- uint32 v8_total_kb = 0; |
-}; |
- |
-enum ProcessType { |
- OTHER, |
- BROWSER, |
- RENDERER, |
- GPU, |
- UTILITY, |
- PLUGIN |
-}; |
- |
-// This struct is used both for: |
-// 1) The internal communication between the memory service (Coordinator) and |
-// the client library (ProcessLocalDumpManager). |
-// 2) The public-facing API Coordinator::RequestGlobalMemoryDump(). |
-struct ProcessMemoryDump { |
- ProcessType process_type; |
- OSMemDump os_dump; |
- ChromeMemDump chrome_dump; |
- |
- // This is roughly private, anonymous, non-discardable, resident or swapped |
- // memory in kilobytes. For more details, see https://goo.gl/3kPb9S. |
- uint32 private_footprint = 0; |
- |
- // This is used only in the use-case (1) and only on Linux/CrOS to get |
- // around sandboxing. See crbug.com/461788 . |
- map<mojo.common.mojom.ProcessId, OSMemDump> extra_processes_dump; |
-}; |
- |
- |
-// This struct is returned by the public-facing API |
-// Coordinator::RequestGlobalMemoryDump(). |
-struct GlobalMemoryDump { |
- array<ProcessMemoryDump> process_dumps; |
-}; |
- |
-// This is the interface implemented by the client library. This allows a |
-// remote process to contribute to memory-infra dumps. There should be at |
-// most one instance of this per hosting process. |
-interface ProcessLocalDumpManager { |
- // When |success| == true the dump is appended in the process-local trace |
- // buffer of the target process and an ACK. A summary of the dump is also |
- // returned in case of success. |
- RequestProcessMemoryDump(RequestArgs args) => |
- (uint64 dump_guid, bool success, ProcessMemoryDump? process_memory_dump); |
-}; |
- |
-// The memory-infra service implements this interface. |
-interface Coordinator { |
- // Used to register a client library to obtain a process-local dump from it |
- // when RequestGlobalMemoryDump() is called. |
- RegisterProcessLocalDumpManager(ProcessLocalDumpManager local_manager); |
- |
- // Broadcasts a dump request to all registered client libraries, injects the |
- // dump in the trace buffer (if tracing is enabled) and returns a summarized |
- // dump back if args.dump_type == SUMMARY_ONLY. |
- RequestGlobalMemoryDump(RequestArgs args) => |
- (uint64 dump_guid, bool success, GlobalMemoryDump? global_memory_dump); |
-}; |