ssid | 9f8022f | 2015-10-12 17:49:03 | [diff] [blame] | 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 |
| 3 | // found in the LICENSE file. |
| 4 | |
ssid | 3be5b1ec | 2016-01-13 14:21:57 | [diff] [blame] | 5 | #ifndef SQL_SQL_MEMORY_DUMP_PROVIDER_H |
| 6 | #define SQL_SQL_MEMORY_DUMP_PROVIDER_H |
ssid | 9f8022f | 2015-10-12 17:49:03 | [diff] [blame] | 7 | |
Victor Costan | e56cc68 | 2018-12-27 01:53:46 | [diff] [blame] | 8 | #include "base/component_export.h" |
avi | 0b51920 | 2015-12-21 07:25:19 | [diff] [blame] | 9 | #include "base/macros.h" |
ssid | 9f8022f | 2015-10-12 17:49:03 | [diff] [blame] | 10 | #include "base/memory/singleton.h" |
| 11 | #include "base/trace_event/memory_dump_provider.h" |
ssid | 9f8022f | 2015-10-12 17:49:03 | [diff] [blame] | 12 | |
| 13 | namespace sql { |
| 14 | |
| 15 | // Adds process-wide memory usage statistics about sqlite to chrome://tracing. |
Victor Costan | cfbfa60 | 2018-08-01 23:24:46 | [diff] [blame] | 16 | // sql::Database::OnMemoryDump adds per-connection memory statistics. |
Victor Costan | e56cc68 | 2018-12-27 01:53:46 | [diff] [blame] | 17 | class COMPONENT_EXPORT(SQL) SqlMemoryDumpProvider |
ssid | 9f8022f | 2015-10-12 17:49:03 | [diff] [blame] | 18 | : public base::trace_event::MemoryDumpProvider { |
| 19 | public: |
| 20 | static SqlMemoryDumpProvider* GetInstance(); |
| 21 | |
| 22 | // MemoryDumpProvider implementation. |
| 23 | bool OnMemoryDump(const base::trace_event::MemoryDumpArgs& args, |
| 24 | base::trace_event::ProcessMemoryDump* pmd) override; |
| 25 | |
| 26 | private: |
| 27 | friend struct base::DefaultSingletonTraits<SqlMemoryDumpProvider>; |
| 28 | |
| 29 | SqlMemoryDumpProvider(); |
| 30 | ~SqlMemoryDumpProvider() override; |
| 31 | |
| 32 | DISALLOW_COPY_AND_ASSIGN(SqlMemoryDumpProvider); |
| 33 | }; |
| 34 | |
| 35 | } // namespace sql |
| 36 | |
ssid | 3be5b1ec | 2016-01-13 14:21:57 | [diff] [blame] | 37 | #endif // SQL_SQL_MEMORY_DUMP_PROVIDER_H |