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