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

Unified Diff: base/trace_event/trace_event.h

Issue 1717283003: tracing: Make ConvertableToTraceFormat move-only scoped_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . 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
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..b9362a16a4aaee8c157a0212138819b7d5407a7a 100644
--- a/base/trace_event/trace_event.h
+++ b/base/trace_event/trace_event.h
@@ -110,7 +110,7 @@
// const char** arg_names,
// const unsigned char* arg_types,
// const unsigned long long* arg_values,
-// const scoped_refptr<ConvertableToTraceFormat>*
+// scoped_ptr<ConvertableToTraceFormat>*
// convertable_values,
// unsigned int flags)
#define TRACE_EVENT_API_ADD_TRACE_EVENT \
@@ -129,7 +129,7 @@
// const char** arg_names,
// const unsigned char* arg_types,
// const unsigned long long* arg_values,
-// const scoped_refptr<ConvertableToTraceFormat>*
+// scoped_ptr<ConvertableToTraceFormat>*
// convertable_values,
// unsigned int flags)
#define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_BIND_ID \
@@ -149,7 +149,7 @@
// const char** arg_names,
// const unsigned char* arg_types,
// const unsigned long long* arg_values,
-// const scoped_refptr<ConvertableToTraceFormat>*
+// scoped_ptr<ConvertableToTraceFormat>*
// convertable_values,
// unsigned int flags)
#define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_PROCESS_ID \
@@ -169,7 +169,7 @@
// const char** arg_names,
// const unsigned char* arg_types,
// const unsigned long long* arg_values,
-// const scoped_refptr<ConvertableToTraceFormat>*
+// scoped_ptr<ConvertableToTraceFormat>*
// convertable_values,
// unsigned int flags)
#define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP \
@@ -189,7 +189,7 @@
// TRACE_EVENT_API_ADD_METADATA_EVENT(
// const char* event_name,
// const char* arg_name,
-// scoped_refptr<ConvertableToTraceFormat> arg_value)
+// scoped_ptr<ConvertableToTraceFormat> arg_value)
#define TRACE_EVENT_API_ADD_METADATA_EVENT \
trace_event_internal::AddMetadataEvent
@@ -610,8 +610,7 @@ AddTraceEventWithThreadIdAndTimestamp(
unsigned int flags,
unsigned long long bind_id,
const char* arg1_name,
- const scoped_refptr<base::trace_event::ConvertableToTraceFormat>&
- arg1_val) {
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg1_val) {
const int num_args = 1;
unsigned char arg_types[1] = { TRACE_VALUE_TYPE_CONVERTABLE };
return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP(
@@ -619,7 +618,7 @@ AddTraceEventWithThreadIdAndTimestamp(
timestamp, num_args, &arg1_name, arg_types, NULL, &arg1_val, flags);
}
-template<class ARG1_TYPE>
+template <class ARG1_TYPE>
static inline base::trace_event::TraceEventHandle
AddTraceEventWithThreadIdAndTimestamp(
char phase,
@@ -634,8 +633,7 @@ AddTraceEventWithThreadIdAndTimestamp(
const char* arg1_name,
const ARG1_TYPE& arg1_val,
const char* arg2_name,
- const scoped_refptr<base::trace_event::ConvertableToTraceFormat>&
- arg2_val) {
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg2_val) {
const int num_args = 2;
const char* arg_names[2] = { arg1_name, arg2_name };
@@ -644,9 +642,8 @@ AddTraceEventWithThreadIdAndTimestamp(
SetTraceValue(arg1_val, &arg_types[0], &arg_values[0]);
arg_types[1] = TRACE_VALUE_TYPE_CONVERTABLE;
- scoped_refptr<base::trace_event::ConvertableToTraceFormat>
- convertable_values[2];
- convertable_values[1] = arg2_val;
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> convertable_values[2];
+ convertable_values[1] = std::move(arg2_val);
return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP(
phase, category_group_enabled, name, scope, id, bind_id, thread_id,
@@ -654,7 +651,7 @@ AddTraceEventWithThreadIdAndTimestamp(
flags);
}
-template<class ARG2_TYPE>
+template <class ARG2_TYPE>
static inline base::trace_event::TraceEventHandle
AddTraceEventWithThreadIdAndTimestamp(
char phase,
@@ -667,7 +664,7 @@ AddTraceEventWithThreadIdAndTimestamp(
unsigned int flags,
unsigned long long bind_id,
const char* arg1_name,
- const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val,
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg1_val,
const char* arg2_name,
const ARG2_TYPE& arg2_val) {
const int num_args = 2;
@@ -679,9 +676,8 @@ AddTraceEventWithThreadIdAndTimestamp(
arg_values[0] = 0;
SetTraceValue(arg2_val, &arg_types[1], &arg_values[1]);
- scoped_refptr<base::trace_event::ConvertableToTraceFormat>
- convertable_values[2];
- convertable_values[0] = arg1_val;
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> convertable_values[2];
+ convertable_values[0] = std::move(arg1_val);
return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP(
phase, category_group_enabled, name, scope, id, bind_id, thread_id,
@@ -701,16 +697,15 @@ AddTraceEventWithThreadIdAndTimestamp(
unsigned int flags,
unsigned long long bind_id,
const char* arg1_name,
- const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val,
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg1_val,
const char* arg2_name,
- const scoped_refptr<base::trace_event::ConvertableToTraceFormat>&
- arg2_val) {
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg2_val) {
const int num_args = 2;
const char* arg_names[2] = { arg1_name, arg2_name };
unsigned char arg_types[2] =
{ TRACE_VALUE_TYPE_CONVERTABLE, TRACE_VALUE_TYPE_CONVERTABLE };
- scoped_refptr<base::trace_event::ConvertableToTraceFormat>
- convertable_values[2] = {arg1_val, arg2_val};
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat>
+ convertable_values[2] = {std::move(arg1_val), std::move(arg2_val)};
return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP(
phase, category_group_enabled, name, scope, id, bind_id, thread_id,
@@ -772,6 +767,23 @@ AddTraceEventWithThreadIdAndTimestamp(
timestamp, num_args, &arg1_name, arg_types, arg_values, NULL, flags);
}
+static inline base::trace_event::TraceEventHandle AddTraceEvent(
+ char phase,
+ const unsigned char* category_group_enabled,
+ const char* name,
+ const char* scope,
+ unsigned long long id,
+ unsigned int flags,
+ unsigned long long bind_id,
+ const char* arg1_name,
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg1_val) {
+ int thread_id = static_cast<int>(base::PlatformThread::CurrentId());
+ base::TimeTicks now = base::TimeTicks::Now();
+ return AddTraceEventWithThreadIdAndTimestamp(
+ phase, category_group_enabled, name, scope, id, thread_id, now, flags,
+ bind_id, arg1_name, std::move(arg1_val));
+}
+
template<class ARG1_TYPE>
static inline base::trace_event::TraceEventHandle AddTraceEvent(
char phase,
@@ -817,6 +829,65 @@ AddTraceEventWithThreadIdAndTimestamp(
timestamp, num_args, arg_names, arg_types, arg_values, NULL, flags);
}
+template <class ARG2_TYPE>
+static inline base::trace_event::TraceEventHandle AddTraceEvent(
+ char phase,
+ const unsigned char* category_group_enabled,
+ const char* name,
+ const char* scope,
+ unsigned long long id,
+ unsigned int flags,
+ unsigned long long bind_id,
+ const char* arg1_name,
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg1_val,
+ const char* arg2_name,
+ const ARG2_TYPE& arg2_val) {
+ int thread_id = static_cast<int>(base::PlatformThread::CurrentId());
+ base::TimeTicks now = base::TimeTicks::Now();
+ return AddTraceEventWithThreadIdAndTimestamp(
+ phase, category_group_enabled, name, scope, id, thread_id, now, flags,
+ bind_id, arg1_name, std::move(arg1_val), arg2_name, arg2_val);
+}
+
+template <class ARG1_TYPE>
+static inline base::trace_event::TraceEventHandle AddTraceEvent(
+ char phase,
+ const unsigned char* category_group_enabled,
+ const char* name,
+ const char* scope,
+ unsigned long long id,
+ unsigned int flags,
+ unsigned long long bind_id,
+ const char* arg1_name,
+ const ARG1_TYPE& arg1_val,
+ const char* arg2_name,
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg2_val) {
+ int thread_id = static_cast<int>(base::PlatformThread::CurrentId());
+ base::TimeTicks now = base::TimeTicks::Now();
+ return AddTraceEventWithThreadIdAndTimestamp(
+ phase, category_group_enabled, name, scope, id, thread_id, now, flags,
+ bind_id, arg1_name, arg1_val, arg2_name, std::move(arg2_val));
+}
+
+static inline base::trace_event::TraceEventHandle AddTraceEvent(
+ char phase,
+ const unsigned char* category_group_enabled,
+ const char* name,
+ const char* scope,
+ unsigned long long id,
+ unsigned int flags,
+ unsigned long long bind_id,
+ const char* arg1_name,
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg1_val,
+ const char* arg2_name,
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg2_val) {
+ int thread_id = static_cast<int>(base::PlatformThread::CurrentId());
+ base::TimeTicks now = base::TimeTicks::Now();
+ return AddTraceEventWithThreadIdAndTimestamp(
+ phase, category_group_enabled, name, scope, id, thread_id, now, flags,
+ bind_id, arg1_name, std::move(arg1_val), arg2_name, std::move(arg2_val));
+}
+
template<class ARG1_TYPE, class ARG2_TYPE>
static inline base::trace_event::TraceEventHandle AddTraceEvent(
char phase,
@@ -840,17 +911,15 @@ static inline base::trace_event::TraceEventHandle AddTraceEvent(
static inline void AddMetadataEvent(
const char* event_name,
const char* arg_name,
- scoped_refptr<base::trace_event::ConvertableToTraceFormat> arg_value) {
+ scoped_ptr<base::trace_event::ConvertableToTraceFormat> arg_value) {
const char* arg_names[1] = {arg_name};
- scoped_refptr<base::trace_event::ConvertableToTraceFormat>
- convertable_values[1] = {arg_value};
unsigned char arg_types[1] = {TRACE_VALUE_TYPE_CONVERTABLE};
base::trace_event::TraceLog::GetInstance()->AddMetadataEvent(
event_name,
1, // num_args
arg_names, arg_types,
nullptr, // arg_values
- convertable_values, TRACE_EVENT_FLAG_NONE);
+ &arg_value, TRACE_EVENT_FLAG_NONE);
}
template <class ARG1_TYPE>

Powered by Google App Engine
This is Rietveld 408576698