Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 25 additions & 6 deletions workflow-tracing-papa/api/workflow-tracing-papa.api
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
public final class com/squareup/workflow1/tracing/papa/PapaSafeTrace : com/squareup/workflow1/tracing/SafeTraceInterface {
public final class com/squareup/workflow1/tracing/WorkflowTrace : com/squareup/workflow1/tracing/TraceInterface {
public fun <init> ()V
public fun <init> (Z)V
public synthetic fun <init> (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V
Expand All @@ -11,11 +11,11 @@ public final class com/squareup/workflow1/tracing/papa/PapaSafeTrace : com/squar
public fun logSection (Ljava/lang/String;)V
}

public final class com/squareup/workflow1/tracing/papa/WorkflowPapaTracer : com/squareup/workflow1/tracing/WorkflowRuntimeTracer {
public static final field Companion Lcom/squareup/workflow1/tracing/papa/WorkflowPapaTracer$Companion;
public class com/squareup/workflow1/tracing/WorkflowTracer : com/squareup/workflow1/tracing/WorkflowRuntimeTracer {
public static final field Companion Lcom/squareup/workflow1/tracing/WorkflowTracer$Companion;
public fun <init> ()V
public fun <init> (Lcom/squareup/workflow1/tracing/SafeTraceInterface;)V
public synthetic fun <init> (Lcom/squareup/workflow1/tracing/SafeTraceInterface;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun <init> (Lcom/squareup/workflow1/tracing/TraceInterface;)V
public synthetic fun <init> (Lcom/squareup/workflow1/tracing/TraceInterface;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun onInitialState (Ljava/lang/Object;Lcom/squareup/workflow1/Snapshot;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function3;Lcom/squareup/workflow1/WorkflowInterceptor$WorkflowSession;)Ljava/lang/Object;
public fun onPropsChanged (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function3;Lcom/squareup/workflow1/WorkflowInterceptor$WorkflowSession;)Ljava/lang/Object;
public fun onRender (Ljava/lang/Object;Ljava/lang/Object;Lcom/squareup/workflow1/BaseRenderContext;Lkotlin/jvm/functions/Function3;Lcom/squareup/workflow1/WorkflowInterceptor$WorkflowSession;)Ljava/lang/Object;
Expand All @@ -27,6 +27,25 @@ public final class com/squareup/workflow1/tracing/papa/WorkflowPapaTracer : com/
public fun onWorkflowSessionStopped (J)V
}

public final class com/squareup/workflow1/tracing/papa/WorkflowPapaTracer$Companion {
public final class com/squareup/workflow1/tracing/WorkflowTracer$Companion {
}

public final class com/squareup/workflow1/tracing/papa/PapaSafeTrace : com/squareup/workflow1/tracing/TraceInterface {
public fun <init> ()V
public fun <init> (Z)V
public synthetic fun <init> (ZILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun beginAsyncSection (Ljava/lang/String;I)V
public fun beginSection (Ljava/lang/String;)V
public fun endAsyncSection (Ljava/lang/String;I)V
public fun endSection ()V
public fun isCurrentlyTracing ()Z
public fun isTraceable ()Z
public fun logSection (Ljava/lang/String;)V
}

public final class com/squareup/workflow1/tracing/papa/WorkflowPapaTracer : com/squareup/workflow1/tracing/WorkflowTracer {
public fun <init> ()V
public fun <init> (Lcom/squareup/workflow1/tracing/TraceInterface;)V
public synthetic fun <init> (Lcom/squareup/workflow1/tracing/TraceInterface;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.squareup.workflow1.tracing

import androidx.tracing.Trace
import androidx.tracing.trace

/**
* Production implementation of [TraceInterface] that uses androidx.tracing.Trace.
*
* @param isTraceable Whether tracing is enabled. Clients should configure this directly.
* Defaults to false for backwards compatibility.
*/
class WorkflowTrace(
override val isTraceable: Boolean = false
) : TraceInterface {

override val isCurrentlyTracing: Boolean
get() = Trace.isEnabled()

override fun beginSection(label: String) {
Trace.beginSection(label)
}

override fun endSection() {
Trace.endSection()
}

override fun beginAsyncSection(
name: String,
cookie: Int
) {
Trace.beginAsyncSection(name, cookie)
}

override fun endAsyncSection(
name: String,
cookie: Int
) {
Trace.endAsyncSection(name, cookie)
}

override fun logSection(info: String) {
trace(info) {}
}
}
Loading
Loading