# androidx.tracing

*** ** * ** ***

## Annotations

|---|---|
| `https://developer.android.com/reference/androidx/tracing/DelicateTracingApi` | Represents an API surface that is typically only useful for custom implementations of a `https://developer.android.com/reference/androidx/tracing/AbstractTraceSink` or a `https://developer.android.com/reference/androidx/tracing/Track`. |
| `https://developer.android.com/reference/androidx/tracing/ExperimentalContextPropagation` | Represents an API surface that is typically only useful for custom context propagation. |

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/tracing/AbstractTraceDriver.Factory` | Provides the instance of `https://developer.android.com/reference/androidx/tracing/AbstractTraceDriver` that can be used for in-process-tracing. |
| `https://developer.android.com/reference/androidx/tracing/Counter` | Handle for emitting `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` or `https://developer.android.com/reference/androidx/tracing/Counter` counter event updates into a trace. |
| `https://developer.android.com/reference/androidx/tracing/PropagationToken` | A token representing state carried forward for context propagation. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/tracing/AbstractTraceDriver` | The entry point for the tracing API. |
| `https://developer.android.com/reference/androidx/tracing/AbstractTraceSink` | Receives `https://developer.android.com/reference/androidx/tracing/PooledTracePacketArray`s from `https://developer.android.com/reference/androidx/tracing/Track`s and asynchronously serializes them to a file or buffer, depending on implementation. |
| `https://developer.android.com/reference/androidx/tracing/AtomicBoolean` |   |
| `https://developer.android.com/reference/androidx/tracing/AtomicInteger` |   |
| `https://developer.android.com/reference/androidx/tracing/AtomicLong` |   |
| `https://developer.android.com/reference/androidx/tracing/AttributeEntry` | `https://developer.android.com/reference/androidx/tracing/TraceEvent`s can contain trace attributes that apply to the entire trace. |
| `https://developer.android.com/reference/androidx/tracing/ClockSourceKt` |   |
| `https://developer.android.com/reference/androidx/tracing/EventMetadata` | Makes it possible to associate debug metadata \& categories to a `https://developer.android.com/reference/androidx/tracing/TraceEvent`. |
| `https://developer.android.com/reference/androidx/tracing/EventMetadataCloseable` | A holder for a `https://developer.android.com/reference/androidx/tracing/EventMetadata` and the `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-auto-closeable/index.html`. |
| `https://developer.android.com/reference/androidx/tracing/Frame` | `https://developer.android.com/reference/androidx/tracing/TraceEvent`s can additionally contain callstack information. |
| `https://developer.android.com/reference/androidx/tracing/MetadataEntry` | `https://developer.android.com/reference/androidx/tracing/TraceEvent`s can contain metadata. |
| `https://developer.android.com/reference/androidx/tracing/PlatformThreadContextElement` | We use the `https://developer.android.com/reference/androidx/tracing/PlatformThreadContextElement` construct to know when a coroutine has suspended, and about to resume on a `Thread`. |
| `https://developer.android.com/reference/androidx/tracing/Poolable` | Represents an object that can be reused using a `https://developer.android.com/reference/androidx/tracing/Pool`. |
| `https://developer.android.com/reference/androidx/tracing/PooledTracePacketArray` |   |
| `https://developer.android.com/reference/androidx/tracing/Throwables` |   |
| `https://developer.android.com/reference/androidx/tracing/TraceAttributes` | Makes it possible to associate key value pairs to be attached to a trace to provide additional context about any facet of the trace. |
| `https://developer.android.com/reference/androidx/tracing/TraceEvent` | Mutable in-memory only representation a trace event, such as a slice start, slice end, or counter update. |
| `https://developer.android.com/reference/androidx/tracing/TraceKt` |   |
| `https://developer.android.com/reference/androidx/tracing/Tracer` | A `https://developer.android.com/reference/androidx/tracing/Tracer` is the entry point for all Tracing APIs. |
| `https://developer.android.com/reference/androidx/tracing/TrackDescriptor` | Low level representation of a Track, written once to the Trace. |
| `https://developer.android.com/reference/androidx/tracing/PropagationUnsupportedToken` | The `https://developer.android.com/reference/androidx/tracing/PropagationToken` instance that should be returned when context propagation is unsupported by the underlying `https://developer.android.com/reference/androidx/tracing/Tracer`. |
| `https://developer.android.com/reference/androidx/tracing/Trace` |   |
| `https://developer.android.com/reference/androidx/tracing/Tracer.Companion` |   |