Loading core/java/android/tracing/perfetto/InitArguments.java +14 −3 Original line number Original line Diff line number Diff line Loading @@ -26,6 +26,7 @@ import java.lang.annotation.RetentionPolicy; */ */ public class InitArguments { public class InitArguments { public final @PerfettoBackend int backends; public final @PerfettoBackend int backends; public final int shmemSizeHintKb; /** /** * @hide * @hide Loading @@ -44,11 +45,21 @@ public class InitArguments { // on Linux/Android/Mac uses a named UNIX socket). // on Linux/Android/Mac uses a named UNIX socket). public static final int PERFETTO_BACKEND_SYSTEM = (1 << 1); public static final int PERFETTO_BACKEND_SYSTEM = (1 << 1); public static InitArguments DEFAULTS = new InitArguments(PERFETTO_BACKEND_SYSTEM); public static InitArguments DEFAULTS = new InitArguments(PERFETTO_BACKEND_SYSTEM, 0); public static InitArguments TESTING = new InitArguments(PERFETTO_BACKEND_IN_PROCESS); public static InitArguments TESTING = new InitArguments(PERFETTO_BACKEND_IN_PROCESS, 0); public InitArguments(@PerfettoBackend int backends) { /** * Perfetto initialization arguments. * * @param backends Bitwise-or of backends that should be enabled. * @param shmemSizeHintKb [Optional] Tune the size of the shared memory buffer between the * current process and the service backend(s). This is a trade-off between memory footprint and * the ability to sustain bursts of trace writes. If set, the value must be a multiple of 4KB. * The value can be ignored if larger than kMaxShmSize (32MB) or not a multiple of 4KB. */ public InitArguments(@PerfettoBackend int backends, int shmemSizeHintKb) { this.backends = backends; this.backends = backends; this.shmemSizeHintKb = shmemSizeHintKb; } } } } core/java/android/tracing/perfetto/Producer.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -27,8 +27,8 @@ public class Producer { * @param args arguments on how to initialize the Perfetto producer. * @param args arguments on how to initialize the Perfetto producer. */ */ public static void init(InitArguments args) { public static void init(InitArguments args) { nativePerfettoProducerInit(args.backends); nativePerfettoProducerInit(args.backends, args.shmemSizeHintKb); } } private static native void nativePerfettoProducerInit(int backends); private static native void nativePerfettoProducerInit(int backends, int shmemSizeHintKb); } } core/jni/android_tracing_PerfettoProducer.cpp +5 −3 Original line number Original line Diff line number Diff line Loading @@ -34,15 +34,17 @@ namespace android { namespace android { void perfettoProducerInit(JNIEnv* env, jclass clazz, int backends) { void perfettoProducerInit(JNIEnv* env, jclass clazz, PerfettoBackendTypes backends, uint32_t shmem_size_hint_kb) { struct PerfettoProducerInitArgs args = PERFETTO_PRODUCER_INIT_ARGS_INIT(); struct PerfettoProducerInitArgs args = PERFETTO_PRODUCER_INIT_ARGS_INIT(); args.backends = (PerfettoBackendTypes)backends; args.backends = backends; args.shmem_size_hint_kb = shmem_size_hint_kb; PerfettoProducerInit(args); PerfettoProducerInit(args); } } const JNINativeMethod gMethods[] = { const JNINativeMethod gMethods[] = { /* name, signature, funcPtr */ /* name, signature, funcPtr */ {"nativePerfettoProducerInit", "(I)V", (void*)perfettoProducerInit}, {"nativePerfettoProducerInit", "(II)V", (void*)perfettoProducerInit}, }; }; int register_android_tracing_PerfettoProducer(JNIEnv* env) { int register_android_tracing_PerfettoProducer(JNIEnv* env) { Loading Loading
core/java/android/tracing/perfetto/InitArguments.java +14 −3 Original line number Original line Diff line number Diff line Loading @@ -26,6 +26,7 @@ import java.lang.annotation.RetentionPolicy; */ */ public class InitArguments { public class InitArguments { public final @PerfettoBackend int backends; public final @PerfettoBackend int backends; public final int shmemSizeHintKb; /** /** * @hide * @hide Loading @@ -44,11 +45,21 @@ public class InitArguments { // on Linux/Android/Mac uses a named UNIX socket). // on Linux/Android/Mac uses a named UNIX socket). public static final int PERFETTO_BACKEND_SYSTEM = (1 << 1); public static final int PERFETTO_BACKEND_SYSTEM = (1 << 1); public static InitArguments DEFAULTS = new InitArguments(PERFETTO_BACKEND_SYSTEM); public static InitArguments DEFAULTS = new InitArguments(PERFETTO_BACKEND_SYSTEM, 0); public static InitArguments TESTING = new InitArguments(PERFETTO_BACKEND_IN_PROCESS); public static InitArguments TESTING = new InitArguments(PERFETTO_BACKEND_IN_PROCESS, 0); public InitArguments(@PerfettoBackend int backends) { /** * Perfetto initialization arguments. * * @param backends Bitwise-or of backends that should be enabled. * @param shmemSizeHintKb [Optional] Tune the size of the shared memory buffer between the * current process and the service backend(s). This is a trade-off between memory footprint and * the ability to sustain bursts of trace writes. If set, the value must be a multiple of 4KB. * The value can be ignored if larger than kMaxShmSize (32MB) or not a multiple of 4KB. */ public InitArguments(@PerfettoBackend int backends, int shmemSizeHintKb) { this.backends = backends; this.backends = backends; this.shmemSizeHintKb = shmemSizeHintKb; } } } }
core/java/android/tracing/perfetto/Producer.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -27,8 +27,8 @@ public class Producer { * @param args arguments on how to initialize the Perfetto producer. * @param args arguments on how to initialize the Perfetto producer. */ */ public static void init(InitArguments args) { public static void init(InitArguments args) { nativePerfettoProducerInit(args.backends); nativePerfettoProducerInit(args.backends, args.shmemSizeHintKb); } } private static native void nativePerfettoProducerInit(int backends); private static native void nativePerfettoProducerInit(int backends, int shmemSizeHintKb); } }
core/jni/android_tracing_PerfettoProducer.cpp +5 −3 Original line number Original line Diff line number Diff line Loading @@ -34,15 +34,17 @@ namespace android { namespace android { void perfettoProducerInit(JNIEnv* env, jclass clazz, int backends) { void perfettoProducerInit(JNIEnv* env, jclass clazz, PerfettoBackendTypes backends, uint32_t shmem_size_hint_kb) { struct PerfettoProducerInitArgs args = PERFETTO_PRODUCER_INIT_ARGS_INIT(); struct PerfettoProducerInitArgs args = PERFETTO_PRODUCER_INIT_ARGS_INIT(); args.backends = (PerfettoBackendTypes)backends; args.backends = backends; args.shmem_size_hint_kb = shmem_size_hint_kb; PerfettoProducerInit(args); PerfettoProducerInit(args); } } const JNINativeMethod gMethods[] = { const JNINativeMethod gMethods[] = { /* name, signature, funcPtr */ /* name, signature, funcPtr */ {"nativePerfettoProducerInit", "(I)V", (void*)perfettoProducerInit}, {"nativePerfettoProducerInit", "(II)V", (void*)perfettoProducerInit}, }; }; int register_android_tracing_PerfettoProducer(JNIEnv* env) { int register_android_tracing_PerfettoProducer(JNIEnv* env) { Loading