Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(372)

Unified Diff: base/trace_event/trace_event.h

Issue 1221873002: Change sampler code events phase from instant to meta. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix a comment Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/trace_event/memory_dump_manager.cc ('k') | base/trace_event/trace_event_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/trace_event/trace_event.h
diff --git a/base/trace_event/trace_event.h b/base/trace_event/trace_event.h
index ed49fe4656f9326b232f973e69936ad3f31f4af9..30ec8d60c2c23a7017c747421d8506d70eb0309c 100644
--- a/base/trace_event/trace_event.h
+++ b/base/trace_event/trace_event.h
@@ -7,7 +7,7 @@
// This header file defines implementation details of how the trace macros in
// trace_event_common.h collect and store trace events. Anything not
-// implementation-specific should go in trace_macros_common.h instead of here.
+// implementation-specific should go in trace_event_common.h instead of here.
#include <stddef.h>
#include <stdint.h>
@@ -187,9 +187,10 @@
// 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(
-// const char* event_name,
-// const char* arg_name,
-// scoped_refptr<ConvertableToTraceFormat> arg_value)
+// const unsigned char* category_group_enabled,
+// const char* event_name,
+// const char* arg_name,
+// scoped_refptr<ConvertableToTraceFormat> arg_value)
#define TRACE_EVENT_API_ADD_METADATA_EVENT \
trace_event_internal::AddMetadataEvent
@@ -347,8 +348,20 @@ TRACE_EVENT_API_CLASS_EXPORT extern \
} \
} while (0)
-// Implementation detail: internal macro to enter and leave a context based on
-// the current scope.
+// Implementation detail: internal macro to create static category and add
+// metadata event if the category is enabled.
+#define INTERNAL_TRACE_EVENT_METADATA_ADD(category_group, name, ...) \
+ do { \
+ INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \
+ if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \
+ TRACE_EVENT_API_ADD_METADATA_EVENT( \
+ INTERNAL_TRACE_EVENT_UID(category_group_enabled), name, \
+ ##__VA_ARGS__); \
+ } \
+ } while (0)
+
+// Implementation detail: internal macro to enter and leave a
+// context based on the current scope.
#define INTERNAL_TRACE_EVENT_SCOPED_CONTEXT(category_group, name, context) \
struct INTERNAL_TRACE_EVENT_UID(ScopedContext) { \
public: \
@@ -838,6 +851,7 @@ static inline base::trace_event::TraceEventHandle AddTraceEvent(
}
static inline void AddMetadataEvent(
+ const unsigned char* category_group_enabled,
const char* event_name,
const char* arg_name,
scoped_refptr<base::trace_event::ConvertableToTraceFormat> arg_value) {
@@ -846,7 +860,7 @@ static inline void AddMetadataEvent(
convertable_values[1] = {arg_value};
unsigned char arg_types[1] = {TRACE_VALUE_TYPE_CONVERTABLE};
base::trace_event::TraceLog::GetInstance()->AddMetadataEvent(
- event_name,
+ category_group_enabled, event_name,
1, // num_args
arg_names, arg_types,
nullptr, // arg_values
@@ -854,7 +868,8 @@ static inline void AddMetadataEvent(
}
template <class ARG1_TYPE>
-static void AddMetadataEvent(const char* event_name,
+static void AddMetadataEvent(const unsigned char* category_group_enabled,
+ const char* event_name,
const char* arg_name,
const ARG1_TYPE& arg_val) {
const int num_args = 1;
@@ -864,8 +879,8 @@ static void AddMetadataEvent(const char* event_name,
SetTraceValue(arg_val, &arg_types[0], &arg_values[0]);
base::trace_event::TraceLog::GetInstance()->AddMetadataEvent(
- event_name, num_args, arg_names, arg_types, arg_values, nullptr,
- TRACE_EVENT_FLAG_NONE);
+ category_group_enabled, event_name, num_args, arg_names, arg_types,
+ arg_values, nullptr, TRACE_EVENT_FLAG_NONE);
}
// Used by TRACE_EVENTx macros. Do not use directly.
« no previous file with comments | « base/trace_event/memory_dump_manager.cc ('k') | base/trace_event/trace_event_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698