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