1// Signature format: 4.0
2package androidx.benchmark.macro {
3
4  @SuppressCompatibility @androidx.benchmark.macro.ExperimentalMetricApi public final class AudioUnderrunMetric extends androidx.benchmark.macro.Metric {
5    ctor public AudioUnderrunMetric();
6  }
7
8  public enum BaselineProfileMode {
9    enum_constant public static final androidx.benchmark.macro.BaselineProfileMode Disable;
10    enum_constant public static final androidx.benchmark.macro.BaselineProfileMode Require;
11    enum_constant public static final androidx.benchmark.macro.BaselineProfileMode UseIfAvailable;
12  }
13
14  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class BatteryCharge {
15    method public boolean hasMinimumCharge(optional boolean throwOnMissingMetrics);
16    field public static final androidx.benchmark.macro.BatteryCharge INSTANCE;
17  }
18
19  public abstract sealed class CompilationMode {
20    field public static final androidx.benchmark.macro.CompilationMode.Companion Companion;
21    field public static final androidx.benchmark.macro.CompilationMode DEFAULT;
22  }
23
24  public static final class CompilationMode.Companion {
25  }
26
27  public static final class CompilationMode.Full extends androidx.benchmark.macro.CompilationMode {
28    ctor public CompilationMode.Full();
29  }
30
31  @SuppressCompatibility @androidx.benchmark.macro.ExperimentalMacrobenchmarkApi public static final class CompilationMode.Ignore extends androidx.benchmark.macro.CompilationMode {
32    ctor public CompilationMode.Ignore();
33  }
34
35  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final class CompilationMode.Interpreted extends androidx.benchmark.macro.CompilationMode {
36    field public static final androidx.benchmark.macro.CompilationMode.Interpreted INSTANCE;
37  }
38
39  @RequiresApi(24) public static final class CompilationMode.None extends androidx.benchmark.macro.CompilationMode {
40    ctor public CompilationMode.None();
41  }
42
43  @RequiresApi(24) public static final class CompilationMode.Partial extends androidx.benchmark.macro.CompilationMode {
44    ctor public CompilationMode.Partial();
45    ctor public CompilationMode.Partial(optional androidx.benchmark.macro.BaselineProfileMode baselineProfileMode);
46    ctor public CompilationMode.Partial(optional androidx.benchmark.macro.BaselineProfileMode baselineProfileMode, optional @IntRange(from=0L) int warmupIterations);
47    method public androidx.benchmark.macro.BaselineProfileMode getBaselineProfileMode();
48    method public int getWarmupIterations();
49    property public final androidx.benchmark.macro.BaselineProfileMode baselineProfileMode;
50    property public final int warmupIterations;
51  }
52
53  public final class CompilationModeKt {
54    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static boolean isSupportedWithVmSettings(androidx.benchmark.macro.CompilationMode);
55  }
56
57  @SuppressCompatibility @kotlin.RequiresOptIn(message="This Macrobenchmark API is experimental.") @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface ExperimentalMacrobenchmarkApi {
58  }
59
60  @SuppressCompatibility @kotlin.RequiresOptIn(message="This Metric API is experimental.") @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface ExperimentalMetricApi {
61  }
62
63  public final class FrameTimingMetric extends androidx.benchmark.macro.Metric {
64    ctor public FrameTimingMetric();
65  }
66
67  public final class MacrobenchmarkScope {
68    ctor public MacrobenchmarkScope(String packageName, boolean launchWithClearTask);
69    method public void dropKernelPageCache();
70    method public void dropShaderCache();
71    method public androidx.test.uiautomator.UiDevice getDevice();
72    method public Integer? getIteration();
73    method public String getPackageName();
74    method public void killProcess();
75    method public void killProcess(optional boolean useKillAll);
76    method public void pressHome();
77    method public void pressHome(optional long delayDurationMs);
78    method public void startActivityAndWait();
79    method public void startActivityAndWait(android.content.Intent intent);
80    method public void startActivityAndWait(optional kotlin.jvm.functions.Function1<? super android.content.Intent,kotlin.Unit> block);
81    property public final androidx.test.uiautomator.UiDevice device;
82    property public final Integer? iteration;
83    property public final String packageName;
84  }
85
86  @SuppressCompatibility @androidx.benchmark.macro.ExperimentalMetricApi public final class MemoryCountersMetric extends androidx.benchmark.macro.TraceMetric {
87    ctor public MemoryCountersMetric();
88    method public java.util.List<androidx.benchmark.macro.Metric.Measurement> getResult(androidx.benchmark.macro.Metric.CaptureInfo captureInfo, androidx.benchmark.perfetto.PerfettoTraceProcessor.Session traceSession);
89  }
90
91  @SuppressCompatibility @androidx.benchmark.macro.ExperimentalMetricApi public final class MemoryUsageMetric extends androidx.benchmark.macro.TraceMetric {
92    ctor public MemoryUsageMetric(androidx.benchmark.macro.MemoryUsageMetric.Mode mode, optional java.util.List<? extends androidx.benchmark.macro.MemoryUsageMetric.SubMetric> subMetrics);
93    method public java.util.List<androidx.benchmark.macro.Metric.Measurement> getResult(androidx.benchmark.macro.Metric.CaptureInfo captureInfo, androidx.benchmark.perfetto.PerfettoTraceProcessor.Session traceSession);
94  }
95
96  public enum MemoryUsageMetric.Mode {
97    enum_constant public static final androidx.benchmark.macro.MemoryUsageMetric.Mode Last;
98    enum_constant public static final androidx.benchmark.macro.MemoryUsageMetric.Mode Max;
99  }
100
101  public enum MemoryUsageMetric.SubMetric {
102    enum_constant public static final androidx.benchmark.macro.MemoryUsageMetric.SubMetric Gpu;
103    enum_constant public static final androidx.benchmark.macro.MemoryUsageMetric.SubMetric HeapSize;
104    enum_constant public static final androidx.benchmark.macro.MemoryUsageMetric.SubMetric RssAnon;
105    enum_constant public static final androidx.benchmark.macro.MemoryUsageMetric.SubMetric RssFile;
106    enum_constant public static final androidx.benchmark.macro.MemoryUsageMetric.SubMetric RssShmem;
107  }
108
109  public abstract sealed class Metric {
110  }
111
112  @SuppressCompatibility @androidx.benchmark.macro.ExperimentalMetricApi public static final class Metric.CaptureInfo {
113    ctor public Metric.CaptureInfo(int apiLevel, String targetPackageName, String testPackageName, androidx.benchmark.macro.StartupMode? startupMode);
114    method public int component1();
115    method public String component2();
116    method public String component3();
117    method public androidx.benchmark.macro.StartupMode? component4();
118    method public androidx.benchmark.macro.Metric.CaptureInfo copy(int apiLevel, String targetPackageName, String testPackageName, androidx.benchmark.macro.StartupMode? startupMode);
119    method public int getApiLevel();
120    method public androidx.benchmark.macro.StartupMode? getStartupMode();
121    method public String getTargetPackageName();
122    method public String getTestPackageName();
123    property public final int apiLevel;
124    property public final androidx.benchmark.macro.StartupMode? startupMode;
125    property public final String targetPackageName;
126    property public final String testPackageName;
127  }
128
129  @SuppressCompatibility @androidx.benchmark.macro.ExperimentalMetricApi public static final class Metric.Measurement {
130    ctor public Metric.Measurement(String name, double data);
131    ctor public Metric.Measurement(String name, java.util.List<java.lang.Double> dataSamples);
132    method public String component1();
133    method public java.util.List<java.lang.Double> component2();
134    method public boolean component3();
135    method public androidx.benchmark.macro.Metric.Measurement copy(String name, java.util.List<java.lang.Double> data, boolean requireSingleValue);
136    method public java.util.List<java.lang.Double> getData();
137    method public String getName();
138    method public boolean getRequireSingleValue();
139    property public final java.util.List<java.lang.Double> data;
140    property public final String name;
141    property public final boolean requireSingleValue;
142  }
143
144  public final class MetricResultExtensionsKt {
145    method @SuppressCompatibility @androidx.benchmark.macro.ExperimentalMetricApi public static void assertEqualMeasurements(java.util.List<androidx.benchmark.macro.Metric.Measurement> expected, java.util.List<androidx.benchmark.macro.Metric.Measurement> observed, double threshold);
146  }
147
148  @SuppressCompatibility @androidx.benchmark.macro.ExperimentalMetricApi public enum PowerCategory {
149    enum_constant public static final androidx.benchmark.macro.PowerCategory CPU;
150    enum_constant public static final androidx.benchmark.macro.PowerCategory DISPLAY;
151    enum_constant public static final androidx.benchmark.macro.PowerCategory GPS;
152    enum_constant public static final androidx.benchmark.macro.PowerCategory GPU;
153    enum_constant public static final androidx.benchmark.macro.PowerCategory MACHINE_LEARNING;
154    enum_constant public static final androidx.benchmark.macro.PowerCategory MEMORY;
155    enum_constant public static final androidx.benchmark.macro.PowerCategory NETWORK;
156    enum_constant public static final androidx.benchmark.macro.PowerCategory UNCATEGORIZED;
157  }
158
159  @SuppressCompatibility @androidx.benchmark.macro.ExperimentalMetricApi public enum PowerCategoryDisplayLevel {
160    enum_constant public static final androidx.benchmark.macro.PowerCategoryDisplayLevel BREAKDOWN;
161    enum_constant public static final androidx.benchmark.macro.PowerCategoryDisplayLevel TOTAL;
162  }
163
164  @SuppressCompatibility @RequiresApi(29) @androidx.benchmark.macro.ExperimentalMetricApi public final class PowerMetric extends androidx.benchmark.macro.Metric {
165    ctor public PowerMetric(androidx.benchmark.macro.PowerMetric.Type type);
166    method public static androidx.benchmark.macro.PowerMetric.Type.Battery Battery();
167    method public static androidx.benchmark.macro.PowerMetric.Type.Energy Energy(optional java.util.Map<androidx.benchmark.macro.PowerCategory,? extends androidx.benchmark.macro.PowerCategoryDisplayLevel> categories);
168    method public static androidx.benchmark.macro.PowerMetric.Type.Power Power(optional java.util.Map<androidx.benchmark.macro.PowerCategory,? extends androidx.benchmark.macro.PowerCategoryDisplayLevel> categories);
169    field public static final androidx.benchmark.macro.PowerMetric.Companion Companion;
170  }
171
172  public static final class PowerMetric.Companion {
173    method public androidx.benchmark.macro.PowerMetric.Type.Battery Battery();
174    method public androidx.benchmark.macro.PowerMetric.Type.Energy Energy(optional java.util.Map<androidx.benchmark.macro.PowerCategory,? extends androidx.benchmark.macro.PowerCategoryDisplayLevel> categories);
175    method public androidx.benchmark.macro.PowerMetric.Type.Power Power(optional java.util.Map<androidx.benchmark.macro.PowerCategory,? extends androidx.benchmark.macro.PowerCategoryDisplayLevel> categories);
176  }
177
178  public abstract static sealed class PowerMetric.Type {
179    method public final java.util.Map<androidx.benchmark.macro.PowerCategory,androidx.benchmark.macro.PowerCategoryDisplayLevel> getCategories();
180    method public final void setCategories(java.util.Map<androidx.benchmark.macro.PowerCategory,? extends androidx.benchmark.macro.PowerCategoryDisplayLevel>);
181    property public final java.util.Map<androidx.benchmark.macro.PowerCategory,androidx.benchmark.macro.PowerCategoryDisplayLevel> categories;
182  }
183
184  public static final class PowerMetric.Type.Battery extends androidx.benchmark.macro.PowerMetric.Type {
185    ctor public PowerMetric.Type.Battery();
186  }
187
188  public static final class PowerMetric.Type.Energy extends androidx.benchmark.macro.PowerMetric.Type {
189    ctor public PowerMetric.Type.Energy(optional java.util.Map<androidx.benchmark.macro.PowerCategory,? extends androidx.benchmark.macro.PowerCategoryDisplayLevel> energyCategories);
190  }
191
192  public static final class PowerMetric.Type.Power extends androidx.benchmark.macro.PowerMetric.Type {
193    ctor public PowerMetric.Type.Power(optional java.util.Map<androidx.benchmark.macro.PowerCategory,? extends androidx.benchmark.macro.PowerCategoryDisplayLevel> powerCategories);
194  }
195
196  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class PowerRail {
197    method public boolean hasMetrics(optional boolean throwOnMissingMetrics);
198    field public static final androidx.benchmark.macro.PowerRail INSTANCE;
199  }
200
201  public enum StartupMode {
202    enum_constant public static final androidx.benchmark.macro.StartupMode COLD;
203    enum_constant public static final androidx.benchmark.macro.StartupMode HOT;
204    enum_constant public static final androidx.benchmark.macro.StartupMode WARM;
205  }
206
207  @RequiresApi(29) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class StartupTimingLegacyMetric extends androidx.benchmark.macro.Metric {
208    ctor public StartupTimingLegacyMetric();
209  }
210
211  public final class StartupTimingMetric extends androidx.benchmark.macro.Metric {
212    ctor public StartupTimingMetric();
213  }
214
215  @SuppressCompatibility @androidx.benchmark.macro.ExperimentalMetricApi public abstract class TraceMetric extends androidx.benchmark.macro.Metric {
216    ctor public TraceMetric();
217    method public abstract java.util.List<androidx.benchmark.macro.Metric.Measurement> getResult(androidx.benchmark.macro.Metric.CaptureInfo captureInfo, androidx.benchmark.perfetto.PerfettoTraceProcessor.Session traceSession);
218  }
219
220  @SuppressCompatibility @androidx.benchmark.macro.ExperimentalMetricApi public final class TraceSectionMetric extends androidx.benchmark.macro.Metric {
221    ctor public TraceSectionMetric(String sectionName, optional androidx.benchmark.macro.TraceSectionMetric.Mode mode, optional boolean targetPackageOnly);
222  }
223
224  public enum TraceSectionMetric.Mode {
225    enum_constant public static final androidx.benchmark.macro.TraceSectionMetric.Mode First;
226    enum_constant public static final androidx.benchmark.macro.TraceSectionMetric.Mode Sum;
227  }
228
229}
230
231package androidx.benchmark.perfetto {
232
233  @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface ExperimentalPerfettoTraceProcessorApi {
234  }
235
236  @SuppressCompatibility @androidx.benchmark.perfetto.ExperimentalPerfettoTraceProcessorApi public final class PerfettoTraceProcessor {
237    ctor public PerfettoTraceProcessor();
238    method public <T> T loadTrace(androidx.benchmark.perfetto.PerfettoTrace trace, kotlin.jvm.functions.Function1<? super androidx.benchmark.perfetto.PerfettoTraceProcessor.Session,? extends T> block);
239    method public static <T> T runServer(kotlin.jvm.functions.Function1<? super androidx.benchmark.perfetto.PerfettoTraceProcessor,? extends T> block);
240    field public static final androidx.benchmark.perfetto.PerfettoTraceProcessor.Companion Companion;
241  }
242
243  public static final class PerfettoTraceProcessor.Companion {
244    method public <T> T runServer(kotlin.jvm.functions.Function1<? super androidx.benchmark.perfetto.PerfettoTraceProcessor,? extends T> block);
245  }
246
247  public static final class PerfettoTraceProcessor.Session {
248    method public kotlin.sequences.Sequence<androidx.benchmark.perfetto.Row> query(@org.intellij.lang.annotations.Language("sql") String query);
249    method public byte[] rawQuery(@org.intellij.lang.annotations.Language("sql") String query);
250  }
251
252  @SuppressCompatibility @androidx.benchmark.perfetto.ExperimentalPerfettoTraceProcessorApi public final class Row implements kotlin.jvm.internal.markers.KMappedMarker java.util.Map<java.lang.String,java.lang.Object> {
253    ctor public Row(java.util.Map<java.lang.String,?> map);
254    method public byte[] bytes(String columnName);
255    method public double double(String columnName);
256    method public long long(String columnName);
257    method public byte[]? nullableBytes(String columnName);
258    method public Double? nullableDouble(String columnName);
259    method public Long? nullableLong(String columnName);
260    method public String? nullableString(String columnName);
261    method public String string(String columnName);
262  }
263
264  public final class RowKt {
265    method @SuppressCompatibility @androidx.benchmark.perfetto.ExperimentalPerfettoTraceProcessorApi public static androidx.benchmark.perfetto.Row rowOf(kotlin.Pair<java.lang.String,?>... pairs);
266  }
267
268}
269
270