From 8712d0b1500230bce2deaa8263062be61ed1be81 Mon Sep 17 00:00:00 2001 From: Jianhui Dai Date: Tue, 10 May 2022 09:41:01 +0800 Subject: [PATCH] Include all trace categories for internal usage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL adds a parameter to include `TRACE_DISABLED_BY_DEFAULT` categories for internal usage. Tentatively set it by default. Bug: webrtc:14080 Change-Id: I62a1a437b8d144b86bc5017e20e2f35e042ad2cd Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260664 Reviewed-by: Johannes Kron Reviewed-by: Harald Alvestrand Commit-Queue: Harald Alvestrand Reviewed-by: Henrik Boström Cr-Commit-Position: refs/heads/main@{#36966} --- rtc_base/event_tracer.cc | 10 ++++++++-- rtc_base/event_tracer.h | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) 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();