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