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

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

Issue 8915024: Retry 114494 - Remove BindStateHolder and have Bind() return a Callback<> object directly." (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 9 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 | Annotate | Revision Log
« no previous file with comments | « base/cancelable_callback.h ('k') | base/debug/trace_event.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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // Trace events are for tracking application performance and resource usage. 5 // Trace events are for tracking application performance and resource usage.
6 // Macros are provided to track: 6 // Macros are provided to track:
7 // Begin and end of function calls 7 // Begin and end of function calls
8 // Counters 8 // Counters
9 // 9 //
10 // Events are issued against categories. Whereas LOG's 10 // Events are issued against categories. Whereas LOG's
(...skipping 771 matching lines...) Expand 10 before | Expand all | Expand 10 after
782 std::string json_output; 782 std::string json_output;
783 }; 783 };
784 784
785 TraceResultBuffer(); 785 TraceResultBuffer();
786 ~TraceResultBuffer(); 786 ~TraceResultBuffer();
787 787
788 // Set callback. The callback will be called during Start with the initial 788 // Set callback. The callback will be called during Start with the initial
789 // JSON output and during AddFragment and Finish with following JSON output 789 // JSON output and during AddFragment and Finish with following JSON output
790 // chunks. The callback target must live past the last calls to 790 // chunks. The callback target must live past the last calls to
791 // TraceResultBuffer::Start/AddFragment/Finish. 791 // TraceResultBuffer::Start/AddFragment/Finish.
792 void SetOutputCallback(OutputCallback json_chunk_callback); 792 void SetOutputCallback(const OutputCallback& json_chunk_callback);
793 793
794 // Start JSON output. This resets all internal state, so you can reuse 794 // Start JSON output. This resets all internal state, so you can reuse
795 // the TraceResultBuffer by calling Start. 795 // the TraceResultBuffer by calling Start.
796 void Start(); 796 void Start();
797 797
798 // Call AddFragment 0 or more times to add trace fragments from TraceLog. 798 // Call AddFragment 0 or more times to add trace fragments from TraceLog.
799 void AddFragment(const std::string& trace_fragment); 799 void AddFragment(const std::string& trace_fragment);
800 800
801 // When all fragments have been added, call Finish to complete the JSON 801 // When all fragments have been added, call Finish to complete the JSON
802 // formatted output. 802 // formatted output.
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
849 bool IsEnabled() { return enabled_; } 849 bool IsEnabled() { return enabled_; }
850 850
851 float GetBufferPercentFull() const; 851 float GetBufferPercentFull() const;
852 852
853 // When enough events are collected, they are handed (in bulk) to 853 // When enough events are collected, they are handed (in bulk) to
854 // the output callback. If no callback is set, the output will be 854 // the output callback. If no callback is set, the output will be
855 // silently dropped. The callback must be thread safe. The string format is 855 // silently dropped. The callback must be thread safe. The string format is
856 // undefined. Use TraceResultBuffer to convert one or more trace strings to 856 // undefined. Use TraceResultBuffer to convert one or more trace strings to
857 // JSON. 857 // JSON.
858 typedef RefCountedData<std::string> RefCountedString; 858 typedef RefCountedData<std::string> RefCountedString;
859 typedef base::Callback<void(scoped_refptr<RefCountedString>)> OutputCallback; 859 typedef base::Callback<void(const scoped_refptr<RefCountedString>&)>
860 OutputCallback;
860 void SetOutputCallback(const OutputCallback& cb); 861 void SetOutputCallback(const OutputCallback& cb);
861 862
862 // The trace buffer does not flush dynamically, so when it fills up, 863 // The trace buffer does not flush dynamically, so when it fills up,
863 // subsequent trace events will be dropped. This callback is generated when 864 // subsequent trace events will be dropped. This callback is generated when
864 // the trace buffer is full. The callback must be thread safe. 865 // the trace buffer is full. The callback must be thread safe.
865 typedef base::Callback<void(void)> BufferFullCallback; 866 typedef base::Callback<void(void)> BufferFullCallback;
866 void SetBufferFullCallback(const BufferFullCallback& cb); 867 void SetBufferFullCallback(const BufferFullCallback& cb);
867 868
868 // Flushes all logged data to the callback. 869 // Flushes all logged data to the callback.
869 void Flush(); 870 void Flush();
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
1027 Data* p_data_; 1028 Data* p_data_;
1028 Data data_; 1029 Data data_;
1029 }; 1030 };
1030 1031
1031 } // namespace internal 1032 } // namespace internal
1032 1033
1033 } // namespace debug 1034 } // namespace debug
1034 } // namespace base 1035 } // namespace base
1035 1036
1036 #endif // BASE_DEBUG_TRACE_EVENT_H_ 1037 #endif // BASE_DEBUG_TRACE_EVENT_H_
OLDNEW
« no previous file with comments | « base/cancelable_callback.h ('k') | base/debug/trace_event.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698