Include all trace categories for internal usage

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 <kron@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36966}
This commit is contained in:
Jianhui Dai
2022-05-10 09:41:01 +08:00
committed by WebRTC LUCI CQ
parent 3176ef79e9
commit 8712d0b150
2 changed files with 9 additions and 3 deletions

View File

@ -335,6 +335,10 @@ const unsigned char* InternalGetCategoryEnabled(const char* name) {
: name); : name);
} }
const unsigned char* InternalEnableAllCategories(const char* name) {
return reinterpret_cast<const unsigned char*>(name);
}
void InternalAddTraceEvent(char phase, void InternalAddTraceEvent(char phase,
const unsigned char* category_enabled, const unsigned char* category_enabled,
const char* name, const char* name,
@ -355,11 +359,13 @@ void InternalAddTraceEvent(char phase,
} // namespace } // namespace
void SetupInternalTracer() { void SetupInternalTracer(bool enable_all_categories) {
RTC_CHECK(rtc::AtomicOps::CompareAndSwapPtr( RTC_CHECK(rtc::AtomicOps::CompareAndSwapPtr(
&g_event_logger, static_cast<EventLogger*>(nullptr), &g_event_logger, static_cast<EventLogger*>(nullptr),
new EventLogger()) == nullptr); new EventLogger()) == nullptr);
webrtc::SetupEventTracer(InternalGetCategoryEnabled, InternalAddTraceEvent); webrtc::SetupEventTracer(enable_all_categories ? InternalEnableAllCategories
: InternalGetCategoryEnabled,
InternalAddTraceEvent);
} }
void StartInternalCaptureToFile(FILE* file) { void StartInternalCaptureToFile(FILE* file) {

View File

@ -73,7 +73,7 @@ class EventTracer {
namespace rtc { namespace rtc {
namespace tracing { namespace tracing {
// Set up internal event tracer. // 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 bool StartInternalCapture(absl::string_view filename);
RTC_EXPORT void StartInternalCaptureToFile(FILE* file); RTC_EXPORT void StartInternalCaptureToFile(FILE* file);
RTC_EXPORT void StopInternalCapture(); RTC_EXPORT void StopInternalCapture();