| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 | 5 |
| 6 #ifndef BASE_DEBUG_TRACE_EVENT_IMPL_H_ | 6 #ifndef BASE_DEBUG_TRACE_EVENT_IMPL_H_ |
| 7 #define BASE_DEBUG_TRACE_EVENT_IMPL_H_ | 7 #define BASE_DEBUG_TRACE_EVENT_IMPL_H_ |
| 8 | 8 |
| 9 #include <stack> | 9 #include <stack> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 310 Options trace_options() const { return trace_options_; } | 310 Options trace_options() const { return trace_options_; } |
| 311 | 311 |
| 312 // Enables tracing. See CategoryFilter comments for details | 312 // Enables tracing. See CategoryFilter comments for details |
| 313 // on how to control what categories will be traced. | 313 // on how to control what categories will be traced. |
| 314 void SetEnabled(const CategoryFilter& category_filter, Options options); | 314 void SetEnabled(const CategoryFilter& category_filter, Options options); |
| 315 | 315 |
| 316 // Disable tracing for all categories. | 316 // Disable tracing for all categories. |
| 317 void SetDisabled(); | 317 void SetDisabled(); |
| 318 bool IsEnabled() { return !!enable_count_; } | 318 bool IsEnabled() { return !!enable_count_; } |
| 319 | 319 |
| 320 // The number of times we have begun recording traces. If tracing is off, |
| 321 // returns -1. If tracing is on, then it returns the number of times we have |
| 322 // recorded a trace. By watching for this number to increment, you can |
| 323 // passively discover when a new trace has begun. This is then used to |
| 324 // implement the TRACE_EVENT_IS_NEW_TRACE() primitive. |
| 325 int GetNumTracesRecorded(); |
| 326 |
| 320 #if defined(OS_ANDROID) | 327 #if defined(OS_ANDROID) |
| 321 void StartATrace(); | 328 void StartATrace(); |
| 322 void StopATrace(); | 329 void StopATrace(); |
| 323 #endif | 330 #endif |
| 324 | 331 |
| 325 // Enabled state listeners give a callback when tracing is enabled or | 332 // Enabled state listeners give a callback when tracing is enabled or |
| 326 // disabled. This can be used to tie into other library's tracing systems | 333 // disabled. This can be used to tie into other library's tracing systems |
| 327 // on-demand. | 334 // on-demand. |
| 328 class EnabledStateChangedObserver { | 335 class EnabledStateChangedObserver { |
| 329 public: | 336 public: |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 517 static void ApplyATraceEnabledFlag(unsigned char* category_group_enabled); | 524 static void ApplyATraceEnabledFlag(unsigned char* category_group_enabled); |
| 518 #endif | 525 #endif |
| 519 | 526 |
| 520 TraceBuffer* GetTraceBuffer(); | 527 TraceBuffer* GetTraceBuffer(); |
| 521 | 528 |
| 522 // TODO(nduca): switch to per-thread trace buffers to reduce thread | 529 // TODO(nduca): switch to per-thread trace buffers to reduce thread |
| 523 // synchronization. | 530 // synchronization. |
| 524 // This lock protects TraceLog member accesses from arbitrary threads. | 531 // This lock protects TraceLog member accesses from arbitrary threads. |
| 525 Lock lock_; | 532 Lock lock_; |
| 526 int enable_count_; | 533 int enable_count_; |
| 534 int num_traces_recorded_; |
| 527 NotificationCallback notification_callback_; | 535 NotificationCallback notification_callback_; |
| 528 scoped_ptr<TraceBuffer> logged_events_; | 536 scoped_ptr<TraceBuffer> logged_events_; |
| 529 EventCallback event_callback_; | 537 EventCallback event_callback_; |
| 530 bool dispatching_to_observer_list_; | 538 bool dispatching_to_observer_list_; |
| 531 ObserverList<EnabledStateChangedObserver> enabled_state_observer_list_; | 539 ObserverList<EnabledStateChangedObserver> enabled_state_observer_list_; |
| 532 | 540 |
| 533 base::hash_map<int, std::string> thread_names_; | 541 base::hash_map<int, std::string> thread_names_; |
| 534 base::hash_map<int, std::stack<TimeTicks> > thread_event_start_times_; | 542 base::hash_map<int, std::stack<TimeTicks> > thread_event_start_times_; |
| 535 base::hash_map<std::string, int> thread_colors_; | 543 base::hash_map<std::string, int> thread_colors_; |
| 536 | 544 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 553 | 561 |
| 554 CategoryFilter category_filter_; | 562 CategoryFilter category_filter_; |
| 555 | 563 |
| 556 DISALLOW_COPY_AND_ASSIGN(TraceLog); | 564 DISALLOW_COPY_AND_ASSIGN(TraceLog); |
| 557 }; | 565 }; |
| 558 | 566 |
| 559 } // namespace debug | 567 } // namespace debug |
| 560 } // namespace base | 568 } // namespace base |
| 561 | 569 |
| 562 #endif // BASE_DEBUG_TRACE_EVENT_IMPL_H_ | 570 #endif // BASE_DEBUG_TRACE_EVENT_IMPL_H_ |
| OLD | NEW |