diff --git a/webrtc/system_wrappers/interface/event_tracer.h b/webrtc/system_wrappers/interface/event_tracer.h index 375792547..80f0fa77d 100644 --- a/webrtc/system_wrappers/interface/event_tracer.h +++ b/webrtc/system_wrappers/interface/event_tracer.h @@ -31,17 +31,15 @@ namespace webrtc { typedef const unsigned char* (*GetCategoryEnabledPtr)(const char* name); -typedef int (*AddTraceEventPtr)(char phase, - const unsigned char* category_enabled, - const char* name, - unsigned long long id, - int num_args, - const char** arg_names, - const unsigned char* arg_types, - const unsigned long long* arg_values, - int threshold_begin_id, - long long threshold, - unsigned char flags); +typedef void (*AddTraceEventPtr)(char phase, + const unsigned char* category_enabled, + const char* name, + unsigned long long id, + int num_args, + const char** arg_names, + const unsigned char* arg_types, + const unsigned long long* arg_values, + unsigned char flags); // User of WebRTC can call this method to setup event tracing. // @@ -58,7 +56,7 @@ class EventTracer { static const unsigned char* GetCategoryEnabled( const char* name); - static int AddTraceEvent( + static void AddTraceEvent( char phase, const unsigned char* category_enabled, const char* name, @@ -67,8 +65,6 @@ class EventTracer { const char** arg_names, const unsigned char* arg_types, const unsigned long long* arg_values, - int threshold_begin_id, - long long threshold, unsigned char flags); }; diff --git a/webrtc/system_wrappers/interface/trace_event.h b/webrtc/system_wrappers/interface/trace_event.h index eecf4f6e9..23b16c794 100644 --- a/webrtc/system_wrappers/interface/trace_event.h +++ b/webrtc/system_wrappers/interface/trace_event.h @@ -277,25 +277,6 @@ category, name, TRACE_EVENT_FLAG_COPY, arg1_name, arg1_val, \ arg2_name, arg2_val) -// Time threshold event: -// Only record the event if the duration is greater than the specified -// threshold_us (time in microseconds). -// Records a pair of begin and end events called "name" for the current -// scope, with 0, 1 or 2 associated arguments. If the category is not -// enabled, then this does nothing. -// - category and name strings must have application lifetime (statics or -// literals). They may not include " chars. -#define TRACE_EVENT_IF_LONGER_THAN0(threshold_us, category, name) \ - INTERNAL_TRACE_EVENT_ADD_SCOPED_IF_LONGER_THAN(threshold_us, category, name) -#define TRACE_EVENT_IF_LONGER_THAN1( \ - threshold_us, category, name, arg1_name, arg1_val) \ - INTERNAL_TRACE_EVENT_ADD_SCOPED_IF_LONGER_THAN( \ - threshold_us, category, name, arg1_name, arg1_val) -#define TRACE_EVENT_IF_LONGER_THAN2( \ - threshold_us, category, name, arg1_name, arg1_val, arg2_name, arg2_val) \ - INTERNAL_TRACE_EVENT_ADD_SCOPED_IF_LONGER_THAN( \ - threshold_us, category, name, arg1_name, arg1_val, arg2_name, arg2_val) - // Records the value of a counter called "name" immediately. Value // must be representable as a 32 bit integer. // - category and name strings must have application lifetime (statics or @@ -565,9 +546,8 @@ #define TRACE_EVENT_API_GET_CATEGORY_ENABLED \ webrtc::EventTracer::GetCategoryEnabled -// Add a trace event to the platform tracing system. Returns thresholdBeginId -// for use in a corresponding end TRACE_EVENT_API_ADD_TRACE_EVENT call. -// int TRACE_EVENT_API_ADD_TRACE_EVENT( +// Add a trace event to the platform tracing system. +// void TRACE_EVENT_API_ADD_TRACE_EVENT( // char phase, // const unsigned char* category_enabled, // const char* name, @@ -576,8 +556,6 @@ // const char** arg_names, // const unsigned char* arg_types, // const unsigned long long* arg_values, -// int threshold_begin_id, -// long long threshold, // unsigned char flags) #define TRACE_EVENT_API_ADD_TRACE_EVENT webrtc::EventTracer::AddTraceEvent @@ -630,26 +608,6 @@ INTERNAL_TRACE_EVENT_UID(catstatic), name); \ } -// Implementation detail: internal macro to create static category and add begin -// event if the category is enabled. Also adds the end event when the scope -// ends. If the elapsed time is < threshold time, the begin/end pair is erased. -#define INTERNAL_TRACE_EVENT_ADD_SCOPED_IF_LONGER_THAN(threshold, \ - category, name, ...) \ - INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category); \ - webrtc::trace_event_internal::TraceEndOnScopeCloseThreshold \ - INTERNAL_TRACE_EVENT_UID(profileScope); \ - if (*INTERNAL_TRACE_EVENT_UID(catstatic)) { \ - int INTERNAL_TRACE_EVENT_UID(begin_event_id) = \ - webrtc::trace_event_internal::AddTraceEvent( \ - TRACE_EVENT_PHASE_BEGIN, \ - INTERNAL_TRACE_EVENT_UID(catstatic), \ - name, webrtc::trace_event_internal::kNoEventId, \ - TRACE_EVENT_FLAG_NONE, ##__VA_ARGS__); \ - INTERNAL_TRACE_EVENT_UID(profileScope).Initialize( \ - INTERNAL_TRACE_EVENT_UID(catstatic), name, \ - INTERNAL_TRACE_EVENT_UID(begin_event_id), threshold); \ - } - // Implementation detail: internal macro to create static category and add // event if the category is enabled. #define INTERNAL_TRACE_EVENT_ADD_WITH_ID(phase, category, name, id, flags, \ @@ -706,8 +664,6 @@ namespace trace_event_internal { // Specify these values when the corresponding argument of AddTraceEvent is not // used. const int kZeroNumArgs = 0; -const int kNoThreshholdBeginId = -1; -const long long kNoThresholdValue = 0; const unsigned long long kNoEventId = 0; // TraceID encapsulates an ID that can either be an integer or pointer. Pointers @@ -855,19 +811,19 @@ static inline void SetTraceValue(const std::string& arg, // through to the tracing API, the arg_values must live throughout // these procedures. -static inline int AddTraceEvent(char phase, +static inline void AddTraceEvent(char phase, const unsigned char* category_enabled, const char* name, unsigned long long id, unsigned char flags) { - return TRACE_EVENT_API_ADD_TRACE_EVENT( + TRACE_EVENT_API_ADD_TRACE_EVENT( phase, category_enabled, name, id, kZeroNumArgs, NULL, NULL, NULL, - kNoThreshholdBeginId, kNoThresholdValue, flags); + flags); } template -static inline int AddTraceEvent(char phase, +static inline void AddTraceEvent(char phase, const unsigned char* category_enabled, const char* name, unsigned long long id, @@ -878,14 +834,14 @@ static inline int AddTraceEvent(char phase, unsigned char arg_types[1]; unsigned long long arg_values[1]; SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); - return TRACE_EVENT_API_ADD_TRACE_EVENT( + TRACE_EVENT_API_ADD_TRACE_EVENT( phase, category_enabled, name, id, num_args, &arg1_name, arg_types, arg_values, - kNoThreshholdBeginId, kNoThresholdValue, flags); + flags); } template -static inline int AddTraceEvent(char phase, +static inline void AddTraceEvent(char phase, const unsigned char* category_enabled, const char* name, unsigned long long id, @@ -900,10 +856,10 @@ static inline int AddTraceEvent(char phase, unsigned long long arg_values[2]; SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]); SetTraceValue(arg2_val, &arg_types[1], &arg_values[1]); - return TRACE_EVENT_API_ADD_TRACE_EVENT( + TRACE_EVENT_API_ADD_TRACE_EVENT( phase, category_enabled, name, id, num_args, arg_names, arg_types, arg_values, - kNoThreshholdBeginId, kNoThresholdValue, flags); + flags); } // Used by TRACE_EVENTx macro. Do not use directly. @@ -933,57 +889,6 @@ class TraceEndOnScopeClose { p_data_->category_enabled, p_data_->name, kNoEventId, kZeroNumArgs, NULL, NULL, NULL, - kNoThreshholdBeginId, kNoThresholdValue, TRACE_EVENT_FLAG_NONE); - } - } - - // This Data struct workaround is to avoid initializing all the members - // in Data during construction of this object, since this object is always - // constructed, even when tracing is disabled. If the members of Data were - // members of this class instead, compiler warnings occur about potential - // uninitialized accesses. - struct Data { - const unsigned char* category_enabled; - const char* name; - }; - Data* p_data_; - Data data_; -}; - -// Used by TRACE_EVENTx macro. Do not use directly. -class TraceEndOnScopeCloseThreshold { - public: - // Note: members of data_ intentionally left uninitialized. See Initialize. - TraceEndOnScopeCloseThreshold() : p_data_(NULL) {} - ~TraceEndOnScopeCloseThreshold() { - if (p_data_) - AddEventIfEnabled(); - } - - // Called by macros only when tracing is enabled at the point when the begin - // event is added. - void Initialize(const unsigned char* category_enabled, - const char* name, - int threshold_begin_id, - long long threshold) { - data_.category_enabled = category_enabled; - data_.name = name; - data_.threshold_begin_id = threshold_begin_id; - data_.threshold = threshold; - p_data_ = &data_; - } - - private: - // Add the end event if the category is still enabled. - void AddEventIfEnabled() { - // Only called when p_data_ is non-null. - if (*p_data_->category_enabled) { - TRACE_EVENT_API_ADD_TRACE_EVENT( - TRACE_EVENT_PHASE_END, - p_data_->category_enabled, - p_data_->name, kNoEventId, - kZeroNumArgs, NULL, NULL, NULL, - p_data_->threshold_begin_id, p_data_->threshold, TRACE_EVENT_FLAG_NONE); } } @@ -994,10 +899,8 @@ class TraceEndOnScopeCloseThreshold { // members of this class instead, compiler warnings occur about potential // uninitialized accesses. struct Data { - long long threshold; const unsigned char* category_enabled; const char* name; - int threshold_begin_id; }; Data* p_data_; Data data_; diff --git a/webrtc/system_wrappers/source/event_tracer.cc b/webrtc/system_wrappers/source/event_tracer.cc index e7114e35a..16275ead8 100644 --- a/webrtc/system_wrappers/source/event_tracer.cc +++ b/webrtc/system_wrappers/source/event_tracer.cc @@ -35,31 +35,26 @@ const unsigned char* EventTracer::GetCategoryEnabled(const char* name) { } // static -int EventTracer::AddTraceEvent(char phase, - const unsigned char* category_enabled, - const char* name, - unsigned long long id, - int num_args, - const char** arg_names, - const unsigned char* arg_types, - const unsigned long long* arg_values, - int threshold_begin_id, - long long threshold, - unsigned char flags) { +void EventTracer::AddTraceEvent(char phase, + const unsigned char* category_enabled, + const char* name, + unsigned long long id, + int num_args, + const char** arg_names, + const unsigned char* arg_types, + const unsigned long long* arg_values, + unsigned char flags) { if (g_add_trace_event_ptr) { - return g_add_trace_event_ptr(phase, - category_enabled, - name, - id, - num_args, - arg_names, - arg_types, - arg_values, - threshold_begin_id, - threshold, - flags); + g_add_trace_event_ptr(phase, + category_enabled, + name, + id, + num_args, + arg_names, + arg_types, + arg_values, + flags); } - return -1; } } // namespace webrtc diff --git a/webrtc/system_wrappers/source/event_tracer_unittest.cc b/webrtc/system_wrappers/source/event_tracer_unittest.cc index f6a561b0a..b9a99efa8 100644 --- a/webrtc/system_wrappers/source/event_tracer_unittest.cc +++ b/webrtc/system_wrappers/source/event_tracer_unittest.cc @@ -46,19 +46,16 @@ static const unsigned char* GetCategoryEnabledHandler(const char* name) { return reinterpret_cast("test"); } -static int AddTraceEventHandler(char phase, - const unsigned char* category_enabled, - const char* name, - unsigned long long id, - int num_args, - const char** arg_names, - const unsigned char* arg_types, - const unsigned long long* arg_values, - int threshold_begin_id, - long long threshold, - unsigned char flags) { +static void AddTraceEventHandler(char phase, + const unsigned char* category_enabled, + const char* name, + unsigned long long id, + int num_args, + const char** arg_names, + const unsigned char* arg_types, + const unsigned long long* arg_values, + unsigned char flags) { TestStatistics::Get()->Increment(); - return 1; } } // namespace