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

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

Issue 2406703002: tracing: remove sampling state profiler (Closed)
Patch Set: . Created 4 years, 2 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
« no previous file with comments | « base/trace_event/trace_event_unittest.cc ('k') | base/trace_event/trace_log.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_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 16 matching lines...) Expand all
27 template <typename Type> 27 template <typename Type>
28 struct DefaultSingletonTraits; 28 struct DefaultSingletonTraits;
29 class RefCountedString; 29 class RefCountedString;
30 30
31 namespace trace_event { 31 namespace trace_event {
32 32
33 class TraceBuffer; 33 class TraceBuffer;
34 class TraceBufferChunk; 34 class TraceBufferChunk;
35 class TraceEvent; 35 class TraceEvent;
36 class TraceEventMemoryOverhead; 36 class TraceEventMemoryOverhead;
37 class TraceSamplingThread;
38 37
39 struct BASE_EXPORT TraceLogStatus { 38 struct BASE_EXPORT TraceLogStatus {
40 TraceLogStatus(); 39 TraceLogStatus();
41 ~TraceLogStatus(); 40 ~TraceLogStatus();
42 uint32_t event_capacity; 41 uint32_t event_capacity;
43 uint32_t event_count; 42 uint32_t event_count;
44 }; 43 };
45 44
46 class BASE_EXPORT TraceLog : public MemoryDumpProvider { 45 class BASE_EXPORT TraceLog : public MemoryDumpProvider {
47 public: 46 public:
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 // Cancel the watch event. If tracing is enabled, this may race with the 299 // Cancel the watch event. If tracing is enabled, this may race with the
301 // watch event notification firing. 300 // watch event notification firing.
302 void CancelWatchEvent(); 301 void CancelWatchEvent();
303 302
304 int process_id() const { return process_id_; } 303 int process_id() const { return process_id_; }
305 304
306 uint64_t MangleEventId(uint64_t id); 305 uint64_t MangleEventId(uint64_t id);
307 306
308 // Exposed for unittesting: 307 // Exposed for unittesting:
309 308
310 void WaitSamplingEventForTesting();
311
312 // Allows deleting our singleton instance. 309 // Allows deleting our singleton instance.
313 static void DeleteForTesting(); 310 static void DeleteForTesting();
314 311
315 class BASE_EXPORT TraceEventFilter { 312 class BASE_EXPORT TraceEventFilter {
316 public: 313 public:
317 static const char* const kEventWhitelistPredicate; 314 static const char* const kEventWhitelistPredicate;
318 static const char* const kHeapProfilerPredicate; 315 static const char* const kHeapProfilerPredicate;
319 316
320 TraceEventFilter() {} 317 TraceEventFilter() {}
321 virtual ~TraceEventFilter() {} 318 virtual ~TraceEventFilter() {}
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 TimeTicks OffsetTimestamp(const TimeTicks& timestamp) const { 465 TimeTicks OffsetTimestamp(const TimeTicks& timestamp) const {
469 return timestamp - time_offset_; 466 return timestamp - time_offset_;
470 } 467 }
471 468
472 // Internal representation of trace options since we store the currently used 469 // Internal representation of trace options since we store the currently used
473 // trace option as an AtomicWord. 470 // trace option as an AtomicWord.
474 static const InternalTraceOptions kInternalNone; 471 static const InternalTraceOptions kInternalNone;
475 static const InternalTraceOptions kInternalRecordUntilFull; 472 static const InternalTraceOptions kInternalRecordUntilFull;
476 static const InternalTraceOptions kInternalRecordContinuously; 473 static const InternalTraceOptions kInternalRecordContinuously;
477 static const InternalTraceOptions kInternalEchoToConsole; 474 static const InternalTraceOptions kInternalEchoToConsole;
478 static const InternalTraceOptions kInternalEnableSampling;
479 static const InternalTraceOptions kInternalRecordAsMuchAsPossible; 475 static const InternalTraceOptions kInternalRecordAsMuchAsPossible;
480 static const InternalTraceOptions kInternalEnableArgumentFilter; 476 static const InternalTraceOptions kInternalEnableArgumentFilter;
481 477
482 // This lock protects TraceLog member accesses (except for members protected 478 // This lock protects TraceLog member accesses (except for members protected
483 // by thread_info_lock_) from arbitrary threads. 479 // by thread_info_lock_) from arbitrary threads.
484 mutable Lock lock_; 480 mutable Lock lock_;
485 // This lock protects accesses to thread_names_, thread_event_start_times_ 481 // This lock protects accesses to thread_names_, thread_event_start_times_
486 // and thread_colors_. 482 // and thread_colors_.
487 Lock thread_info_lock_; 483 Lock thread_info_lock_;
488 Mode mode_; 484 Mode mode_;
(...skipping 25 matching lines...) Expand all
514 510
515 TimeDelta time_offset_; 511 TimeDelta time_offset_;
516 512
517 // Allow tests to wake up when certain events occur. 513 // Allow tests to wake up when certain events occur.
518 WatchEventCallback watch_event_callback_; 514 WatchEventCallback watch_event_callback_;
519 subtle::AtomicWord /* const unsigned char* */ watch_category_; 515 subtle::AtomicWord /* const unsigned char* */ watch_category_;
520 std::string watch_event_name_; 516 std::string watch_event_name_;
521 517
522 subtle::AtomicWord /* Options */ trace_options_; 518 subtle::AtomicWord /* Options */ trace_options_;
523 519
524 // Sampling thread handles.
525 std::unique_ptr<TraceSamplingThread> sampling_thread_;
526 PlatformThreadHandle sampling_thread_handle_;
527
528 TraceConfig trace_config_; 520 TraceConfig trace_config_;
529 TraceConfig event_callback_trace_config_; 521 TraceConfig event_callback_trace_config_;
530 522
531 ThreadLocalPointer<ThreadLocalEventBuffer> thread_local_event_buffer_; 523 ThreadLocalPointer<ThreadLocalEventBuffer> thread_local_event_buffer_;
532 ThreadLocalBoolean thread_blocks_message_loop_; 524 ThreadLocalBoolean thread_blocks_message_loop_;
533 ThreadLocalBoolean thread_is_in_trace_event_; 525 ThreadLocalBoolean thread_is_in_trace_event_;
534 526
535 // Contains the message loops of threads that have had at least one event 527 // Contains the message loops of threads that have had at least one event
536 // added into the local event buffer. Not using SingleThreadTaskRunner 528 // added into the local event buffer. Not using SingleThreadTaskRunner
537 // because we need to know the life time of the message loops. 529 // because we need to know the life time of the message loops.
(...skipping 11 matching lines...) Expand all
549 subtle::AtomicWord generation_; 541 subtle::AtomicWord generation_;
550 bool use_worker_thread_; 542 bool use_worker_thread_;
551 543
552 DISALLOW_COPY_AND_ASSIGN(TraceLog); 544 DISALLOW_COPY_AND_ASSIGN(TraceLog);
553 }; 545 };
554 546
555 } // namespace trace_event 547 } // namespace trace_event
556 } // namespace base 548 } // namespace base
557 549
558 #endif // BASE_TRACE_EVENT_TRACE_LOG_H_ 550 #endif // BASE_TRACE_EVENT_TRACE_LOG_H_
OLDNEW
« no previous file with comments | « base/trace_event/trace_event_unittest.cc ('k') | base/trace_event/trace_log.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698