1// Signature format: 4.0
2package androidx.benchmark {
3
4  public final class BenchmarkState {
5    method public boolean keepRunning();
6    method @kotlin.PublishedApi internal boolean keepRunningInternal();
7    method public void pauseTiming();
8    method public void resumeTiming();
9    property @kotlin.PublishedApi internal int iterationsRemaining;
10    field public static final androidx.benchmark.BenchmarkState.Companion Companion;
11    field @kotlin.PublishedApi internal int iterationsRemaining;
12  }
13
14  public static final class BenchmarkState.Companion {
15  }
16
17  @SuppressCompatibility @androidx.benchmark.ExperimentalBlackHoleApi public final class BlackHole {
18    method public static void consume(boolean value);
19    method public static void consume(byte value);
20    method public static void consume(char value);
21    method public static void consume(double value);
22    method public static void consume(float value);
23    method public static void consume(int value);
24    method public static void consume(Object value);
25    method public static void consume(long value);
26    method public static void consume(short value);
27    field public static final androidx.benchmark.BlackHole INSTANCE;
28  }
29
30  @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalBenchmarkConfigApi {
31  }
32
33  @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalBenchmarkStateApi {
34  }
35
36  @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalBlackHoleApi {
37  }
38
39  @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public final class ExperimentalConfig {
40    ctor public ExperimentalConfig();
41    ctor public ExperimentalConfig(optional androidx.benchmark.perfetto.PerfettoConfig? perfettoConfig, optional androidx.benchmark.StartupInsightsConfig? startupInsightsConfig);
42    method public androidx.benchmark.perfetto.PerfettoConfig? getPerfettoConfig();
43    method public androidx.benchmark.StartupInsightsConfig? getStartupInsightsConfig();
44    property public androidx.benchmark.perfetto.PerfettoConfig? perfettoConfig;
45    property public androidx.benchmark.StartupInsightsConfig? startupInsightsConfig;
46  }
47
48  @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public abstract class MetricCapture {
49    ctor public MetricCapture(java.util.List<java.lang.String> names);
50    method public abstract void capturePaused();
51    method public abstract void captureResumed();
52    method public abstract void captureStart(long timeNs);
53    method public abstract void captureStop(long timeNs, long[] output, int offset);
54    method public final java.util.List<java.lang.String> getNames();
55    property public final java.util.List<java.lang.String> names;
56  }
57
58  @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public final class MicrobenchmarkConfig {
59    ctor public MicrobenchmarkConfig();
60    ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics);
61    ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics, optional boolean traceAppTagEnabled);
62    ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics, optional boolean traceAppTagEnabled, optional boolean perfettoSdkTracingEnabled);
63    ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics, optional boolean traceAppTagEnabled, optional boolean perfettoSdkTracingEnabled, optional androidx.benchmark.ProfilerConfig? profiler);
64    ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics, optional boolean traceAppTagEnabled, optional boolean perfettoSdkTracingEnabled, optional androidx.benchmark.ProfilerConfig? profiler, optional Integer? warmupCount);
65    ctor public MicrobenchmarkConfig(optional java.util.List<? extends androidx.benchmark.MetricCapture> metrics, optional boolean traceAppTagEnabled, optional boolean perfettoSdkTracingEnabled, optional androidx.benchmark.ProfilerConfig? profiler, optional Integer? warmupCount, optional Integer? measurementCount);
66    method public Integer? getMeasurementCount();
67    method public java.util.List<androidx.benchmark.MetricCapture> getMetrics();
68    method public androidx.benchmark.ProfilerConfig? getProfiler();
69    method public Integer? getWarmupCount();
70    method public boolean isPerfettoSdkTracingEnabled();
71    method public boolean isTraceAppTagEnabled();
72    property public Integer? measurementCount;
73    property public java.util.List<androidx.benchmark.MetricCapture> metrics;
74    property public boolean perfettoSdkTracingEnabled;
75    property public androidx.benchmark.ProfilerConfig? profiler;
76    property public boolean traceAppTagEnabled;
77    property public Integer? warmupCount;
78  }
79
80  public class MicrobenchmarkScope {
81    method public final void pauseMeasurement();
82    method public final void resumeMeasurement();
83    method public final inline <T> T runWithMeasurementDisabled(kotlin.jvm.functions.Function0<? extends T> block);
84  }
85
86  @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public abstract sealed class ProfilerConfig {
87  }
88
89  public static final class ProfilerConfig.MethodTracing extends androidx.benchmark.ProfilerConfig {
90    ctor public ProfilerConfig.MethodTracing();
91    field public static final boolean AFFECTS_MEASUREMENTS_ON_THIS_DEVICE;
92    field public static final androidx.benchmark.ProfilerConfig.MethodTracing.Companion Companion;
93  }
94
95  public static final class ProfilerConfig.MethodTracing.Companion {
96    property public boolean AFFECTS_MEASUREMENTS_ON_THIS_DEVICE;
97  }
98
99  public static final class ProfilerConfig.StackSampling extends androidx.benchmark.ProfilerConfig {
100    ctor public ProfilerConfig.StackSampling();
101  }
102
103  @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public final class StartupInsightsConfig {
104    ctor public StartupInsightsConfig(boolean isEnabled);
105    method public boolean isEnabled();
106    property public boolean isEnabled;
107  }
108
109  @SuppressCompatibility @androidx.benchmark.ExperimentalBenchmarkConfigApi public final class TimeCapture extends androidx.benchmark.MetricCapture {
110    ctor public TimeCapture();
111    ctor public TimeCapture(optional String name);
112    method public void capturePaused();
113    method public void captureResumed();
114    method public void captureStart(long timeNs);
115    method public void captureStop(long timeNs, long[] output, int offset);
116  }
117
118}
119
120package androidx.benchmark.perfetto {
121
122  @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface ExperimentalPerfettoCaptureApi {
123  }
124
125  @SuppressCompatibility @androidx.benchmark.perfetto.ExperimentalPerfettoCaptureApi public abstract sealed class PerfettoConfig {
126  }
127
128  public static final class PerfettoConfig.Binary extends androidx.benchmark.perfetto.PerfettoConfig {
129    ctor public PerfettoConfig.Binary(byte[] bytes);
130    method public byte[] getBytes();
131    property public byte[] bytes;
132  }
133
134  public static final class PerfettoConfig.Text extends androidx.benchmark.perfetto.PerfettoConfig {
135    ctor public PerfettoConfig.Text(String text);
136    method public String getText();
137    property public String text;
138  }
139
140}
141
142package androidx.benchmark.traceprocessor {
143
144  public final class PerfettoTraceKt {
145    method @SuppressCompatibility @RequiresApi(23) @androidx.benchmark.perfetto.ExperimentalPerfettoCaptureApi public static void record(androidx.benchmark.traceprocessor.PerfettoTrace.Companion, String fileLabel, androidx.benchmark.perfetto.PerfettoConfig config, optional String highlightPackage, optional String? userspaceTracingPackage, optional kotlin.jvm.functions.Function1<? super androidx.benchmark.traceprocessor.PerfettoTrace,kotlin.Unit>? traceCallback, kotlin.jvm.functions.Function0<kotlin.Unit> block);
146    method @SuppressCompatibility @RequiresApi(23) @androidx.benchmark.perfetto.ExperimentalPerfettoCaptureApi public static void record(androidx.benchmark.traceprocessor.PerfettoTrace.Companion, String fileLabel, optional java.util.List<java.lang.String> appTagPackages, optional String? userspaceTracingPackage, optional kotlin.jvm.functions.Function1<? super androidx.benchmark.traceprocessor.PerfettoTrace,kotlin.Unit>? traceCallback, kotlin.jvm.functions.Function0<kotlin.Unit> block);
147  }
148
149}
150
151