From dcc521af748bf7afab29f28281134aeee3d0e0d7 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Fri, 27 Mar 2026 12:56:00 +0100 Subject: [PATCH 1/4] docs(bun): Add bunRuntimeMetricsIntegration documentation Document the new bunRuntimeMetricsIntegration for collecting Bun runtime health metrics (memory, CPU, event loop, uptime). Ref: getsentry/sentry-javascript#19979 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../integrations/bunruntimemetrics.mdx | 86 +++++++++++++++++++ .../integrations/javascript.bun.mdx | 1 + 2 files changed, 87 insertions(+) create mode 100644 docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx diff --git a/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx b/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx new file mode 100644 index 00000000000000..f3c9a546854b12 --- /dev/null +++ b/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx @@ -0,0 +1,86 @@ +--- +title: BunRuntimeMetrics +description: "Collect Bun runtime health metrics such as memory usage, CPU utilization, and event loop utilization." +supported: + - javascript.bun +--- + + + +This integration only works in the Bun runtime. + + + +_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 + +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, event loop delay histogram metrics are not available in Bun because `monitorEventLoopDelay` is not supported by the Bun runtime. + + + +## Options + +### `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` + +_Type: `number`_ + +The interval in milliseconds between metric collections. Defaults to `30000` (30 seconds). + +```javascript +Sentry.bunRuntimeMetricsIntegration({ + collectionIntervalMs: 60_000, +}); +``` diff --git a/platform-includes/configuration/integrations/javascript.bun.mdx b/platform-includes/configuration/integrations/javascript.bun.mdx index d1bfe8feeafc53..5a9c1c1ea3833d 100644 --- a/platform-includes/configuration/integrations/javascript.bun.mdx +++ b/platform-includes/configuration/integrations/javascript.bun.mdx @@ -35,6 +35,7 @@ | [`googleGenAIIntegration`](./google-genai) | ✓ | ✓ | ✓ | | | [`langChainIntegration`](./langchain) | ✓ | ✓ | ✓ | | | [`firebaseIntegration`](./firebase) | ✓ | | ✓ | | +| [`bunRuntimeMetricsIntegration`](./bunruntimemetrics) | | | | ✓ | | [`captureConsoleIntegration`](./captureconsole) | | | | ✓ | | [`dataloaderIntegration`](./dataloader) | | | ✓ | | | [`extraErrorDataIntegration`](./extraerrordata) | | | | ✓ | From 50c2e4a9ad6dd8b2fb7d46852af9ff901564b25b Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Fri, 27 Mar 2026 16:21:46 +0100 Subject: [PATCH 2/4] fix: Replace Note with Alert component in bunRuntimeMetrics docs Co-Authored-By: Claude Opus 4.6 (1M context) --- .../common/configuration/integrations/bunruntimemetrics.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx b/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx index f3c9a546854b12..2339d14bf03b9e 100644 --- a/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx @@ -37,11 +37,11 @@ The following metrics are emitted every 30 seconds by default: | `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, event loop delay histogram metrics are not available in Bun because `monitorEventLoopDelay` is not supported by the Bun runtime. - + ## Options From 70b895aedef92c6cf6ee5ff9a31e5cba9d5483f1 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Tue, 31 Mar 2026 14:55:20 +0200 Subject: [PATCH 3/4] fix: Link to Node.js equivalent in Bun runtime metrics docs Co-Authored-By: Claude Opus 4.6 (1M context) --- .../common/configuration/integrations/bunruntimemetrics.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx b/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx index 2339d14bf03b9e..f36bc3527a4ace 100644 --- a/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx @@ -39,7 +39,7 @@ The following metrics are emitted every 30 seconds by default: -Unlike the Node.js equivalent, event loop delay histogram metrics are not available in Bun because `monitorEventLoopDelay` is not supported by the Bun runtime. +Unlike the [Node.js equivalent](./noderuntimemetrics), event loop delay histogram metrics are not available in Bun because `monitorEventLoopDelay` is not supported by the Bun runtime. From 710585547d5328896fa874e021866bd3b0f72af3 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Tue, 31 Mar 2026 15:45:15 +0200 Subject: [PATCH 4/4] fix: Use absolute path for Node.js integration link in Bun docs Relative path resolved within the Bun guide route, causing a 404. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../common/configuration/integrations/bunruntimemetrics.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx b/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx index f36bc3527a4ace..08b22aaae9506c 100644 --- a/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/bunruntimemetrics.mdx @@ -39,7 +39,7 @@ The following metrics are emitted every 30 seconds by default: -Unlike the [Node.js equivalent](./noderuntimemetrics), event loop delay histogram metrics are not available in Bun because `monitorEventLoopDelay` is not supported by the Bun runtime. +Unlike the [Node.js equivalent](/platforms/javascript/guides/node/configuration/integrations/noderuntimemetrics), event loop delay histogram metrics are not available in Bun because `monitorEventLoopDelay` is not supported by the Bun runtime.