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