DenoRuntimeMetrics
Collect Deno runtime health metrics such as memory usage and process uptime.
This integration only works in the Deno runtime.
Import name: Sentry.denoRuntimeMetricsIntegration
The denoRuntimeMetricsIntegration periodically collects Deno runtime health metrics and sends them to Sentry. Metrics include memory usage and process uptime.
import * as Sentry from "@sentry/deno";
Sentry.init({
dsn: "___PUBLIC_DSN___",
integrations: [Sentry.denoRuntimeMetricsIntegration()],
});
The following metrics are emitted every 30 seconds by default:
| Metric | Type | Unit | Description |
|---|---|---|---|
deno.runtime.mem.rss | gauge | byte | Resident Set Size — actual process memory footprint |
deno.runtime.mem.heap_used | gauge | byte | V8 heap currently in use |
deno.runtime.mem.heap_total | gauge | byte | Total V8 heap allocated |
deno.runtime.process.uptime | counter | second | Cumulative process uptime |
Unlike the Node.js equivalent, CPU and event loop metrics are not available because Deno does not expose process.cpuUsage(), performance.eventLoopUtilization(), or monitorEventLoopDelay.
Type: object
Configure which metrics to collect. You can enable opt-in metrics or disable default ones.
Opt-in metrics (off by default):
Sentry.denoRuntimeMetricsIntegration({
collect: {
memExternal: true, // deno.runtime.mem.external
},
});
Disabling default metrics:
Sentry.denoRuntimeMetricsIntegration({
collect: {
uptime: false,
},
});
Type: number
The interval in milliseconds between metric collections. Defaults to 30000 (30 seconds).
Sentry.denoRuntimeMetricsIntegration({
collectionIntervalMs: 60_000,
});
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").