summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorepenner@chromium.org <epenner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-15 02:50:32 +0000
committerepenner@chromium.org <epenner@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-15 02:50:32 +0000
commit45a87527531a6ca3f03a2365e9de734b081ddacd (patch)
treea9f824844582abe86f74cb1486c41821911431d9 /base
parentc8b0489852ba7a40969e6a92579e4d9b199e7d27 (diff)
downloadchromium_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.java9
-rw-r--r--base/android/trace_event_binding.cc10
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);