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

Unified Diff: base/trace_event/trace_event_impl.cc

Issue 874543003: Add support for TraceEvent before the native library is loaded. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments, cleanup and a JNI unittest. Created 5 years, 9 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_impl.cc
diff --git a/base/trace_event/trace_event_impl.cc b/base/trace_event/trace_event_impl.cc
index 72b46f92914c8d73d51068324f6c2a757371b5d1..0d4112b1cde36e6f2b816d08b6925dd977376d97 100644
--- a/base/trace_event/trace_event_impl.cc
+++ b/base/trace_event/trace_event_impl.cc
@@ -1735,6 +1735,7 @@ void TraceLog::Flush(const TraceLog::OutputCallback& cb) {
FinishFlush(generation);
}
+
void TraceLog::ConvertTraceEventsToTraceFormat(
scoped_ptr<TraceBuffer> logged_events,
const TraceLog::OutputCallback& flush_output_callback) {
@@ -1742,9 +1743,10 @@ void TraceLog::ConvertTraceEventsToTraceFormat(
if (flush_output_callback.is_null())
return;
- // The callback need to be called at least once even if there is no events
- // to let the caller know the completion of flush.
+ // The callback needs to be called at least once even if there is no events to
+ // let the caller know the completion of flush.
bool has_more_events = true;
+
do {
scoped_refptr<RefCountedString> json_events_str_ptr =
new RefCountedString();
@@ -1886,6 +1888,46 @@ TraceEventHandle TraceLog::AddTraceEventWithThreadIdAndTimestamp(
unsigned long long id,
int thread_id,
const TimeTicks& timestamp,
+ const TimeTicks& thread_time,
+ int num_args,
+ const char** arg_names,
+ const unsigned char* arg_types,
+ const unsigned long long* arg_values,
+ const scoped_refptr<ConvertableToTraceFormat>* convertable_values,
+ unsigned char flags) {
+ return AddTraceEventInternal(
+ phase, category_group_enabled, name, id, thread_id, timestamp,
+ thread_time, num_args, arg_names, arg_types, arg_values,
+ convertable_values, flags);
+}
+
+TraceEventHandle TraceLog::AddTraceEventWithThreadIdAndTimestamp(
+ char phase,
+ const unsigned char* category_group_enabled,
+ const char* name,
+ unsigned long long id,
+ int thread_id,
+ const TimeTicks& timestamp,
+ int num_args,
+ const char** arg_names,
+ const unsigned char* arg_types,
+ const unsigned long long* arg_values,
+ const scoped_refptr<ConvertableToTraceFormat>* convertable_values,
+ unsigned char flags) {
+ return AddTraceEventWithThreadIdAndTimestamp(
+ phase, category_group_enabled, name, id, thread_id, timestamp,
+ ThreadNow(), num_args, arg_names, arg_types, arg_values,
+ convertable_values, flags);
+}
+
+TraceEventHandle TraceLog::AddTraceEventInternal(
+ char phase,
+ const unsigned char* category_group_enabled,
+ const char* name,
+ unsigned long long id,
+ int thread_id,
+ const TimeTicks& timestamp,
+ const TimeTicks& thread_time,
int num_args,
const char** arg_names,
const unsigned char* arg_types,
@@ -2034,7 +2076,7 @@ TraceEventHandle TraceLog::AddTraceEventWithThreadIdAndTimestamp(
}
if (thread_local_event_buffer)
- thread_local_event_buffer->ReportOverhead(now, thread_now);
+ thread_local_event_buffer->ReportOverhead(now, thread_time);
return handle;
}
« no previous file with comments | « base/trace_event/trace_event_impl.h ('k') | chrome/android/shell/java/src/org/chromium/chrome/shell/ChromeShellActivity.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698