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

Unified Diff: content/public/android/java/org/chromium/content/browser/TraceEvent.java

Issue 10532155: Upstream some more content/ DEPS-related cleanup. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove JNIHelper/BitmapHolder Created 8 years, 6 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: content/public/android/java/org/chromium/content/browser/TraceEvent.java
diff --git a/content/public/android/java/org/chromium/content/browser/TraceEvent.java b/content/public/android/java/org/chromium/content/browser/TraceEvent.java
deleted file mode 100644
index b1ad95f0a472eae8e8e527914a8fe7d29816438e..0000000000000000000000000000000000000000
--- a/content/public/android/java/org/chromium/content/browser/TraceEvent.java
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.content.browser;
-
-import android.os.Looper;
-import android.util.Printer;
-
-// Java mirror of Chrome trace event API. See
-// base/debug/trace_event.h. Unlike the native version, Java does not
-// have stack objects, so a TRACE_EVENT() which does both
-// TRACE_EVENT_BEGIN() and TRACE_EVENT_END() in ctor/dtor is not
-// possible.
-// It is OK to use tracing before the native library has loaded, but such traces will
-// be ignored. (Perhaps we could devise to buffer them up in future?).
-public class TraceEvent {
-
- private static boolean sEnabled = false;
-
- private static class LooperTracePrinter implements Printer {
- private static final String NAME = "Looper.dispatchMessage";
- @Override
- public void println(String line) {
- if (line.startsWith(">>>>>")) {
- TraceEvent.begin(NAME, line);
- } else {
- assert line.startsWith("<<<<<");
- TraceEvent.end(NAME);
- }
- }
- }
-
- /**
- * Calling this will cause enabled() to be updated to match that set on the native side.
- * The native library must be loaded before calling this method.
- */
- public static void setEnabledToMatchNative() {
- setEnabled(nativeTraceEnabled());
- }
-
- /**
- * Enables or disables tracing.
- * The native library must be loaded before the first call with enabled == true.
- */
- public static synchronized void setEnabled(boolean enabled) {
- if (enabled) {
- LibraryLoader.checkIsReady();
- }
- if (sEnabled == enabled) {
- return;
- }
- sEnabled = enabled;
- Looper.getMainLooper().setMessageLogging(enabled ? new LooperTracePrinter() : null);
- }
-
- /**
- * @return True if tracing is enabled, false otherwise.
- * It is safe to call trace methods without checking if TraceEvent
- * is enabled.
- */
- public static boolean enabled() {
- return sEnabled;
- }
-
- public static void instant(String name) {
- if (sEnabled) {
- nativeInstant(name, null);
- }
- }
-
- public static void instant(String name, String arg) {
- if (sEnabled) {
- nativeInstant(name, arg);
- }
- }
-
- /**
- * Convenience wrapper around the versions of begin() that take string parameters.
- * The name of the event will be derived from the class and function name that call this.
- * IMPORTANT: if using this version, ensure end() (no parameters) is always called from the
- * same calling context.
- */
- public static void begin() {
- if (sEnabled) {
- nativeBegin(getCallerName(), null);
- }
- }
-
- public static void begin(String name) {
- if (sEnabled) {
- nativeBegin(name, null);
- }
- }
-
- public static void begin(String name, String arg) {
- if (sEnabled) {
- nativeBegin(name, arg);
- }
- }
-
- /**
- * Convenience wrapper around the versions of end() that take string parameters. See begin()
- * for more information.
- */
- public static void end() {
- if (sEnabled) {
- nativeEnd(getCallerName(), null);
- }
- }
-
- public static void end(String name) {
- if (sEnabled) {
- nativeEnd(name, null);
- }
- }
-
- public static void end(String name, String arg) {
- if (sEnabled) {
- nativeEnd(name, arg);
- }
- }
-
- private static String getCallerName() {
- // This was measured to take about 1ms on Trygon device.
- StackTraceElement[] stack = java.lang.Thread.currentThread().getStackTrace();
-
- // Commented out to avoid excess call overhead, but these lines can be useful to debug
- // exactly where the TraceEvent's client is on the callstack.
- // int index = 0;
- // while (!stack[index].getClassName().equals(TraceEvent.class.getName())) ++index;
- // while (stack[index].getClassName().equals(TraceEvent.class.getName())) ++index;
- // System.logW("TraceEvent caller is at stack index " + index);
-
- // '4' Was derived using the above commented out code snippet.
- return stack[4].getClassName() + "." + stack[4].getMethodName();
- }
-
- private static native boolean nativeTraceEnabled();
- 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);
-}

Powered by Google App Engine
This is Rietveld 408576698