diff --git a/rtc_base/event_tracer.cc b/rtc_base/event_tracer.cc index e14079e07c..e6acbdca8f 100644 --- a/rtc_base/event_tracer.cc +++ b/rtc_base/event_tracer.cc @@ -335,6 +335,10 @@ const unsigned char* InternalGetCategoryEnabled(const char* name) { : name); } +const unsigned char* InternalEnableAllCategories(const char* name) { + return reinterpret_cast(name); +} + void InternalAddTraceEvent(char phase, const unsigned char* category_enabled, const char* name, @@ -355,11 +359,13 @@ void InternalAddTraceEvent(char phase, } // namespace -void SetupInternalTracer() { +void SetupInternalTracer(bool enable_all_categories) { RTC_CHECK(rtc::AtomicOps::CompareAndSwapPtr( &g_event_logger, static_cast(nullptr), new EventLogger()) == nullptr); - webrtc::SetupEventTracer(InternalGetCategoryEnabled, InternalAddTraceEvent); + webrtc::SetupEventTracer(enable_all_categories ? InternalEnableAllCategories + : InternalGetCategoryEnabled, + InternalAddTraceEvent); } void StartInternalCaptureToFile(FILE* file) { diff --git a/rtc_base/event_tracer.h b/rtc_base/event_tracer.h index 77c2b35597..dc2eaed669 100644 --- a/rtc_base/event_tracer.h +++ b/rtc_base/event_tracer.h @@ -73,7 +73,7 @@ class EventTracer { namespace rtc { namespace tracing { // Set up internal event tracer. -RTC_EXPORT void SetupInternalTracer(); +RTC_EXPORT void SetupInternalTracer(bool enable_all_categories = true); RTC_EXPORT bool StartInternalCapture(absl::string_view filename); RTC_EXPORT void StartInternalCaptureToFile(FILE* file); RTC_EXPORT void StopInternalCapture();