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