Uh oh!
There was an error while loading. Please reload this page.
feat(deno): Add denoRuntimeMetricsIntegration - #20023
Conversation
Semver Impact of This PR🟡 Minor (new features) 📋 Changelog PreviewThis is how your changes will appear in the changelog. New Features ✨
Internal Changes 🔧
🤖 This preview updates automatically when you update the PR. |
size-limit report 📦
|
node-overhead report 🧳Note: This is a synthetic benchmark with a minimal express app and does not necessarily reflect the real-world performance impact in an application.
|
Uh oh!
There was an error while loading. Please reload this page.
Document the new denoRuntimeMetricsIntegration for collecting Deno runtime health metrics (memory, uptime). Ref: getsentry/sentry-javascript#20023 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
…erval Global setInterval in Deno returns a number at runtime, not NodeJS.Timeout. _INTERNAL_safeUnref is a no-op for numbers (it checks typeof timer === 'object'). Use Deno.unrefTimer directly instead, with a type cast to work around @types/node polluting the global setInterval signature in the monorepo. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Document the new denoRuntimeMetricsIntegration for collecting Deno runtime health metrics (memory, uptime). Ref: getsentry/sentry-javascript#20023 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
denoRuntimeMetricsIntegrationUh oh!
There was an error while loading. Please reload this page.
Sub-second collection intervals provide no practical observability value and would cause unnecessary CPU overhead from tight Deno.memoryUsage() calls. Clamp to 1000ms and warn so misconfigured integrations are visible. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…clamp NaN < 1000 evaluates to false (skipping the warning) and Math.max(NaN, 1000) returns NaN, causing setInterval(fn, NaN) to fire at near-zero interval. Use Number.isFinite to catch NaN and Infinity before applying Math.max. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Oxlint flags bare console.* references as errors. Use globalThis.console to bypass the rule while still intercepting the integration's warnings. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
## DESCRIBE YOUR PR Document the new `denoRuntimeMetricsIntegration` added in getsentry/sentry-javascript#20023. Documents getsentry/sentry-javascript#20023 - Add integration documentation page with default/opt-in metrics table and configuration options - Add integration to the Deno platform integration table ## IS YOUR CHANGE URGENT? - [ ] Urgent deadline (GA date, etc.) - [ ] Other deadline - [x] None: Not urgent, can wait up to 1 week+ ## SLA - Teamwork makes the dream work, so please add a reviewer to your PRs. - Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it. Thanks in advance for your help! ## PRE-MERGE CHECKLIST - [ ] Checked Vercel preview for correctness, including links - [ ] PR was reviewed and approved by any necessary SMEs (subject matter experts) - [ ] PR was reviewed and approved by a member of the [Sentry docs team](https://github.com/orgs/getsentry/teams/docs) --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## DESCRIBE YOUR PR Document the new `denoRuntimeMetricsIntegration` added in getsentry/sentry-javascript#20023. Documents getsentry/sentry-javascript#20023 - Add integration documentation page with default/opt-in metrics table and configuration options - Add integration to the Deno platform integration table ## IS YOUR CHANGE URGENT? - [ ] Urgent deadline (GA date, etc.) - [ ] Other deadline - [x] None: Not urgent, can wait up to 1 week+ ## SLA - Teamwork makes the dream work, so please add a reviewer to your PRs. - Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it. Thanks in advance for your help! ## PRE-MERGE CHECKLIST - [ ] Checked Vercel preview for correctness, including links - [ ] PR was reviewed and approved by any necessary SMEs (subject matter experts) - [ ] PR was reviewed and approved by a member of the [Sentry docs team](https://github.com/orgs/getsentry/teams/docs) --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Adds
denoRuntimeMetricsIntegrationto@sentry/denothat collects runtime health metrics on a configurable interval (default: 30s).Default metrics (
deno.runtime.*prefix):mem.rss— Resident Set Sizemem.heap_used— V8 heap in usemem.heap_total— total V8 heapprocess.uptime— process uptimeOpt-in:
memExternalenablesmem.externalvs.
nodeRuntimeMetricsIntegration: No CPU or event loop metrics — Deno does not exposeprocess.cpuUsage(),performance.eventLoopUtilization(), ormonitorEventLoopDelay.Note: Deno's loadavg() reflects system-wide load across all processes rather than the Deno process itself, which is why we did not include it.
closes https://linear.app/getsentry/issue/JS-1957/runtime-metrics-deno-support