| 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 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 488 virtual void OnTraceLogEnabled() = 0; | 488 virtual void OnTraceLogEnabled() = 0; |
| 489 | 489 |
| 490 // Called just after the tracing system disables, outside of the |lock_|. | 490 // Called just after the tracing system disables, outside of the |lock_|. |
| 491 // TraceLog::IsEnabled() is false at this point. | 491 // TraceLog::IsEnabled() is false at this point. |
| 492 virtual void OnTraceLogDisabled() = 0; | 492 virtual void OnTraceLogDisabled() = 0; |
| 493 }; | 493 }; |
| 494 void AddEnabledStateObserver(EnabledStateObserver* listener); | 494 void AddEnabledStateObserver(EnabledStateObserver* listener); |
| 495 void RemoveEnabledStateObserver(EnabledStateObserver* listener); | 495 void RemoveEnabledStateObserver(EnabledStateObserver* listener); |
| 496 bool HasEnabledStateObserver(EnabledStateObserver* listener) const; | 496 bool HasEnabledStateObserver(EnabledStateObserver* listener) const; |
| 497 | 497 |
| 498 float GetBufferPercentFull() const; | 498 struct BufferUsage { |
| 499 float percent_full; |
| 500 size_t approximate_event_count; |
| 501 }; |
| 502 BufferUsage GetBufferUsage() const; |
| 499 bool BufferIsFull() const; | 503 bool BufferIsFull() const; |
| 500 | 504 |
| 501 // Not using base::Callback because of its limited by 7 parameters. | 505 // Not using base::Callback because of its limited by 7 parameters. |
| 502 // Also, using primitive type allows directly passing callback from WebCore. | 506 // Also, using primitive type allows directly passing callback from WebCore. |
| 503 // WARNING: It is possible for the previously set callback to be called | 507 // WARNING: It is possible for the previously set callback to be called |
| 504 // after a call to SetEventCallbackEnabled() that replaces or a call to | 508 // after a call to SetEventCallbackEnabled() that replaces or a call to |
| 505 // SetEventCallbackDisabled() that disables the callback. | 509 // SetEventCallbackDisabled() that disables the callback. |
| 506 // This callback may be invoked on any thread. | 510 // This callback may be invoked on any thread. |
| 507 // For TRACE_EVENT_PHASE_COMPLETE events, the client will still receive pairs | 511 // For TRACE_EVENT_PHASE_COMPLETE events, the client will still receive pairs |
| 508 // of TRACE_EVENT_PHASE_BEGIN and TRACE_EVENT_PHASE_END events to keep the | 512 // of TRACE_EVENT_PHASE_BEGIN and TRACE_EVENT_PHASE_END events to keep the |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 596 int process_id() const { return process_id_; } | 600 int process_id() const { return process_id_; } |
| 597 | 601 |
| 598 // Exposed for unittesting: | 602 // Exposed for unittesting: |
| 599 | 603 |
| 600 void WaitSamplingEventForTesting(); | 604 void WaitSamplingEventForTesting(); |
| 601 | 605 |
| 602 // Allows deleting our singleton instance. | 606 // Allows deleting our singleton instance. |
| 603 static void DeleteForTesting(); | 607 static void DeleteForTesting(); |
| 604 | 608 |
| 605 // Allow tests to inspect TraceEvents. | 609 // Allow tests to inspect TraceEvents. |
| 606 size_t GetEventsSize() const { return logged_events_->Size(); } | |
| 607 TraceEvent* GetEventByHandle(TraceEventHandle handle); | 610 TraceEvent* GetEventByHandle(TraceEventHandle handle); |
| 608 | 611 |
| 609 void SetProcessID(int process_id); | 612 void SetProcessID(int process_id); |
| 610 | 613 |
| 611 // Process sort indices, if set, override the order of a process will appear | 614 // Process sort indices, if set, override the order of a process will appear |
| 612 // relative to other processes in the trace viewer. Processes are sorted first | 615 // relative to other processes in the trace viewer. Processes are sorted first |
| 613 // on their sort index, ascending, then by their name, and then tid. | 616 // on their sort index, ascending, then by their name, and then tid. |
| 614 void SetProcessSortIndex(int sort_index); | 617 void SetProcessSortIndex(int sort_index); |
| 615 | 618 |
| 616 // Sets the name of the process. | 619 // Sets the name of the process. |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 799 scoped_refptr<MessageLoopProxy> flush_message_loop_proxy_; | 802 scoped_refptr<MessageLoopProxy> flush_message_loop_proxy_; |
| 800 subtle::AtomicWord generation_; | 803 subtle::AtomicWord generation_; |
| 801 | 804 |
| 802 DISALLOW_COPY_AND_ASSIGN(TraceLog); | 805 DISALLOW_COPY_AND_ASSIGN(TraceLog); |
| 803 }; | 806 }; |
| 804 | 807 |
| 805 } // namespace debug | 808 } // namespace debug |
| 806 } // namespace base | 809 } // namespace base |
| 807 | 810 |
| 808 #endif // BASE_DEBUG_TRACE_EVENT_IMPL_H_ | 811 #endif // BASE_DEBUG_TRACE_EVENT_IMPL_H_ |
| OLD | NEW |