# InProcessTracingMode

Artifact: [androidx.benchmark:benchmark-common](https://developer.android.com/jetpack/androidx/releases/benchmark) [View Source](https://cs.android.com/search?q=file:androidx/benchmark/ExperimentalBenchmarkConfigApi.kt+class:androidx.benchmark.InProcessTracingMode) Added in [1.5.0](https://developer.android.com/jetpack/androidx/releases/benchmark#1.5.0)

*** ** * ** ***


```
@ExperimentalBenchmarkConfigApi
enum InProcessTracingMode : Enum<InProcessTracingMode>
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [kotlin.Enum](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-enum/index.html)\<[InProcessTracingMode](https://developer.android.com/reference/kotlin/androidx/benchmark/InProcessTracingMode)\> ||
|   | ↳ | [androidx.benchmark.InProcessTracingMode](https://developer.android.com/reference/kotlin/androidx/benchmark/InProcessTracingMode) |

*** ** * ** ***

Configuration for in-process tracing.

By passing this object in `MacrobenchmarkRule` you can enable capture of in-process traces.

## Summary

| ### Enum Values |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/benchmark/InProcessTracingMode#Disable` | Do not include in-process traces. |
| `https://developer.android.com/reference/kotlin/androidx/benchmark/InProcessTracingMode#Require` | Enable in-process tracing, which requires the target application to include the `androidx.tracing:tracing-wire` dependency. |
| `https://developer.android.com/reference/kotlin/androidx/benchmark/InProcessTracingMode#UseIfAvailable` | Enable in-process tracing if the app depends on `androidx.tracing:tracing-wire`. |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/benchmark/InProcessTracingMode` | `https://developer.android.com/reference/kotlin/androidx/benchmark/InProcessTracingMode#valueOf(kotlin.String)(value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)` Returns the enum constant of this type with the specified name. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://developer.android.com/reference/kotlin/androidx/benchmark/InProcessTracingMode>` | `https://developer.android.com/reference/kotlin/androidx/benchmark/InProcessTracingMode#values()()` Returns an array containing the constants of this enum type, in the order they're declared. |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.enums/-enum-entries/index.html<https://developer.android.com/reference/kotlin/androidx/benchmark/InProcessTracingMode>` | `https://developer.android.com/reference/kotlin/androidx/benchmark/InProcessTracingMode#entries()` Returns an immutable `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.enums/-enum-entries/index.html` list containing the constants of this enum type, in the order they're declared. |

## Enum Values

### Disable

```
@ExperimentalBenchmarkConfigApi
val InProcessTracingMode.Disable: InProcessTracingMode
```

Do not include in-process traces.

### Require

```
@ExperimentalBenchmarkConfigApi
val InProcessTracingMode.Require: InProcessTracingMode
```

Enable in-process tracing, which requires the target application to include the `androidx.tracing:tracing-wire` dependency.

If `androidx.tracing:tracing-wire` is not present in the target application, an exception is thrown during the benchmark.

### UseIfAvailable

```
@ExperimentalBenchmarkConfigApi
val InProcessTracingMode.UseIfAvailable: InProcessTracingMode
```

Enable in-process tracing if the app depends on `androidx.tracing:tracing-wire`.

## Public functions

### valueOf

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

```
fun valueOf(value: String): InProcessTracingMode
```

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if this enum type has no constant with the specified name |

### values

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

```
fun values(): Array<InProcessTracingMode>
```

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

The function returns a new instance of the array on every call. The array could be mutated, so working with it may also require defensive copying. Consider using `entries` property as a more efficient alternative returning an immutable list of enum entries.

## Public properties

### entries

```
val entries: EnumEntries<InProcessTracingMode>
```

Returns an immutable `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.enums/-enum-entries/index.html` list containing the constants of this enum type, in the order they're declared.