1// Signature format: 4.0 2package androidx.benchmark { 3 4 public final class BenchmarkState { 5 method public boolean keepRunning(); 6 method @kotlin.PublishedApi internal boolean keepRunningInternal(); 7 method public void pauseTiming(); 8 method public void resumeTiming(); 9 property @kotlin.PublishedApi internal int iterationsRemaining; 10 field public static final androidx.benchmark.BenchmarkState.Companion Companion; 11 field @kotlin.PublishedApi internal int iterationsRemaining; 12 } 13 14 public static final class BenchmarkState.Companion { 15 } 16 17 @SuppressCompatibility @androidx.benchmark.ExperimentalBlackHoleApi public final class BlackHole { 18 method public static void consume(boolean value); 19 method public static void consume(byte value); 20 method public static void consume(char value); 21 method public static void consume(double value); 22 method public static void consume(float value); 23 method public static void consume(int value); 24 method public static void consume(Object value); 25 method public static void consume(long value); 26 method public static void consume(short value); 27 field public static final androidx.benchmark.BlackHole INSTANCE; 28 } 29 30 @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalBenchmarkConfigApi { 31 } 32 33 @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalBenchmarkStateApi { 34 } 35 36 @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalBlackHoleApi { 37 } 38 39 @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public final class ExperimentalConfig { 40 ctor public ExperimentalConfig(); 41 ctor public ExperimentalConfig(optional androidx.benchmark.perfetto.PerfettoConfig? perfettoConfig, optional androidx.benchmark.StartupInsightsConfig? startupInsightsConfig); 42 method public androidx.benchmark.perfetto.PerfettoConfig? getPerfettoConfig(); 43 method public androidx.benchmark.StartupInsightsConfig? getStartupInsightsConfig(); 44 property public androidx.benchmark.perfetto.PerfettoConfig? perfettoConfig; 45 property public androidx.benchmark.StartupInsightsConfig? startupInsightsConfig; 46 } 47 48 @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public abstract class MetricCapture { 49 ctor public MetricCapture(java.util.List<java.lang.String> names); 50 method public abstract void capturePaused(); 51 method public abstract void captureResumed(); 52 method public abstract void captureStart(long timeNs); 53 method public abstract void captureStop(long timeNs, long[] output, int offset); 54 method public final java.util.List<java.lang.String> getNames(); 55 property public final java.util.List<java.lang.String> names; 56 } 57 58 @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public final class MicrobenchmarkConfig { 59 ctor public MicrobenchmarkConfig(); 60 ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics); 61 ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics, optional boolean traceAppTagEnabled); 62 ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics, optional boolean traceAppTagEnabled, optional boolean perfettoSdkTracingEnabled); 63 ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics, optional boolean traceAppTagEnabled, optional boolean perfettoSdkTracingEnabled, optional androidx.benchmark.ProfilerConfig? profiler); 64 ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics, optional boolean traceAppTagEnabled, optional boolean perfettoSdkTracingEnabled, optional androidx.benchmark.ProfilerConfig? profiler, optional Integer? warmupCount); 65 ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics, optional boolean traceAppTagEnabled, optional boolean perfettoSdkTracingEnabled, optional androidx.benchmark.ProfilerConfig? profiler, optional Integer? warmupCount, optional Integer? measurementCount); 66 method public Integer? getMeasurementCount(); 67 method public java.util.List<androidx.benchmark.MetricCapture> getMetrics(); 68 method public androidx.benchmark.ProfilerConfig? getProfiler(); 69 method public Integer? getWarmupCount(); 70 method public boolean isPerfettoSdkTracingEnabled(); 71 method public boolean isTraceAppTagEnabled(); 72 property public Integer? measurementCount; 73 property public java.util.List<androidx.benchmark.MetricCapture> metrics; 74 property public boolean perfettoSdkTracingEnabled; 75 property public androidx.benchmark.ProfilerConfig? profiler; 76 property public boolean traceAppTagEnabled; 77 property public Integer? warmupCount; 78 } 79 80 public class MicrobenchmarkScope { 81 method public final void pauseMeasurement(); 82 method public final void resumeMeasurement(); 83 method public final inline <T> T runWithMeasurementDisabled(kotlin.jvm.functions.Function0<? extends T> block); 84 } 85 86 @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public abstract sealed class ProfilerConfig { 87 } 88 89 public static final class ProfilerConfig.MethodTracing extends androidx.benchmark.ProfilerConfig { 90 ctor public ProfilerConfig.MethodTracing(); 91 field public static final boolean AFFECTS_MEASUREMENTS_ON_THIS_DEVICE; 92 field public static final androidx.benchmark.ProfilerConfig.MethodTracing.Companion Companion; 93 } 94 95 public static final class ProfilerConfig.MethodTracing.Companion { 96 property public boolean AFFECTS_MEASUREMENTS_ON_THIS_DEVICE; 97 } 98 99 public static final class ProfilerConfig.StackSampling extends androidx.benchmark.ProfilerConfig { 100 ctor public ProfilerConfig.StackSampling(); 101 } 102 103 @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public final class StartupInsightsConfig { 104 ctor public StartupInsightsConfig(boolean isEnabled); 105 method public boolean isEnabled(); 106 property public boolean isEnabled; 107 } 108 109 @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public final class TimeCapture extends androidx.benchmark.MetricCapture { 110 ctor public TimeCapture(); 111 ctor public TimeCapture(optional String name); 112 method public void capturePaused(); 113 method public void captureResumed(); 114 method public void captureStart(long timeNs); 115 method public void captureStop(long timeNs, long[] output, int offset); 116 } 117 118} 119 120package androidx.benchmark.perfetto { 121 122 @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 { 123 } 124 125 @SuppressCompatibility @androidx.benchmark.perfetto.ExperimentalPerfettoCaptureApi public abstract sealed class PerfettoConfig { 126 } 127 128 public static final class PerfettoConfig.Binary extends androidx.benchmark.perfetto.PerfettoConfig { 129 ctor public PerfettoConfig.Binary(byte[] bytes); 130 method public byte[] getBytes(); 131 property public byte[] bytes; 132 } 133 134 public static final class PerfettoConfig.Text extends androidx.benchmark.perfetto.PerfettoConfig { 135 ctor public PerfettoConfig.Text(String text); 136 method public String getText(); 137 property public String text; 138 } 139 140} 141 142package androidx.benchmark.traceprocessor { 143 144 public final class PerfettoTraceKt { 145 method @SuppressCompatibility @RequiresApi(23) @androidx.benchmark.perfetto.ExperimentalPerfettoCaptureApi public static void record(androidx.benchmark.traceprocessor.PerfettoTrace.Companion, String fileLabel, androidx.benchmark.perfetto.PerfettoConfig config, optional String highlightPackage, optional String? userspaceTracingPackage, optional kotlin.jvm.functions.Function1<? super androidx.benchmark.traceprocessor.PerfettoTrace,kotlin.Unit>? traceCallback, kotlin.jvm.functions.Function0<kotlin.Unit> block); 146 method @SuppressCompatibility @RequiresApi(23) @androidx.benchmark.perfetto.ExperimentalPerfettoCaptureApi public static void record(androidx.benchmark.traceprocessor.PerfettoTrace.Companion, String fileLabel, optional java.util.List<java.lang.String> appTagPackages, optional String? userspaceTracingPackage, optional kotlin.jvm.functions.Function1<? super androidx.benchmark.traceprocessor.PerfettoTrace,kotlin.Unit>? traceCallback, kotlin.jvm.functions.Function0<kotlin.Unit> block); 147 } 148 149} 150 151