Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/webkit/TracingConfig.Builder#pubctors) \| [Methods](https://developer.android.com/reference/android/webkit/TracingConfig.Builder#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/webkit/TracingConfig.Builder#inhmethods)

# TracingConfig.Builder

*** ** * ** ***


`
public
static


class
TracingConfig.Builder
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.webkit.TracingConfig.Builder |

<br />

*** ** * ** ***

Builder used to create `https://developer.android.com/reference/android/webkit/TracingConfig` objects.


Examples:

      // Create a configuration with default options: `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_NONE`,
      // `https://developer.android.com/reference/android/webkit/TracingConfig#RECORD_CONTINUOUSLY`.
      new TracingConfig.Builder().build()

      // Record trace events from the "web developer" predefined category sets.
      // Uses a ring buffer (the default `https://developer.android.com/reference/android/webkit/TracingConfig#RECORD_CONTINUOUSLY` mode) for
      // internal storage during tracing.
      new TracingConfig.Builder().addCategories(CATEGORIES_WEB_DEVELOPER).build()

      // Record trace events from the "rendering" and "input latency" predefined
      // category sets.
      new TracingConfig.Builder().addCategories(CATEGORIES_RENDERING,
                                        CATEGORIES_INPUT_LATENCY).build()

      // Record only the trace events from the "browser" category.
      new TracingConfig.Builder().addCategories("browser").build()

      // Record only the trace events matching the "blink*" and "renderer*" patterns
      // (e.g. "blink.animations", "renderer_host" and "renderer.scheduler" categories).
      new TracingConfig.Builder().addCategories("blink*","renderer*").build()

      // Record events from the "web developer" predefined category set and events from
      // the "disabled-by-default-v8.gc" category to understand where garbage collection
      // is being triggered. Uses a limited size buffer for internal storage during tracing.
      new TracingConfig.Builder().addCategories(CATEGORIES_WEB_DEVELOPER)
                                 .addCategories("disabled-by-default-v8.gc")
                                 .setTracingMode(RECORD_UNTIL_FULL).build()

<br />

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/webkit/TracingConfig.Builder#Builder()() ` Default constructor for Builder. |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/android/webkit/TracingConfig.Builder` | ` https://developer.android.com/reference/android/webkit/TracingConfig.Builder#addCategories(java.util.Collection<java.lang.String>)(https://developer.android.com/reference/java/util/Collection<https://developer.android.com/reference/java/lang/String> categories) ` Adds custom categories to be included in trace output. |
| ` https://developer.android.com/reference/android/webkit/TracingConfig.Builder` | ` https://developer.android.com/reference/android/webkit/TracingConfig.Builder#addCategories(int[])(int... predefinedCategories) ` Adds predefined sets of categories to be included in the trace output. |
| ` https://developer.android.com/reference/android/webkit/TracingConfig.Builder` | ` https://developer.android.com/reference/android/webkit/TracingConfig.Builder#addCategories(java.lang.String[])(https://developer.android.com/reference/java/lang/String categories) ` Adds custom categories to be included in trace output. |
| ` https://developer.android.com/reference/android/webkit/TracingConfig` | ` https://developer.android.com/reference/android/webkit/TracingConfig.Builder#build()() ` Build `https://developer.android.com/reference/android/webkit/TracingConfig` using the current settings. |
| ` https://developer.android.com/reference/android/webkit/TracingConfig.Builder` | ` https://developer.android.com/reference/android/webkit/TracingConfig.Builder#setTracingMode(int)(int tracingMode) ` Sets the tracing mode for this configuration. |

### Inherited methods

From class `

https://developer.android.com/reference/java/lang/Object

` `


https://developer.android.com/reference/java/lang/Object` `
https://developer.android.com/reference/java/lang/Object#clone()()
`

Creates and returns a copy of this object.


`


boolean` `
https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj)
`

Indicates whether some other object is "equal to" this one.


`


void` `
https://developer.android.com/reference/java/lang/Object#finalize()()
`

Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.


`


final

https://developer.android.com/reference/java/lang/Class<?>` `
https://developer.android.com/reference/java/lang/Object#getClass()()
`

Returns the runtime class of this `Object`.


