// This file defines the interface for event tracing in WebRTC. // // Event log handlers are set through SetupEventTracer(). User of this API will // provide two function pointers to handle event tracing calls. // // * GetCategoryEnabledPtr // Event tracing system calls this function to determine if a particular // event category is enabled. // // * AddTraceEventPtr // Adds a tracing event. It is the user's responsibility to log the data // provided. // // Parameters for the above two functions are described in trace_event.h.
#ifdefined(RTC_USE_PERFETTO) void RegisterPerfettoTrackEvents(); #else typedefconstunsigned char* (*GetCategoryEnabledPtr)(const char* name); typedefvoid (*AddTraceEventPtr)(char phase, constunsigned char* category_enabled, const char* name, unsigned long long id,
int num_args, const char** arg_names, constunsigned char* arg_types, constunsigned long long* arg_values, unsigned char flags);
// User of WebRTC can call this method to setup event tracing. // // This method must be called before any WebRTC methods. Functions // provided should be thread-safe. void SetupEventTracer(GetCategoryEnabledPtr get_category_enabled_ptr,
AddTraceEventPtr add_trace_event_ptr);
// This class defines interface for the event tracing system to call // internally. Do not call these methods directly. class EventTracer { public: staticconstunsigned char* GetCategoryEnabled(const char* name);
staticvoid AddTraceEvent(char phase, constunsigned char* category_enabled, const char* name, unsigned long long id,
int num_args, const char** arg_names, constunsigned char* arg_types, constunsigned long long* arg_values, unsigned char flags);
}; #endif
namespace tracing { // Set up internal event tracer. // TODO(webrtc:15917): Implement for perfetto.
RTC_EXPORT void SetupInternalTracer(const Environment& env, bool enable_all_categories = true);
// TODO(https://issues.webrtc.org/481963632): Remove once this is no longer // used. // deprecated: use SetupInternalTracer(const Environment&, bool)
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(); // Make sure we run this, this will tear down the internal tracing.
RTC_EXPORT void ShutdownInternalTracer();
} // namespace tracing
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.