# JavaHeapDumpRequestBuilder

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

*** ** * ** ***


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

<br />

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

*** ** * ** ***

Request builder to create a request for a java heap dump from `https://developer.android.com/reference/android/os/ProfilingManager.html`.

```kotlin
val listener =
    Consumer<ProfilingResult> { profilingResult ->
        if (profilingResult.errorCode == ProfilingResult.ERROR_NONE) {
            doSomethingWithMyFile(profilingResult.resultFilePath)
        } else {
            doSomethingWithFailure(profilingResult.errorCode, profilingResult.errorMessage)
        }
    }

requestProfiling(
    context,
    JavaHeapDumpRequestBuilder()
        .setBufferSizeKb(123 /* Requested buffer size in KB */)
        .setTag("tag" /* Caller supplied tag for identification */)
        .build(),
    Dispatchers.IO.asExecutor(), // Your choice of executor for the callback to occur on.
    listener,
)
```

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/core/os/JavaHeapDumpRequestBuilder#JavaHeapDumpRequestBuilder()()` |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/core/os/JavaHeapDumpRequestBuilder` | `https://developer.android.com/reference/kotlin/androidx/core/os/JavaHeapDumpRequestBuilder#setBufferSizeKb(kotlin.Int)(bufferSizeKb: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Set the buffer size in kilobytes for this profiling request. |

### Inherited functions

From [androidx.core.os.ProfilingRequestBuilder](https://developer.android.com/reference/kotlin/androidx/core/os/ProfilingRequestBuilder) `https://developer.android.com/reference/kotlin/androidx/core/os/ProfilingRequest` `https://developer.android.com/reference/kotlin/androidx/core/os/ProfilingRequestBuilder#build()()`

Build the `https://developer.android.com/reference/kotlin/androidx/core/os/ProfilingRequest` object which can be used with `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.
`https://developer.android.com/reference/kotlin/androidx/core/os/JavaHeapDumpRequestBuilder` `https://developer.android.com/reference/kotlin/androidx/core/os/ProfilingRequestBuilder#setCancellationSignal(android.os.CancellationSignal)(cancellationSignal: https://developer.android.com/reference/android/os/CancellationSignal.html)`

Set a CancellationSignal to request cancellation of the requested trace.
`https://developer.android.com/reference/kotlin/androidx/core/os/JavaHeapDumpRequestBuilder` `https://developer.android.com/reference/kotlin/androidx/core/os/ProfilingRequestBuilder#setTag(kotlin.String)(tag: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`

Add data to help identify the output.

## Public constructors

### JavaHeapDumpRequestBuilder

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

```
JavaHeapDumpRequestBuilder()
```

## Public functions

### setBufferSizeKb

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

```
fun setBufferSizeKb(bufferSizeKb: Int): JavaHeapDumpRequestBuilder
```

Set the buffer size in kilobytes for this profiling request.