Index: gin/v8_isolate_memory_dump_provider.h |
diff --git a/gin/v8_isolate_memory_dump_provider.h b/gin/v8_isolate_memory_dump_provider.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..770c0abea25e54876e8500a576da5880ce69b4bd |
--- /dev/null |
+++ b/gin/v8_isolate_memory_dump_provider.h |
@@ -0,0 +1,35 @@ |
+// 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. |
+ |
+#ifndef GIN_V8_ISOLATE_MEMORY_DUMP_PROVIDER_H_ |
+#define GIN_V8_ISOLATE_MEMORY_DUMP_PROVIDER_H_ |
+ |
+#include "base/trace_event/memory_dump_provider.h" |
+#include "gin/gin_export.h" |
+ |
+namespace gin { |
+ |
+class IsolateHolder; |
+ |
+// Memory dump provider for the chrome://tracing infrastructure. It dumps |
+// summarized memory stats about the V8 Isolates. |
+class V8IsolateMemoryDumpProvider |
+ : public base::trace_event::MemoryDumpProvider { |
+ public: |
+ V8IsolateMemoryDumpProvider(IsolateHolder* isolate_holder); |
+ ~V8IsolateMemoryDumpProvider() override; |
+ |
+ // MemoryDumpProvider implementation. |
+ bool DumpInto(base::trace_event::ProcessMemoryDump* pmd) override; |
+ const char* GetFriendlyName() const override; |
+ |
+ private: |
+ IsolateHolder* isolate_holder_; // Not owned. |
+ |
+ DISALLOW_COPY_AND_ASSIGN(V8IsolateMemoryDumpProvider); |
+}; |
+ |
+} // namespace gin |
+ |
+#endif // GIN_V8_ISOLATE_MEMORY_DUMP_PROVIDER_H_ |