# ProfilingRequestBuilder

# ProfilingRequestBuilder

Artifact:[androidx.core:core](https://developer.android.com/jetpack/androidx/releases/core)  
[View Source](https://cs.android.com/search?q=file:androidx/core/os/Profiling.kt+class:androidx.core.os.ProfilingRequestBuilder)  
Added in[1.15.0](https://developer.android.com/jetpack/androidx/releases/core#1.15.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/core/os/ProfilingRequestBuilder "View this page in Java")

<br />

```
@RequiresApi(api = 35)
abstract class ProfilingRequestBuilder<T : ProfilingRequestBuilder<T>>
```

<br />

Known direct subclasses  
[HeapProfileRequestBuilder](https://developer.android.com/reference/kotlin/androidx/core/os/HeapProfileRequestBuilder),[JavaHeapDumpRequestBuilder](https://developer.android.com/reference/kotlin/androidx/core/os/JavaHeapDumpRequestBuilder),[StackSamplingRequestBuilder](https://developer.android.com/reference/kotlin/androidx/core/os/StackSamplingRequestBuilder),[SystemTraceRequestBuilder](https://developer.android.com/reference/kotlin/androidx/core/os/SystemTraceRequestBuilder)  

|----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [HeapProfileRequestBuilder](https://developer.android.com/reference/kotlin/androidx/core/os/HeapProfileRequestBuilder)     | Request builder to create a request for a heap profile from[ProfilingManager](https://developer.android.com/reference/android/os/ProfilingManager.html).   |
| [JavaHeapDumpRequestBuilder](https://developer.android.com/reference/kotlin/androidx/core/os/JavaHeapDumpRequestBuilder)   | Request builder to create a request for a java heap dump from[ProfilingManager](https://developer.android.com/reference/android/os/ProfilingManager.html). |
| [StackSamplingRequestBuilder](https://developer.android.com/reference/kotlin/androidx/core/os/StackSamplingRequestBuilder) | Request builder to create a request for stack sampling from[ProfilingManager](https://developer.android.com/reference/android/os/ProfilingManager.html).   |
| [SystemTraceRequestBuilder](https://developer.android.com/reference/kotlin/androidx/core/os/SystemTraceRequestBuilder)     | Request builder to create a request for a system trace from[ProfilingManager](https://developer.android.com/reference/android/os/ProfilingManager.html).   |

*** ** * ** ***

Base class for request builders.

## Summary

|                                         ### Public functions                                         |
|------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [ProfilingRequest](https://developer.android.com/reference/kotlin/androidx/core/os/ProfilingRequest) | [build](https://developer.android.com/reference/kotlin/androidx/core/os/ProfilingRequestBuilder#build())`()` Build the[ProfilingRequest](https://developer.android.com/reference/kotlin/androidx/core/os/ProfilingRequest)object which can be used with[requestProfiling](https://developer.android.com/reference/kotlin/androidx/core/os/package-summary#requestProfiling(android.content.Context,androidx.core.os.ProfilingRequest,java.util.concurrent.Executor,java.util.function.Consumer))to request profiling. |
| `T`                                                                                                  | [setCancellationSignal](https://developer.android.com/reference/kotlin/androidx/core/os/ProfilingRequestBuilder#setCancellationSignal(android.os.CancellationSignal))`(cancellationSignal: `[CancellationSignal](https://developer.android.com/reference/android/os/CancellationSignal.html)`)` Set a CancellationSignal to request cancellation of the requested trace.                                                                                                                                              |
| `T`                                                                                                  | [setTag](https://developer.android.com/reference/kotlin/androidx/core/os/ProfilingRequestBuilder#setTag(kotlin.String))`(tag: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`)` Add data to help identify the output.                                                                                                                                                                                                                                                             |

## Public functions

### build

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

```
fun build(): ProfilingRequest
```

Build the[ProfilingRequest](https://developer.android.com/reference/kotlin/androidx/core/os/ProfilingRequest)object which can be used with[requestProfiling](https://developer.android.com/reference/kotlin/androidx/core/os/package-summary#requestProfiling(android.content.Context,androidx.core.os.ProfilingRequest,java.util.concurrent.Executor,java.util.function.Consumer))to request profiling.  

### setCancellationSignal

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

```
fun setCancellationSignal(cancellationSignal: CancellationSignal): T
```

Set a CancellationSignal to request cancellation of the requested trace. Results will be returned if available.  

### setTag

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

```
fun setTag(tag: String): T
```

Add data to help identify the output. The first 20 alphanumeric characters, plus dashes, will be lowercased and included in the output filename.