# AbstractTraceDriver.Factory

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.Factory) Added in [2.0.5](https://developer.android.com/jetpack/androidx/releases/tracing#2.0.5)

*** ** * ** ***

Android/JVM
- android

  ```
  interface AbstractTraceDriver.Factory
  ```

*** ** * ** ***

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

On Android, The `android.app.Application` subtype should implement this, to provide a canonical process wide `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver`.

When using `androidx.tracing:tracing-wire`, `androidx.tracing.profiler.ConnectedProfilerTracingInitializer` discovers the `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver.Factory`, and constructs the instance. It then registers a global `https://developer.android.com/reference/kotlin/androidx/tracing/Tracer` by calling `https://developer.android.com/reference/kotlin/androidx/tracing/Tracer#setGlobalTracer(androidx.tracing.Tracer)`.

Otherwise, construct `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver` during startup and register it via `https://developer.android.com/reference/kotlin/androidx/tracing/Tracer#setGlobalTracer(androidx.tracing.Tracer)` so other components can discover and use it.

## Summary

| ### Public functions |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver` | `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver.Factory#create()()` | android |

## Public functions

### create

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

```
fun create(): AbstractTraceDriver
```

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver` | The `https://developer.android.com/reference/kotlin/androidx/tracing/AbstractTraceDriver` instance that can be used for in-process tracing. |