| Index: base/trace_event/trace_event.h
|
| diff --git a/base/trace_event/trace_event.h b/base/trace_event/trace_event.h
|
| index 07fd84157ed8c6cfb676e4c13b7ec1a87f4d44b2..f4eaac6ac3ff9378fc2ce1c49b02e2c5db1d01c8 100644
|
| --- a/base/trace_event/trace_event.h
|
| +++ b/base/trace_event/trace_event.h
|
| @@ -183,6 +183,16 @@
|
| #define TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION \
|
| base::trace_event::TraceLog::GetInstance()->UpdateTraceEventDuration
|
|
|
| +// Set the duration field of a COMPLETE trace event.
|
| +// void TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION_EXPLICIT(
|
| +// const unsigned char* category_group_enabled,
|
| +// const char* name,
|
| +// base::trace_event::TraceEventHandle id,
|
| +// const TimeTicks& now,
|
| +// const ThreadTicks* thread_now)
|
| +#define TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION_EXPLICIT \
|
| + base::trace_event::TraceLog::GetInstance()->UpdateTraceEventDurationExplicit
|
| +
|
| // Adds a metadata event to the trace log. The |AppendValueAsTraceFormat| method
|
| // on the convertable value will be called at flush time.
|
| // TRACE_EVENT_API_ADD_METADATA_EVENT(
|
| @@ -339,6 +349,32 @@
|
| } \
|
| } while (0)
|
|
|
| +// Implementation detail: internal macro to create static category and add
|
| +// event if the category is enabled.
|
| +#define INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMPS( \
|
| + category_group, name, id, thread_id, begin_timestamp, end_timestamp, \
|
| + thread_end_timestamp, flags, ...) \
|
| + do { \
|
| + INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \
|
| + if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED()) { \
|
| + trace_event_internal::TraceID trace_event_trace_id((id)); \
|
| + unsigned int trace_event_flags = \
|
| + flags | trace_event_trace_id.id_flags(); \
|
| + const unsigned char* uid_category_group_enabled = \
|
| + INTERNAL_TRACE_EVENT_UID(category_group_enabled); \
|
| + auto handle = \
|
| + trace_event_internal::AddTraceEventWithThreadIdAndTimestamp( \
|
| + TRACE_EVENT_PHASE_COMPLETE, uid_category_group_enabled, name, \
|
| + trace_event_trace_id.scope(), trace_event_trace_id.raw_id(), \
|
| + thread_id, begin_timestamp, \
|
| + trace_event_flags | TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP, \
|
| + trace_event_internal::kNoId, ##__VA_ARGS__); \
|
| + TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION_EXPLICIT( \
|
| + uid_category_group_enabled, name, handle, end_timestamp, \
|
| + thread_end_timestamp); \
|
| + } \
|
| + } while (0)
|
| +
|
| // The linked ID will not be mangled.
|
| #define INTERNAL_TRACE_EVENT_ADD_LINK_IDS(category_group, name, id1, id2) \
|
| do { \
|
|
|