| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef BASE_TRACE_EVENT_TRACE_EVENT_MEMORY_H_ | 5 #ifndef BASE_TRACE_EVENT_TRACE_EVENT_MEMORY_H_ |
| 6 #define BASE_TRACE_EVENT_TRACE_EVENT_MEMORY_H_ | 6 #define BASE_TRACE_EVENT_TRACE_EVENT_MEMORY_H_ |
| 7 | 7 |
| 8 #include "base/base_export.h" | 8 #include "base/base_export.h" |
| 9 #include "base/gtest_prod_util.h" | 9 #include "base/gtest_prod_util.h" |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 // Ensures the observer starts and stops tracing on the primary thread. | 66 // Ensures the observer starts and stops tracing on the primary thread. |
| 67 scoped_refptr<SingleThreadTaskRunner> task_runner_; | 67 scoped_refptr<SingleThreadTaskRunner> task_runner_; |
| 68 | 68 |
| 69 // Pointers to tcmalloc heap profiling functions. Allows this class to use | 69 // Pointers to tcmalloc heap profiling functions. Allows this class to use |
| 70 // tcmalloc functions without introducing a dependency from base to tcmalloc. | 70 // tcmalloc functions without introducing a dependency from base to tcmalloc. |
| 71 HeapProfilerStartFunction heap_profiler_start_function_; | 71 HeapProfilerStartFunction heap_profiler_start_function_; |
| 72 HeapProfilerStopFunction heap_profiler_stop_function_; | 72 HeapProfilerStopFunction heap_profiler_stop_function_; |
| 73 GetHeapProfileFunction get_heap_profile_function_; | 73 GetHeapProfileFunction get_heap_profile_function_; |
| 74 | 74 |
| 75 // Timer to schedule memory profile dumps. | 75 // Timer to schedule memory profile dumps. |
| 76 RepeatingTimer<TraceMemoryController> dump_timer_; | 76 RepeatingTimer dump_timer_; |
| 77 | 77 |
| 78 WeakPtrFactory<TraceMemoryController> weak_factory_; | 78 WeakPtrFactory<TraceMemoryController> weak_factory_; |
| 79 | 79 |
| 80 DISALLOW_COPY_AND_ASSIGN(TraceMemoryController); | 80 DISALLOW_COPY_AND_ASSIGN(TraceMemoryController); |
| 81 }; | 81 }; |
| 82 | 82 |
| 83 ////////////////////////////////////////////////////////////////////////////// | 83 ////////////////////////////////////////////////////////////////////////////// |
| 84 | 84 |
| 85 // A scoped context for memory tracing. Pushes the name onto a stack for | 85 // A scoped context for memory tracing. Pushes the name onto a stack for |
| 86 // recording by tcmalloc heap profiling. | 86 // recording by tcmalloc heap profiling. |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 162 #else | 162 #else |
| 163 #define INTERNAL_TRACE_MEMORY(category, name) | 163 #define INTERNAL_TRACE_MEMORY(category, name) |
| 164 #endif // defined(TRACE_MEMORY_SUPPORTED) | 164 #endif // defined(TRACE_MEMORY_SUPPORTED) |
| 165 | 165 |
| 166 // A special trace name that allows us to ignore memory allocations inside | 166 // A special trace name that allows us to ignore memory allocations inside |
| 167 // the memory dump system itself. The allocations are recorded, but the | 167 // the memory dump system itself. The allocations are recorded, but the |
| 168 // visualizer skips them. Must match the value in heap.js. | 168 // visualizer skips them. Must match the value in heap.js. |
| 169 #define TRACE_MEMORY_IGNORE "trace-memory-ignore" | 169 #define TRACE_MEMORY_IGNORE "trace-memory-ignore" |
| 170 | 170 |
| 171 #endif // BASE_TRACE_EVENT_TRACE_EVENT_MEMORY_H_ | 171 #endif // BASE_TRACE_EVENT_TRACE_EVENT_MEMORY_H_ |
| OLD | NEW |