1// Signature format: 4.0 2package androidx.benchmark { 3 4 public final class BenchmarkState { 5 ctor @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkStateApi public BenchmarkState(optional Integer? warmupCount, optional Integer? repeatCount); 6 method @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkStateApi public java.util.List<java.lang.Double> getMeasurementTimeNs(); 7 method public boolean keepRunning(); 8 method public void pauseTiming(); 9 method @SuppressCompatibility @androidx.benchmark.BenchmarkState.Companion.ExperimentalExternalReport public static void reportData(String className, String testName, @IntRange(from=0L) long totalRunTimeNs, java.util.List<java.lang.Long> dataNs, @IntRange(from=0L) int warmupIterations, @IntRange(from=0L) long thermalThrottleSleepSeconds, @IntRange(from=1L) int repeatIterations); 10 method public void resumeTiming(); 11 field public static final androidx.benchmark.BenchmarkState.Companion Companion; 12 } 13 14 public static final class BenchmarkState.Companion { 15 method @SuppressCompatibility @androidx.benchmark.BenchmarkState.Companion.ExperimentalExternalReport public void reportData(String className, String testName, @IntRange(from=0L) long totalRunTimeNs, java.util.List<java.lang.Long> dataNs, @IntRange(from=0L) int warmupIterations, @IntRange(from=0L) long thermalThrottleSleepSeconds, @IntRange(from=1L) int repeatIterations); 16 } 17 18 @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget.FUNCTION) public static @interface BenchmarkState.Companion.ExperimentalExternalReport { 19 } 20 21 @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalBenchmarkConfigApi { 22 } 23 24 @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalBenchmarkStateApi { 25 } 26 27 @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public abstract class MetricCapture { 28 ctor public MetricCapture(java.util.List<java.lang.String> names); 29 method public abstract void capturePaused(); 30 method public abstract void captureResumed(); 31 method public abstract void captureStart(long timeNs); 32 method public abstract void captureStop(long timeNs, long[] output, int offset); 33 method public final java.util.List<java.lang.String> getNames(); 34 property public final java.util.List<java.lang.String> names; 35 } 36 37 @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public final class MicrobenchmarkConfig { 38 ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics, optional boolean shouldEnableTraceAppTag, optional boolean shouldEnablePerfettoSdkTracing, optional androidx.benchmark.ProfilerConfig? profiler); 39 method public java.util.List<androidx.benchmark.MetricCapture> getMetrics(); 40 method public androidx.benchmark.ProfilerConfig? getProfiler(); 41 method public boolean getShouldEnablePerfettoSdkTracing(); 42 method public boolean getShouldEnableTraceAppTag(); 43 property public final java.util.List<androidx.benchmark.MetricCapture> metrics; 44 property public final androidx.benchmark.ProfilerConfig? profiler; 45 property public final boolean shouldEnablePerfettoSdkTracing; 46 property public final boolean shouldEnableTraceAppTag; 47 } 48 49 @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public abstract sealed class ProfilerConfig { 50 } 51 52 public static final class ProfilerConfig.MethodTracing extends androidx.benchmark.ProfilerConfig { 53 ctor public ProfilerConfig.MethodTracing(); 54 } 55 56 public static final class ProfilerConfig.StackSampling extends androidx.benchmark.ProfilerConfig { 57 ctor public ProfilerConfig.StackSampling(); 58 } 59 60 @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public final class TimeCapture extends androidx.benchmark.MetricCapture { 61 ctor public TimeCapture(); 62 method public void capturePaused(); 63 method public void captureResumed(); 64 method public void captureStart(long timeNs); 65 method public void captureStop(long timeNs, long[] output, int offset); 66 } 67 68} 69 70package androidx.benchmark.perfetto { 71 72 @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface ExperimentalPerfettoCaptureApi { 73 } 74 75 @SuppressCompatibility @androidx.benchmark.perfetto.ExperimentalPerfettoCaptureApi public abstract sealed class PerfettoConfig { 76 } 77 78 public static final class PerfettoConfig.Binary extends androidx.benchmark.perfetto.PerfettoConfig { 79 ctor public PerfettoConfig.Binary(byte[] bytes); 80 method public byte[] getBytes(); 81 property public final byte[] bytes; 82 } 83 84 public static final class PerfettoConfig.Text extends androidx.benchmark.perfetto.PerfettoConfig { 85 ctor public PerfettoConfig.Text(String text); 86 method public String getText(); 87 property public final String text; 88 } 89 90 @SuppressCompatibility @RequiresApi(23) @androidx.benchmark.perfetto.ExperimentalPerfettoCaptureApi public final class PerfettoTrace { 91 ctor public PerfettoTrace(String path); 92 method public String getPath(); 93 method public static void record(String fileLabel, androidx.benchmark.perfetto.PerfettoConfig config, optional String highlightPackage, optional String? userspaceTracingPackage, kotlin.jvm.functions.Function0<kotlin.Unit> block); 94 method public static void record(String fileLabel, androidx.benchmark.perfetto.PerfettoConfig config, optional String highlightPackage, optional String? userspaceTracingPackage, optional kotlin.jvm.functions.Function1<? super androidx.benchmark.perfetto.PerfettoTrace,kotlin.Unit>? traceCallback, kotlin.jvm.functions.Function0<kotlin.Unit> block); 95 method public static void record(String fileLabel, androidx.benchmark.perfetto.PerfettoConfig config, optional String highlightPackage, kotlin.jvm.functions.Function0<kotlin.Unit> block); 96 method public static void record(String fileLabel, androidx.benchmark.perfetto.PerfettoConfig config, kotlin.jvm.functions.Function0<kotlin.Unit> block); 97 method public static void record(String fileLabel, optional java.util.List<java.lang.String> appTagPackages, optional String? userspaceTracingPackage, kotlin.jvm.functions.Function0<kotlin.Unit> block); 98 method public static void record(String fileLabel, optional java.util.List<java.lang.String> appTagPackages, optional String? userspaceTracingPackage, optional kotlin.jvm.functions.Function1<? super androidx.benchmark.perfetto.PerfettoTrace,kotlin.Unit>? traceCallback, kotlin.jvm.functions.Function0<kotlin.Unit> block); 99 method public static void record(String fileLabel, optional java.util.List<java.lang.String> appTagPackages, kotlin.jvm.functions.Function0<kotlin.Unit> block); 100 method public static void record(String fileLabel, kotlin.jvm.functions.Function0<kotlin.Unit> block); 101 property public final String path; 102 field public static final androidx.benchmark.perfetto.PerfettoTrace.Companion Companion; 103 } 104 105 public static final class PerfettoTrace.Companion { 106 method public void record(String fileLabel, androidx.benchmark.perfetto.PerfettoConfig config, optional String highlightPackage, optional String? userspaceTracingPackage, kotlin.jvm.functions.Function0<kotlin.Unit> block); 107 method public void record(String fileLabel, androidx.benchmark.perfetto.PerfettoConfig config, optional String highlightPackage, optional String? userspaceTracingPackage, optional kotlin.jvm.functions.Function1<? super androidx.benchmark.perfetto.PerfettoTrace,kotlin.Unit>? traceCallback, kotlin.jvm.functions.Function0<kotlin.Unit> block); 108 method public void record(String fileLabel, androidx.benchmark.perfetto.PerfettoConfig config, optional String highlightPackage, kotlin.jvm.functions.Function0<kotlin.Unit> block); 109 method public void record(String fileLabel, androidx.benchmark.perfetto.PerfettoConfig config, kotlin.jvm.functions.Function0<kotlin.Unit> block); 110 method public void record(String fileLabel, optional java.util.List<java.lang.String> appTagPackages, optional String? userspaceTracingPackage, kotlin.jvm.functions.Function0<kotlin.Unit> block); 111 method public void record(String fileLabel, optional java.util.List<java.lang.String> appTagPackages, optional String? userspaceTracingPackage, optional kotlin.jvm.functions.Function1<? super androidx.benchmark.perfetto.PerfettoTrace,kotlin.Unit>? traceCallback, kotlin.jvm.functions.Function0<kotlin.Unit> block); 112 method public void record(String fileLabel, optional java.util.List<java.lang.String> appTagPackages, kotlin.jvm.functions.Function0<kotlin.Unit> block); 113 method public void record(String fileLabel, kotlin.jvm.functions.Function0<kotlin.Unit> block); 114 } 115 116} 117 118