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

Side by Side Diff: base/android/early_trace_event_binding.cc

Issue 2142803002: Reland of Android: Add support for TraceEvent before the native library is loaded. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix. Created 4 years, 5 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/android/early_trace_event_binding.h"
6
7 #include <stdint.h>
8
9 #include "base/android/jni_string.h"
10 #include "base/time/time.h"
11 #include "base/trace_event/trace_event.h"
12 #include "jni/EarlyTraceEvent_jni.h"
13
14 namespace base {
15 namespace android {
16
17 const char kEarlyJavaCategory[] = "EarlyJava";
18
19 static jlong GetTimeTicksNowUs(JNIEnv* env, const JavaParamRef<jclass>& clazz) {
20 return TimeTicks::Now().ToInternalValue();
21 }
22
23 static void RecordEarlyEvent(JNIEnv* env,
24 const JavaParamRef<jclass>& clazz,
25 const JavaParamRef<jstring>& jname,
26 jlong begin_time_ms,
27 jlong end_time_ms,
28 jint thread_id) {
29 std::string name = ConvertJavaStringToUTF8(env, jname);
30 int64_t begin_us = begin_time_ms * 1000;
31 int64_t end_us = end_time_ms * 1000;
32
33 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(
34 TRACE_EVENT_PHASE_BEGIN, kEarlyJavaCategory, name.c_str(),
35 trace_event_internal::kNoId, thread_id, begin_us, TRACE_EVENT_FLAG_COPY);
36 INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(
37 TRACE_EVENT_PHASE_END, kEarlyJavaCategory, name.c_str(),
38 trace_event_internal::kNoId, thread_id, end_us, TRACE_EVENT_FLAG_COPY);
39 }
40
41 bool RegisterEarlyTraceEvent(JNIEnv* env) {
42 return RegisterNativesImpl(env);
43 }
44
45 } // namespace android
46 } // namespace base
OLDNEW
« no previous file with comments | « base/android/early_trace_event_binding.h ('k') | base/android/java/src/org/chromium/base/EarlyTraceEvent.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698