`


int` `
https://developer.android.com/reference/java/lang/Object#hashCode()()
`

Returns a hash code value for the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notify()()
`

Wakes up a single thread that is waiting on this object's
monitor.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#notifyAll()()
`

Wakes up all threads that are waiting on this object's monitor.


`


https://developer.android.com/reference/java/lang/String` `
https://developer.android.com/reference/java/lang/Object#toString()()
`

Returns a string representation of the object.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis)
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*, or until a
certain amount of real time has elapsed.


`


final

void` `
https://developer.android.com/reference/java/lang/Object#wait()()
`

Causes the current thread to wait until it is awakened, typically
by being *notified* or *interrupted*.


## Public constructors

### Builder

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Builder ()
```

Default constructor for Builder.

<br />

## Public methods

### addCategories

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public TracingConfig.Builder addCategories (Collection<String> categories)
```

Adds custom categories to be included in trace output.

Same as `https://developer.android.com/reference/android/webkit/TracingConfig.Builder#addCategories(java.lang.String[])` but allows to pass a Collection as a parameter.

<br />

| Parameters ||
|---|---|
| `categories` | `Collection`: A list of category patterns. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/webkit/TracingConfig.Builder` | The builder to facilitate chaining. <br /> |

### addCategories

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public TracingConfig.Builder addCategories (int... predefinedCategories)
```

Adds predefined sets of categories to be included in the trace output.

A predefined category set can be one of `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_NONE`,
`https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_ALL`, `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_ANDROID_WEBVIEW`,
`https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_WEB_DEVELOPER`, `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_INPUT_LATENCY`,
`https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_RENDERING`, `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_JAVASCRIPT_AND_RENDERING` or
`https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_FRAME_VIEWER`.

<br />

| Parameters ||
|---|---|
| `predefinedCategories` | `int`: A list or bitmask of predefined category sets. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_NONE` - `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_ALL` - `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_ANDROID_WEBVIEW` - `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_WEB_DEVELOPER` - `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_INPUT_LATENCY` - `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_RENDERING` - `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_JAVASCRIPT_AND_RENDERING` - `https://developer.android.com/reference/android/webkit/TracingConfig#CATEGORIES_FRAME_VIEWER` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/webkit/TracingConfig.Builder` | The builder to facilitate chaining. <br /> |

### addCategories

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public TracingConfig.Builder addCategories (String... categories)
```

Adds custom categories to be included in trace output.

Note that the categories are defined by the currently-in-use version of WebView. They
live in chromium code and are not part of the Android API.
See [chromium documentation on tracing](https://www.chromium.org/developers/how-tos/trace-event-profiling-tool) for more details.

<br />

| Parameters ||
|---|---|
| `categories` | `String`: A list of category patterns. A category pattern can contain wildcards, e.g. "blink\*" or full category name e.g. "renderer.scheduler". <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/webkit/TracingConfig.Builder` | The builder to facilitate chaining. <br /> |

### build

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public TracingConfig build ()
```

Build `https://developer.android.com/reference/android/webkit/TracingConfig` using the current settings.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/webkit/TracingConfig` | The `https://developer.android.com/reference/android/webkit/TracingConfig` with the current settings. <br /> |

### setTracingMode

Added in [API level 28](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public TracingConfig.Builder setTracingMode (int tracingMode)
```

Sets the tracing mode for this configuration.
When tracingMode is not set explicitly, the default is `https://developer.android.com/reference/android/webkit/TracingConfig#RECORD_CONTINUOUSLY`.

<br />

| Parameters ||
|---|---|
| `tracingMode` | `int`: The tracing mode to use, one of `https://developer.android.com/reference/android/webkit/TracingConfig#RECORD_UNTIL_FULL` or `https://developer.android.com/reference/android/webkit/TracingConfig#RECORD_CONTINUOUSLY`. Value is one of the following: - `https://developer.android.com/reference/android/webkit/TracingConfig#RECORD_UNTIL_FULL` - `https://developer.android.com/reference/android/webkit/TracingConfig#RECORD_CONTINUOUSLY` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/webkit/TracingConfig.Builder` | The builder to facilitate chaining. <br /> |