| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.content.common; | 5 package org.chromium.content.common; |
| 6 | 6 |
| 7 import android.os.Build; | 7 import android.os.Build; |
| 8 import android.os.Looper; | 8 import android.os.Looper; |
| 9 import android.os.MessageQueue; | 9 import android.os.MessageQueue; |
| 10 import android.os.SystemClock; | 10 import android.os.SystemClock; |
| 11 import android.util.Log; | 11 import android.util.Log; |
| 12 import android.util.Printer; | 12 import android.util.Printer; |
| 13 | 13 |
| 14 import org.chromium.base.CommandLine; |
| 14 import org.chromium.base.ThreadUtils; | 15 import org.chromium.base.ThreadUtils; |
| 16 import org.chromium.content.common.ContentSwitches; |
| 15 | 17 |
| 16 import java.lang.reflect.InvocationTargetException; | 18 import java.lang.reflect.InvocationTargetException; |
| 17 import java.lang.reflect.Method; | 19 import java.lang.reflect.Method; |
| 18 | 20 |
| 19 // Java mirror of Chrome trace event API. See | 21 // Java mirror of Chrome trace event API. See |
| 20 // base/debug/trace_event.h. Unlike the native version, Java does not | 22 // base/debug/trace_event.h. Unlike the native version, Java does not |
| 21 // have stack objects, so a TRACE_EVENT() which does both | 23 // have stack objects, so a TRACE_EVENT() which does both |
| 22 // TRACE_EVENT_BEGIN() and TRACE_EVENT_END() in ctor/dtor is not | 24 // TRACE_EVENT_BEGIN() and TRACE_EVENT_END() in ctor/dtor is not |
| 23 // possible. | 25 // possible. |
| 24 // It is OK to use tracing before the native library has loaded, but such traces
will | 26 // It is OK to use tracing before the native library has loaded, but such traces
will |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 } | 162 } |
| 161 mLastIdleStartedAt = now; | 163 mLastIdleStartedAt = now; |
| 162 mNumTasksSinceLastIdle = 0; | 164 mNumTasksSinceLastIdle = 0; |
| 163 return true; // stay installed | 165 return true; // stay installed |
| 164 } | 166 } |
| 165 } | 167 } |
| 166 | 168 |
| 167 // Holder for monitor avoids unnecessary construction on non-debug runs | 169 // Holder for monitor avoids unnecessary construction on non-debug runs |
| 168 private final static class LooperMonitorHolder { | 170 private final static class LooperMonitorHolder { |
| 169 private final static BasicLooperMonitor sInstance = | 171 private final static BasicLooperMonitor sInstance = |
| 170 CommandLine.getInstance().hasSwitch(CommandLine.ENABLE_IDLE_TRAC
ING) ? | 172 CommandLine.getInstance().hasSwitch(ContentSwitches.ENABLE_IDLE_
TRACING) ? |
| 171 new IdleTracingLooperMonitor() : new BasicLooperMonitor(
); | 173 new IdleTracingLooperMonitor() : new BasicLooperMonitor(
); |
| 172 } | 174 } |
| 173 | 175 |
| 174 private static long sTraceTagView; | 176 private static long sTraceTagView; |
| 175 private static Method sSystemPropertiesGetLongMethod; | 177 private static Method sSystemPropertiesGetLongMethod; |
| 176 private static final String PROPERTY_TRACE_TAG_ENABLEFLAGS = "debug.atrace.t
ags.enableflags"; | 178 private static final String PROPERTY_TRACE_TAG_ENABLEFLAGS = "debug.atrace.t
ags.enableflags"; |
| 177 | 179 |
| 178 static { | 180 static { |
| 179 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { | 181 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { |
| 180 try { | 182 try { |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 407 | 409 |
| 408 private static native boolean nativeTraceEnabled(); | 410 private static native boolean nativeTraceEnabled(); |
| 409 private static native void nativeStartATrace(); | 411 private static native void nativeStartATrace(); |
| 410 private static native void nativeStopATrace(); | 412 private static native void nativeStopATrace(); |
| 411 private static native void nativeInstant(String name, String arg); | 413 private static native void nativeInstant(String name, String arg); |
| 412 private static native void nativeBegin(String name, String arg); | 414 private static native void nativeBegin(String name, String arg); |
| 413 private static native void nativeEnd(String name, String arg); | 415 private static native void nativeEnd(String name, String arg); |
| 414 private static native void nativeStartAsync(String name, long id, String arg
); | 416 private static native void nativeStartAsync(String name, long id, String arg
); |
| 415 private static native void nativeFinishAsync(String name, long id, String ar
g); | 417 private static native void nativeFinishAsync(String name, long id, String ar
g); |
| 416 } | 418 } |
| OLD | NEW |