# AbstractTraceDriver

Artifact: [androidx.tracing:tracing](https://developer.android.com/jetpack/androidx/releases/tracing) [View Source](https://cs.android.com/search?q=file:androidx/tracing/AbstractTraceDriver.kt+class:androidx.tracing.AbstractTraceDriver) Added in [2.0.5](https://developer.android.com/jetpack/androidx/releases/tracing#2.0.5)

*** ** * ** ***

Android/JVM
- android

  ```
  abstract class AbstractTraceDriver : AutoCloseable
  ```
Known direct subclasses [TraceDriver](https://developer.android.com/reference/kotlin/androidx/tracing/wire/TraceDriver)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/tracing/wire/TraceDriver` | The entry point to tracing APIs. |

*** ** * ** ***

The entry point for the tracing API.

## Summary

| ### Nested types |
|---|
| `interface https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver.Factory` Provides the instance of `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver` that can be used for in-process-tracing. |

| ### Protected constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver#AbstractTraceDriver(androidx.tracing.AbstractTraceSink)(sink: https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceSink)` Builds an instance of `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver` using the provided `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceSink`. | android |

| ### Public functions |
|---|---|---|
| `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver#close()()` Flushes all outstanding packets to the `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceSink` and then closes the `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceSink`. | android |
| `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver#flush()()` Flushes the trace packets into the underlying `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceSink`. | android |

| ### Public properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceSink` | `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver#sink()` The `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceSink` that asynchronously serializes trace events to a file or buffer, depending on implementation. | android |
| `abstract https://developer.android.com/reference/kotlin/androidx/tracing/Tracer` | `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver#tracer()` Return an instance of a `https://developer.android.com/reference/kotlin/androidx/tracing/Tracer` that can be used to emit trace events. | android |

## Protected constructors

### AbstractTraceDriver

android Added in [2.0.5](https://developer.android.com/jetpack/androidx/releases/tracing#2.0.5)

```
protected AbstractTraceDriver(sink: AbstractTraceSink)
```

Builds an instance of `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver` using the provided `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceSink`.

## Public functions

### close

android Added in [2.0.5](https://developer.android.com/jetpack/androidx/releases/tracing#2.0.5)

```
abstract fun close(): Unit
```

Flushes all outstanding packets to the `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceSink` and then closes the `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceSink`.

### flush

android Added in [2.0.5](https://developer.android.com/jetpack/androidx/releases/tracing#2.0.5)

```
abstract fun flush(): Unit
```

Flushes the trace packets into the underlying `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceSink`.

## Public properties

### sink

android Added in [2.0.5](https://developer.android.com/jetpack/androidx/releases/tracing#2.0.5)

```
val sink: AbstractTraceSink
```

The `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceSink` that asynchronously serializes trace events to a file or buffer, depending on implementation.

### tracer

android Added in [2.0.5](https://developer.android.com/jetpack/androidx/releases/tracing#2.0.5)

```
abstract val tracer: Tracer
```

Return an instance of a `https://developer.android.com/reference/kotlin/androidx/tracing/Tracer` that can be used to emit trace events.