PerfettoTraceKt
public final class PerfettoTraceKt
Summary
Public methods |
|
|---|---|
static final void |
@ExperimentalPerfettoCaptureApiRecord a Perfetto System Trace for the specified |
static final void |
@ExperimentalPerfettoCaptureApiRecord a Perfetto System Trace for the specified |
Public methods
record
@ExperimentalPerfettoCaptureApi
public static final void record(
@NonNull PerfettoTrace.Companion receiver,
@NonNull String fileLabel,
@NonNull List<@NonNull String> appTagPackages,
String userspaceTracingPackage,
Function1<@NonNull PerfettoTrace, Unit> traceCallback,
@NonNull Function0<Unit> block
)
Record a Perfetto System Trace for the specified block.
PerfettoTrace.record("myTrace") {
// content in here is traced to myTrace_<timestamp>.perfetto_trace
}Reentrant Perfetto trace capture is not supported, so this API may not be combined with BenchmarkRule, MacrobenchmarkRule, or PerfettoTraceRule.
If the block throws, the trace is still captured and passed to traceCallback.
record
@ExperimentalPerfettoCaptureApi
public static final void record(
@NonNull PerfettoTrace.Companion receiver,
@NonNull String fileLabel,
@NonNull PerfettoConfig config,
String userspaceTracingPackage,
Function1<@NonNull PerfettoTrace, Unit> traceCallback,
@NonNull Function0<Unit> block
)
Record a Perfetto System Trace for the specified block, with a fully custom Perfetto config, either text or binary.
PerfettoTrace.record("myTrace", config = """...""") {
// content in here is traced to myTrace_<timestamp>.perfetto_trace
}Reentrant Perfetto trace capture is not supported, so this API may not be combined with BenchmarkRule, MacrobenchmarkRule, or PerfettoTraceRule.
If the block throws, the trace is still captured and passed to traceCallback.