diff options
author | epenner@chromium.org <epenner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-15 02:50:32 +0000 |
---|---|---|
committer | epenner@chromium.org <epenner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-15 02:50:32 +0000 |
commit | 45a87527531a6ca3f03a2365e9de734b081ddacd (patch) | |
tree | a9f824844582abe86f74cb1486c41821911431d9 /base | |
parent | c8b0489852ba7a40969e6a92579e4d9b199e7d27 (diff) | |
download | chromium_src-45a87527531a6ca3f03a2365e9de734b081ddacd.zip chromium_src-45a87527531a6ca3f03a2365e9de734b081ddacd.tar.gz chromium_src-45a87527531a6ca3f03a2365e9de734b081ddacd.tar.bz2 |
Android: Make looper traces toplevel.
All other top-level events are now labelled 'toplevel'.
BUG=None
NOTRY=true
No-try since failing tests are flakes in unrelated code.
Review URL: https://codereview.chromium.org/236203002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263769 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/android/java/src/org/chromium/base/TraceEvent.java | 9 | ||||
-rw-r--r-- | base/android/trace_event_binding.cc | 10 |
2 files changed, 14 insertions, 5 deletions
diff --git a/base/android/java/src/org/chromium/base/TraceEvent.java b/base/android/java/src/org/chromium/base/TraceEvent.java index 6275a72..ff1ff1f 100644 --- a/base/android/java/src/org/chromium/base/TraceEvent.java +++ b/base/android/java/src/org/chromium/base/TraceEvent.java @@ -22,9 +22,6 @@ public class TraceEvent { private static volatile boolean sEnabled = false; private static class BasicLooperMonitor implements Printer { - private static final String DISPATCH_EVENT_NAME = - "Looper.dispatchMessage"; - @Override public void println(final String line) { if (line.startsWith(">")) { @@ -36,11 +33,11 @@ public class TraceEvent { } void beginHandling(final String line) { - TraceEvent.begin(DISPATCH_EVENT_NAME, line); + if (sEnabled) nativeBeginToplevel(); } void endHandling(final String line) { - TraceEvent.end(DISPATCH_EVENT_NAME); + if (sEnabled) nativeEndToplevel(); } } @@ -349,6 +346,8 @@ public class TraceEvent { private static native void nativeInstant(String name, String arg); private static native void nativeBegin(String name, String arg); private static native void nativeEnd(String name, String arg); + private static native void nativeBeginToplevel(); + private static native void nativeEndToplevel(); private static native void nativeStartAsync(String name, long id, String arg); private static native void nativeFinishAsync(String name, long id, String arg); } diff --git a/base/android/trace_event_binding.cc b/base/android/trace_event_binding.cc index 4e7bdbb..f802f3d 100644 --- a/base/android/trace_event_binding.cc +++ b/base/android/trace_event_binding.cc @@ -18,6 +18,8 @@ namespace android { namespace { const char kJavaCategory[] = "Java"; +const char kToplevelCategory[] = "toplevel"; +const char kLooperDispatchMessage[] = "Looper.dispatchMessage"; // Boilerplate for safely converting Java data to TRACE_EVENT data. class TraceEventDataConverter { @@ -101,6 +103,14 @@ static void End(JNIEnv* env, jclass clazz, } } +static void BeginToplevel(JNIEnv* env, jclass clazz) { + TRACE_EVENT_BEGIN0(kToplevelCategory, kLooperDispatchMessage); +} + +static void EndToplevel(JNIEnv* env, jclass clazz) { + TRACE_EVENT_END0(kToplevelCategory, kLooperDispatchMessage); +} + static void StartAsync(JNIEnv* env, jclass clazz, jstring jname, jlong jid, jstring jarg) { TraceEventDataConverter converter(env, jname, jarg); |