java_heap_dump_provider_android.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  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. #ifndef BASE_TRACE_EVENT_JAVA_HEAP_DUMP_PROVIDER_ANDROID_H_
  5. #define BASE_TRACE_EVENT_JAVA_HEAP_DUMP_PROVIDER_ANDROID_H_
  6. #include "base/memory/singleton.h"
  7. #include "base/trace_event/memory_dump_provider.h"
  8. namespace base {
  9. namespace trace_event {
  10. // Dump provider which collects process-wide memory stats.
  11. class BASE_EXPORT JavaHeapDumpProvider : public MemoryDumpProvider {
  12. public:
  13. static JavaHeapDumpProvider* GetInstance();
  14. JavaHeapDumpProvider(const JavaHeapDumpProvider&) = delete;
  15. JavaHeapDumpProvider& operator=(const JavaHeapDumpProvider&) = delete;
  16. // MemoryDumpProvider implementation.
  17. bool OnMemoryDump(const MemoryDumpArgs& args,
  18. ProcessMemoryDump* pmd) override;
  19. private:
  20. friend struct DefaultSingletonTraits<JavaHeapDumpProvider>;
  21. JavaHeapDumpProvider() = default;
  22. ~JavaHeapDumpProvider() override = default;
  23. };
  24. } // namespace trace_event
  25. } // namespace base
  26. #endif // BASE_TRACE_EVENT_JAVA_HEAP_DUMP_PROVIDER_ANDROID_H_