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