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

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

Issue 2820433005: memory-infra: Start disentangling tracing from memory-infra (Closed)
Patch Set: Created 3 years, 8 months 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
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_TRACE_LOG_H_ 5 #ifndef BASE_TRACE_EVENT_TRACE_LOG_H_
6 #define BASE_TRACE_EVENT_TRACE_LOG_H_ 6 #define BASE_TRACE_EVENT_TRACE_LOG_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 // TODO(ssid): Remove the default SetEnabled and IsEnabled. They should take 83 // TODO(ssid): Remove the default SetEnabled and IsEnabled. They should take
84 // Mode as argument. 84 // Mode as argument.
85 85
86 // Disables tracing for all categories for the specified |modes_to_disable| 86 // Disables tracing for all categories for the specified |modes_to_disable|
87 // only. Only RECORDING_MODE is taken as default |modes_to_disable|. 87 // only. Only RECORDING_MODE is taken as default |modes_to_disable|.
88 void SetDisabled(); 88 void SetDisabled();
89 void SetDisabled(uint8_t modes_to_disable); 89 void SetDisabled(uint8_t modes_to_disable);
90 90
91 // Returns true if TraceLog is enabled on recording mode. 91 // Returns true if TraceLog is enabled on recording mode.
92 // Note: Returns false even if FILTERING_MODE is enabled. 92 // Note: Returns false even if FILTERING_MODE is enabled.
93 bool IsEnabled() { return enabled_modes_ & RECORDING_MODE; } 93 virtual bool IsEnabled();
hjd 2017/04/13 14:16:59 So I can mock.
94 94
95 // Returns a bitmap of enabled modes from TraceLog::Mode. 95 // Returns a bitmap of enabled modes from TraceLog::Mode.
96 uint8_t enabled_modes() { return enabled_modes_; } 96 uint8_t enabled_modes() { return enabled_modes_; }
97 97
98 // The number of times we have begun recording traces. If tracing is off, 98 // The number of times we have begun recording traces. If tracing is off,
99 // returns -1. If tracing is on, then it returns the number of times we have 99 // returns -1. If tracing is on, then it returns the number of times we have
100 // recorded a trace. By watching for this number to increment, you can 100 // recorded a trace. By watching for this number to increment, you can
101 // passively discover when a new trace has begun. This is then used to 101 // passively discover when a new trace has begun. This is then used to
102 // implement the TRACE_EVENT_IS_NEW_TRACE() primitive. 102 // implement the TRACE_EVENT_IS_NEW_TRACE() primitive.
103 int GetNumTracesRecorded(); 103 int GetNumTracesRecorded();
(...skipping 12 matching lines...) Expand all
116 virtual ~EnabledStateObserver() = default; 116 virtual ~EnabledStateObserver() = default;
117 117
118 // Called just after the tracing system becomes enabled, outside of the 118 // Called just after the tracing system becomes enabled, outside of the
119 // |lock_|. TraceLog::IsEnabled() is true at this point. 119 // |lock_|. TraceLog::IsEnabled() is true at this point.
120 virtual void OnTraceLogEnabled() = 0; 120 virtual void OnTraceLogEnabled() = 0;
121 121
122 // Called just after the tracing system disables, outside of the |lock_|. 122 // Called just after the tracing system disables, outside of the |lock_|.
123 // TraceLog::IsEnabled() is false at this point. 123 // TraceLog::IsEnabled() is false at this point.
124 virtual void OnTraceLogDisabled() = 0; 124 virtual void OnTraceLogDisabled() = 0;
125 }; 125 };
126 void AddEnabledStateObserver(EnabledStateObserver* listener); 126 virtual void AddEnabledStateObserver(EnabledStateObserver* listener);
127 void RemoveEnabledStateObserver(EnabledStateObserver* listener); 127 virtual void RemoveEnabledStateObserver(EnabledStateObserver* listener);
hjd 2017/04/13 14:16:59 So I can mock.
128 bool HasEnabledStateObserver(EnabledStateObserver* listener) const; 128 bool HasEnabledStateObserver(EnabledStateObserver* listener) const;
129 129
130 // Asynchronous enabled state listeners. When tracing is enabled or disabled, 130 // Asynchronous enabled state listeners. When tracing is enabled or disabled,
131 // for each observer, a task for invoking its appropriate callback is posted 131 // for each observer, a task for invoking its appropriate callback is posted
132 // to the thread from which AddAsyncEnabledStateObserver() was called. This 132 // to the thread from which AddAsyncEnabledStateObserver() was called. This
133 // allows the observer to be safely destroyed, provided that it happens on the 133 // allows the observer to be safely destroyed, provided that it happens on the
134 // same thread that invoked AddAsyncEnabledStateObserver(). 134 // same thread that invoked AddAsyncEnabledStateObserver().
135 class BASE_EXPORT AsyncEnabledStateObserver { 135 class BASE_EXPORT AsyncEnabledStateObserver {
136 public: 136 public:
137 virtual ~AsyncEnabledStateObserver() = default; 137 virtual ~AsyncEnabledStateObserver() = default;
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 TraceBufferRingBufferGetReturnChunk); 338 TraceBufferRingBufferGetReturnChunk);
339 FRIEND_TEST_ALL_PREFIXES(TraceEventTestFixture, 339 FRIEND_TEST_ALL_PREFIXES(TraceEventTestFixture,
340 TraceBufferRingBufferHalfIteration); 340 TraceBufferRingBufferHalfIteration);
341 FRIEND_TEST_ALL_PREFIXES(TraceEventTestFixture, 341 FRIEND_TEST_ALL_PREFIXES(TraceEventTestFixture,
342 TraceBufferRingBufferFullIteration); 342 TraceBufferRingBufferFullIteration);
343 FRIEND_TEST_ALL_PREFIXES(TraceEventTestFixture, TraceBufferVectorReportFull); 343 FRIEND_TEST_ALL_PREFIXES(TraceEventTestFixture, TraceBufferVectorReportFull);
344 FRIEND_TEST_ALL_PREFIXES(TraceEventTestFixture, 344 FRIEND_TEST_ALL_PREFIXES(TraceEventTestFixture,
345 ConvertTraceConfigToInternalOptions); 345 ConvertTraceConfigToInternalOptions);
346 FRIEND_TEST_ALL_PREFIXES(TraceEventTestFixture, 346 FRIEND_TEST_ALL_PREFIXES(TraceEventTestFixture,
347 TraceRecordAsMuchAsPossibleMode); 347 TraceRecordAsMuchAsPossibleMode);
348 friend class MockTraceLog;
348 349
349 // This allows constructor and destructor to be private and usable only 350 // This allows constructor and destructor to be private and usable only
350 // by the Singleton class. 351 // by the Singleton class.
351 friend struct DefaultSingletonTraits<TraceLog>; 352 friend struct DefaultSingletonTraits<TraceLog>;
352 353
353 // MemoryDumpProvider implementation. 354 // MemoryDumpProvider implementation.
354 bool OnMemoryDump(const MemoryDumpArgs& args, 355 bool OnMemoryDump(const MemoryDumpArgs& args,
355 ProcessMemoryDump* pmd) override; 356 ProcessMemoryDump* pmd) override;
356 357
357 // Enable/disable each category group based on the current mode_, 358 // Enable/disable each category group based on the current mode_,
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 499
499 FilterFactoryForTesting filter_factory_for_testing_; 500 FilterFactoryForTesting filter_factory_for_testing_;
500 501
501 DISALLOW_COPY_AND_ASSIGN(TraceLog); 502 DISALLOW_COPY_AND_ASSIGN(TraceLog);
502 }; 503 };
503 504
504 } // namespace trace_event 505 } // namespace trace_event
505 } // namespace base 506 } // namespace base
506 507
507 #endif // BASE_TRACE_EVENT_TRACE_LOG_H_ 508 #endif // BASE_TRACE_EVENT_TRACE_LOG_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698