Loading core/java/android/os/PerfettoTrace.java +40 −38 Original line number Diff line number Diff line Loading @@ -16,6 +16,9 @@ package android.os; import android.ravenwood.annotation.RavenwoodIgnore; import android.ravenwood.annotation.RavenwoodReplace; import com.android.internal.ravenwood.RavenwoodHelperBridge; import dalvik.annotation.optimization.CriticalNative; Loading @@ -35,7 +38,8 @@ import java.util.concurrent.atomic.AtomicInteger; * * @hide */ @android.ravenwood.annotation.RavenwoodKeepPartialClass @android.ravenwood.annotation.RavenwoodKeepWholeClass( comment = "Most features are no-op on Ravenwood") public final class PerfettoTrace { private static final String TAG = "PerfettoTrace"; Loading Loading @@ -63,13 +67,20 @@ public final class PerfettoTrace { // The same as a previous MQ_CATEGORY, but to be used with a V3 API. public static final com.android.internal.dev.perfetto.sdk.PerfettoTrace.Category MQ_CATEGORY_V3 = new com.android.internal.dev.perfetto.sdk.PerfettoTrace.Category("mq"); MQ_CATEGORY_V3 = getMqCategoryV3(); @RavenwoodIgnore // Just use null on Ravenwood. private static com.android.internal.dev.perfetto.sdk.PerfettoTrace.Category getMqCategoryV3() { return new com.android.internal.dev.perfetto.sdk.PerfettoTrace.Category("mq"); } /** * This is temporary wrapper to check if either new or old APIs "mq" category is enabled, should * be called only from the MessageQueue.java and Looper.java. */ @android.ravenwood.annotation.RavenwoodReplace // Tracing currently completely disabled under Ravenwood, just return false. @RavenwoodIgnore public static boolean isMQCategoryEnabled() { if (PerfettoTrace.IS_USE_SDK_TRACING_API_V3) { return PerfettoTrace.MQ_CATEGORY_V3.isEnabled(); Loading @@ -77,11 +88,6 @@ public final class PerfettoTrace { return PerfettoTrace.MQ_CATEGORY.isEnabled(); } public static boolean isMQCategoryEnabled$ravenwood() { // Tracing currently completely disabled under Ravenwood return false; } /** * Perfetto category a trace event belongs to. * Registering a category is not sufficient to capture events within the category, it must Loading Loading @@ -138,36 +144,29 @@ public final class PerfettoTrace { } @FastNative @android.ravenwood.annotation.RavenwoodReplace @RavenwoodIgnore private static native long native_init(String name, String tag, String severity); @CriticalNative @android.ravenwood.annotation.RavenwoodReplace @RavenwoodIgnore private static native long native_delete(); @CriticalNative @RavenwoodIgnore private static native void native_register(long ptr); @CriticalNative @RavenwoodIgnore private static native void native_unregister(long ptr); @CriticalNative @RavenwoodIgnore private static native boolean native_is_enabled(long ptr); @CriticalNative @android.ravenwood.annotation.RavenwoodReplace @RavenwoodIgnore private static native long native_get_extra_ptr(long ptr); private static long native_init$ravenwood(String name, String tag, String severity) { // Tracing currently completely disabled under Ravenwood return 0; } private static long native_delete$ravenwood() { // Tracing currently completely disabled under Ravenwood return 0; } private static long native_get_extra_ptr$ravenwood(long ptr) { // Tracing currently completely disabled under Ravenwood return 0; } /** * Register the category. */ Loading Loading @@ -242,18 +241,31 @@ public final class PerfettoTrace { } @CriticalNative @RavenwoodIgnore private static native long native_get_process_track_uuid(); @CriticalNative @RavenwoodIgnore private static native long native_get_thread_track_uuid(long tid); @FastNative @RavenwoodIgnore private static native void native_activate_trigger(String name, int ttlMs); @FastNative @RavenwoodIgnore private static native void native_register(boolean isBackendInProcess); @RavenwoodIgnore private static native long native_start_session(boolean isBackendInProcess, byte[] config); @RavenwoodReplace private static native byte[] native_stop_session(long ptr); private static byte[] native_stop_session$ravenwood(long ptr) { return new byte[1]; // Just return something to avoid confusing callers. } /** * Writes a trace message to indicate a given section of code was invoked. * Loading Loading @@ -381,7 +393,7 @@ public final class PerfettoTrace { } /** Registers the process with Perfetto. */ @android.ravenwood.annotation.RavenwoodReplace @RavenwoodIgnore public static void register(boolean isBackendInProcess) { if (!isBackendInProcess) { sAttemptedSystemRegistration.set(true); Loading @@ -393,13 +405,8 @@ public final class PerfettoTrace { } } /** Ravenwood replacement for {@link #register(boolean)}. */ public static void register$ravenwood(boolean isBackendInProcess) { // Tracing currently completely disabled under Ravenwood } /** Registers categories with Perfetto. */ @android.ravenwood.annotation.RavenwoodReplace @RavenwoodIgnore public static void registerCategories() { if (IS_USE_SDK_TRACING_API_V3) { MQ_CATEGORY_V3.register(); Loading @@ -408,11 +415,6 @@ public final class PerfettoTrace { } } /** Ravenwood replacement for {@link #registerCategories()}. */ public static void registerCategories$ravenwood() { // Tracing currently completely disabled under Ravenwood } /** * Returns whether the calling process attempted to register with the system backend of perfetto * by calling {@code register(false)}. A true return does not mean that the registration is Loading Loading
core/java/android/os/PerfettoTrace.java +40 −38 Original line number Diff line number Diff line Loading @@ -16,6 +16,9 @@ package android.os; import android.ravenwood.annotation.RavenwoodIgnore; import android.ravenwood.annotation.RavenwoodReplace; import com.android.internal.ravenwood.RavenwoodHelperBridge; import dalvik.annotation.optimization.CriticalNative; Loading @@ -35,7 +38,8 @@ import java.util.concurrent.atomic.AtomicInteger; * * @hide */ @android.ravenwood.annotation.RavenwoodKeepPartialClass @android.ravenwood.annotation.RavenwoodKeepWholeClass( comment = "Most features are no-op on Ravenwood") public final class PerfettoTrace { private static final String TAG = "PerfettoTrace"; Loading Loading @@ -63,13 +67,20 @@ public final class PerfettoTrace { // The same as a previous MQ_CATEGORY, but to be used with a V3 API. public static final com.android.internal.dev.perfetto.sdk.PerfettoTrace.Category MQ_CATEGORY_V3 = new com.android.internal.dev.perfetto.sdk.PerfettoTrace.Category("mq"); MQ_CATEGORY_V3 = getMqCategoryV3(); @RavenwoodIgnore // Just use null on Ravenwood. private static com.android.internal.dev.perfetto.sdk.PerfettoTrace.Category getMqCategoryV3() { return new com.android.internal.dev.perfetto.sdk.PerfettoTrace.Category("mq"); } /** * This is temporary wrapper to check if either new or old APIs "mq" category is enabled, should * be called only from the MessageQueue.java and Looper.java. */ @android.ravenwood.annotation.RavenwoodReplace // Tracing currently completely disabled under Ravenwood, just return false. @RavenwoodIgnore public static boolean isMQCategoryEnabled() { if (PerfettoTrace.IS_USE_SDK_TRACING_API_V3) { return PerfettoTrace.MQ_CATEGORY_V3.isEnabled(); Loading @@ -77,11 +88,6 @@ public final class PerfettoTrace { return PerfettoTrace.MQ_CATEGORY.isEnabled(); } public static boolean isMQCategoryEnabled$ravenwood() { // Tracing currently completely disabled under Ravenwood return false; } /** * Perfetto category a trace event belongs to. * Registering a category is not sufficient to capture events within the category, it must Loading Loading @@ -138,36 +144,29 @@ public final class PerfettoTrace { } @FastNative @android.ravenwood.annotation.RavenwoodReplace @RavenwoodIgnore private static native long native_init(String name, String tag, String severity); @CriticalNative @android.ravenwood.annotation.RavenwoodReplace @RavenwoodIgnore private static native long native_delete(); @CriticalNative @RavenwoodIgnore private static native void native_register(long ptr); @CriticalNative @RavenwoodIgnore private static native void native_unregister(long ptr); @CriticalNative @RavenwoodIgnore private static native boolean native_is_enabled(long ptr); @CriticalNative @android.ravenwood.annotation.RavenwoodReplace @RavenwoodIgnore private static native long native_get_extra_ptr(long ptr); private static long native_init$ravenwood(String name, String tag, String severity) { // Tracing currently completely disabled under Ravenwood return 0; } private static long native_delete$ravenwood() { // Tracing currently completely disabled under Ravenwood return 0; } private static long native_get_extra_ptr$ravenwood(long ptr) { // Tracing currently completely disabled under Ravenwood return 0; } /** * Register the category. */ Loading Loading @@ -242,18 +241,31 @@ public final class PerfettoTrace { } @CriticalNative @RavenwoodIgnore private static native long native_get_process_track_uuid(); @CriticalNative @RavenwoodIgnore private static native long native_get_thread_track_uuid(long tid); @FastNative @RavenwoodIgnore private static native void native_activate_trigger(String name, int ttlMs); @FastNative @RavenwoodIgnore private static native void native_register(boolean isBackendInProcess); @RavenwoodIgnore private static native long native_start_session(boolean isBackendInProcess, byte[] config); @RavenwoodReplace private static native byte[] native_stop_session(long ptr); private static byte[] native_stop_session$ravenwood(long ptr) { return new byte[1]; // Just return something to avoid confusing callers. } /** * Writes a trace message to indicate a given section of code was invoked. * Loading Loading @@ -381,7 +393,7 @@ public final class PerfettoTrace { } /** Registers the process with Perfetto. */ @android.ravenwood.annotation.RavenwoodReplace @RavenwoodIgnore public static void register(boolean isBackendInProcess) { if (!isBackendInProcess) { sAttemptedSystemRegistration.set(true); Loading @@ -393,13 +405,8 @@ public final class PerfettoTrace { } } /** Ravenwood replacement for {@link #register(boolean)}. */ public static void register$ravenwood(boolean isBackendInProcess) { // Tracing currently completely disabled under Ravenwood } /** Registers categories with Perfetto. */ @android.ravenwood.annotation.RavenwoodReplace @RavenwoodIgnore public static void registerCategories() { if (IS_USE_SDK_TRACING_API_V3) { MQ_CATEGORY_V3.register(); Loading @@ -408,11 +415,6 @@ public final class PerfettoTrace { } } /** Ravenwood replacement for {@link #registerCategories()}. */ public static void registerCategories$ravenwood() { // Tracing currently completely disabled under Ravenwood } /** * Returns whether the calling process attempted to register with the system backend of perfetto * by calling {@code register(false)}. A true return does not mean that the registration is Loading