Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: base/trace_event/memory_dump_session_state.h

Issue 1467453003: [Tracing] Make heap profiler type info a string (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « base/trace_event/memory_dump_manager.cc ('k') | base/trace_event/memory_dump_session_state.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 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_MEMORY_DUMP_SESSION_STATE_H_ 5 #ifndef BASE_TRACE_EVENT_MEMORY_DUMP_SESSION_STATE_H_
6 #define BASE_TRACE_EVENT_MEMORY_DUMP_SESSION_STATE_H_ 6 #define BASE_TRACE_EVENT_MEMORY_DUMP_SESSION_STATE_H_
7 7
8 #include "base/base_export.h" 8 #include "base/base_export.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/trace_event/heap_profiler_stack_frame_deduplicator.h" 10 #include "base/trace_event/heap_profiler_stack_frame_deduplicator.h"
11 #include "base/trace_event/heap_profiler_type_name_deduplicator.h"
11 12
12 namespace base { 13 namespace base {
13 namespace trace_event { 14 namespace trace_event {
14 15
15 // Container for state variables that should be shared across all the memory 16 // Container for state variables that should be shared across all the memory
16 // dumps in a tracing session. 17 // dumps in a tracing session.
17 class BASE_EXPORT MemoryDumpSessionState 18 class BASE_EXPORT MemoryDumpSessionState
18 : public RefCountedThreadSafe<MemoryDumpSessionState> { 19 : public RefCountedThreadSafe<MemoryDumpSessionState> {
19 public: 20 public:
20 MemoryDumpSessionState( 21 MemoryDumpSessionState(
21 const scoped_refptr<StackFrameDeduplicator>& stack_frame_deduplicator); 22 const scoped_refptr<StackFrameDeduplicator>& stack_frame_deduplicator,
23 const scoped_refptr<TypeNameDeduplicator>& type_name_deduplicator);
22 24
23 // Returns the stack frame deduplicator that should be used by memory dump 25 // Returns the stack frame deduplicator that should be used by memory dump
24 // providers when doing a heap dump. 26 // providers when doing a heap dump.
25 StackFrameDeduplicator* stack_frame_deduplicator() { 27 StackFrameDeduplicator* stack_frame_deduplicator() {
26 return stack_frame_deduplicator_.get(); 28 return stack_frame_deduplicator_.get();
27 } 29 }
28 30
31 // Returns the type name deduplicator that should be used by memory dump
32 // providers when doing a heap dump.
33 TypeNameDeduplicator* type_name_deduplicator() {
34 return type_name_deduplicator_.get();
35 }
36
29 private: 37 private:
30 friend class RefCountedThreadSafe<MemoryDumpSessionState>; 38 friend class RefCountedThreadSafe<MemoryDumpSessionState>;
31 ~MemoryDumpSessionState(); 39 ~MemoryDumpSessionState();
32 40
33 // Deduplicates backtraces in heap dumps so they can be written once when the 41 // Deduplicates backtraces in heap dumps so they can be written once when the
34 // trace is finalized. 42 // trace is finalized.
35 scoped_refptr<StackFrameDeduplicator> stack_frame_deduplicator_; 43 scoped_refptr<StackFrameDeduplicator> stack_frame_deduplicator_;
44
45 // Deduplicates type names in heap dumps so they can be written once when the
46 // trace is finalized.
47 scoped_refptr<TypeNameDeduplicator> type_name_deduplicator_;
36 }; 48 };
37 49
38 } // namespace trace_event 50 } // namespace trace_event
39 } // namespace base 51 } // namespace base
40 52
41 #endif // BASE_TRACE_EVENT_MEMORY_DUMP_SESSION_STATE_H_ 53 #endif // BASE_TRACE_EVENT_MEMORY_DUMP_SESSION_STATE_H_
OLDNEW
« no previous file with comments | « base/trace_event/memory_dump_manager.cc ('k') | base/trace_event/memory_dump_session_state.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698