---
title: "BunRuntimeMetrics"
description: "Collect Bun runtime health metrics such as memory usage, CPU utilization, and event loop utilization."
url: https://docs.sentry.io/platforms/javascript/guides/bun/configuration/integrations/bunruntimemetrics/
---

# BunRuntimeMetrics | Sentry for Bun

This integration only works in the Bun runtime.

Available since: `v10.47.0`

*Import name: `Sentry.bunRuntimeMetricsIntegration`*

The `bunRuntimeMetricsIntegration` periodically collects Bun runtime health metrics and sends them to Sentry. Metrics include memory usage, CPU utilization, event loop utilization, and process uptime.

```javascript
import * as Sentry from "@sentry/bun";

Sentry.init({
  dsn: "___PUBLIC_DSN___",
  integrations: [Sentry.bunRuntimeMetricsIntegration()],
});
```

## [Default Metrics](https://docs.sentry.io/platforms/javascript/guides/bun/configuration/integrations/bunruntimemetrics.md#default-metrics)

The following metrics are emitted every 30 seconds by default:

| Metric                               | Type    | Unit   | Description                                         |
| ------------------------------------ | ------- | ------ | --------------------------------------------------- |
| `bun.runtime.mem.rss`                | gauge   | byte   | Resident Set Size — actual process memory footprint |
| `bun.runtime.mem.heap_used`          | gauge   | byte   | Heap memory currently in use                        |
| `bun.runtime.mem.heap_total`         | gauge   | byte   | Total heap memory allocated                         |
| `bun.runtime.cpu.utilization`        | gauge   | ratio  | CPU time / wall-clock time ratio                    |
| `bun.runtime.event_loop.utilization` | gauge   | ratio  | Fraction of time the event loop was active          |
| `bun.runtime.process.uptime`         | counter | second | Cumulative process uptime                           |

Unlike the [Node.js equivalent](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/noderuntimemetrics.md), event loop delay histogram metrics are not available in Bun because `monitorEventLoopDelay` is not supported by the Bun runtime.

## [Options](https://docs.sentry.io/platforms/javascript/guides/bun/configuration/integrations/bunruntimemetrics.md#options)

### [`collect`](https://docs.sentry.io/platforms/javascript/guides/bun/configuration/integrations/bunruntimemetrics.md#collect)

*Type: `object`*

Configure which metrics to collect. You can enable opt-in metrics or disable default ones.

**Opt-in metrics (off by default):**

```javascript
Sentry.bunRuntimeMetricsIntegration({
  collect: {
    cpuTime: true, // bun.runtime.cpu.user + bun.runtime.cpu.system
    memExternal: true, // bun.runtime.mem.external + bun.runtime.mem.array_buffers
  },
});
```

**Disabling default metrics:**

```javascript
Sentry.bunRuntimeMetricsIntegration({
  collect: {
    uptime: false,
    eventLoopUtilization: false,
  },
});
```

### [`collectionIntervalMs`](https://docs.sentry.io/platforms/javascript/guides/bun/configuration/integrations/bunruntimemetrics.md#collectionintervalms)

*Type: `number`*

The interval in milliseconds between metric collections. Defaults to `30000` (30 seconds).

```javascript
Sentry.bunRuntimeMetricsIntegration({
  collectionIntervalMs: 60_000,
});
```
