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