diff options
| -rw-r--r-- | core/java/android/os/Trace.java | 17 | ||||
| -rw-r--r-- | core/tests/coretests/src/android/os/TraceTest.java | 48 | ||||
| -rw-r--r-- | ravenwood/ravenwood-annotation-allowed-classes.txt | 1 |
3 files changed, 65 insertions, 1 deletions
diff --git a/core/java/android/os/Trace.java b/core/java/android/os/Trace.java index 5d7e04d4ed26..c0b490929c0a 100644 --- a/core/java/android/os/Trace.java +++ b/core/java/android/os/Trace.java @@ -36,6 +36,7 @@ import dalvik.annotation.optimization.FastNative; * href="{@docRoot}tools/debugging/systrace.html">Analyzing Display and Performance * with Systrace</a>. */ +@android.ravenwood.annotation.RavenwoodKeepWholeClass public final class Trace { /* * Writes trace events to the kernel trace buffer. These trace events can be @@ -123,10 +124,26 @@ public final class Trace { @UnsupportedAppUsage @CriticalNative + @android.ravenwood.annotation.RavenwoodReplace private static native long nativeGetEnabledTags(); + @android.ravenwood.annotation.RavenwoodReplace private static native void nativeSetAppTracingAllowed(boolean allowed); + @android.ravenwood.annotation.RavenwoodReplace private static native void nativeSetTracingEnabled(boolean allowed); + private static long nativeGetEnabledTags$ravenwood() { + // Tracing currently completely disabled under Ravenwood + return 0; + } + + private static void nativeSetAppTracingAllowed$ravenwood(boolean allowed) { + // Tracing currently completely disabled under Ravenwood + } + + private static void nativeSetTracingEnabled$ravenwood(boolean allowed) { + // Tracing currently completely disabled under Ravenwood + } + @FastNative private static native void nativeTraceCounter(long tag, String name, long value); @FastNative diff --git a/core/tests/coretests/src/android/os/TraceTest.java b/core/tests/coretests/src/android/os/TraceTest.java index 593833ec96a7..b2c005f8a4f4 100644 --- a/core/tests/coretests/src/android/os/TraceTest.java +++ b/core/tests/coretests/src/android/os/TraceTest.java @@ -34,7 +34,6 @@ import org.junit.runner.RunWith; * while tracing on the emulator and then run traceview to view the trace. */ @RunWith(AndroidJUnit4.class) -@IgnoreUnderRavenwood(blockedBy = Trace.class) public class TraceTest { private static final String TAG = "TraceTest"; @@ -46,7 +45,51 @@ public class TraceTest { private int gMethodCalls = 0; @Test + public void testEnableDisable() { + // Currently only verifying that we can invoke without crashing + Trace.setTracingEnabled(true, 0); + Trace.setTracingEnabled(false, 0); + + Trace.setAppTracingAllowed(true); + Trace.setAppTracingAllowed(false); + } + + @Test + public void testBeginEnd() { + // Currently only verifying that we can invoke without crashing + Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, TAG); + Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); + + Trace.asyncTraceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, TAG, 42); + Trace.asyncTraceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER, TAG, 42); + + Trace.asyncTraceForTrackBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, TAG, TAG, 42); + Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER, TAG, 42); + + Trace.beginSection(TAG); + Trace.endSection(); + + Trace.beginAsyncSection(TAG, 42); + Trace.endAsyncSection(TAG, 42); + } + + @Test + public void testCounter() { + // Currently only verifying that we can invoke without crashing + Trace.traceCounter(Trace.TRACE_TAG_ACTIVITY_MANAGER, TAG, 42); + Trace.setCounter(TAG, 42); + } + + @Test + public void testInstant() { + // Currently only verifying that we can invoke without crashing + Trace.instant(Trace.TRACE_TAG_ACTIVITY_MANAGER, TAG); + Trace.instantForTrack(Trace.TRACE_TAG_ACTIVITY_MANAGER, TAG, TAG); + } + + @Test public void testNullStrings() { + // Currently only verifying that we can invoke without crashing Trace.traceCounter(Trace.TRACE_TAG_ACTIVITY_MANAGER, null, 42); Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, null); @@ -62,6 +105,7 @@ public class TraceTest { @Test @SmallTest + @IgnoreUnderRavenwood(blockedBy = Debug.class) public void testNativeTracingFromJava() { long start = System.currentTimeMillis(); @@ -82,6 +126,7 @@ public class TraceTest { // This should not run in the automated suite. @Suppress + @IgnoreUnderRavenwood(blockedBy = Debug.class) public void disableTestNativeTracingFromC() { long start = System.currentTimeMillis(); @@ -97,6 +142,7 @@ public class TraceTest { @Test @LargeTest @Suppress // Failing. + @IgnoreUnderRavenwood(blockedBy = Debug.class) public void testMethodTracing() { long start = System.currentTimeMillis(); diff --git a/ravenwood/ravenwood-annotation-allowed-classes.txt b/ravenwood/ravenwood-annotation-allowed-classes.txt index 3b6ca8a7e90e..dcd04b94d09e 100644 --- a/ravenwood/ravenwood-annotation-allowed-classes.txt +++ b/ravenwood/ravenwood-annotation-allowed-classes.txt @@ -69,6 +69,7 @@ android.os.SystemClock android.os.SystemProperties android.os.ThreadLocalWorkSource android.os.TimestampedValue +android.os.Trace android.os.UidBatteryConsumer android.os.UidBatteryConsumer$Builder android.os.UserHandle |