# Boot profile v1.45.0-boot-final Commit a57fa8335, 2026-10-22T06:58:52.591Z. Production build, every role, heap ceiling 792 MB, 300 s idle. 14 cores, load average 5.6,6.4,11.1 at the end. - first answer from /api/health: 1325 ms; background role ready: 3217 ms - event-loop stalls logged: 0, max 0 ms ## Stalls ## Heap samples | at s | used MB | old | large obj | code | external | array buffers | rss | | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | | 6 | 225 | 158 | 54 | 4 | 11 | 0 | 500 | | 306 | 158 | 96 | 53 | 5 | 11 | 0 | 788 | ## Full collections (mark-compact) 98 mark-compacts during the run. Used heap before the collection, and what survived it (the live heap): | at s | before MB | after MB | | ---: | ---: | ---: | | 0 | 21.5 | 17.5 | | 8 | 203.8 | 146.5 | | 24 | 236.5 | 142.5 | | 41 | 223.8 | 144.9 | | 60 | 225.8 | 147.5 | | 85 | 224.4 | 147.7 | | 124 | 225.4 | 151.2 | | 167 | 176.7 | 151 | | 209 | 230.1 | 150.4 | | 242 | 197.9 | 151.5 | | 273 | 224.8 | 152.2 | | 302 | 177.9 | 152.5 | | 312 | 170.5 | 152.9 | | 327 | 170.6 | 152 | | 338 | 169.7 | 151.8 | ## Main-thread busy stretches over 50 ms without an idle sample, first two minutes ### at 5 ms, 396 ms | self time by module | ms | | --- | ---: | | (native) | 230.2 | | node:internal/modules/cjs/loader | 57.8 | | npm:next | 52.3 | | node:internal/bootstrap/realm | 29.3 | | node:internal/deps/undici/undici | 8.9 | | node:internal/modules/esm/loader | 4.5 | | node:fs | 3 | | node:internal/net | 2.5 | | node:internal/bootstrap/switches/is_main_thread | 2 | | node:os | 1.8 | | inclusive, application modules | ms | | --- | ---: | ### at 472 ms, 336 ms | self time by module | ms | | --- | ---: | | (native) | 121.3 | | wasm://wasm/00d1cb12 | 43 | | node:internal/modules/cjs/loader | 40.5 | | npm:next | 31.7 | | npm:@prisma/client | 23.8 | | turbopack:///[turbopack]/nodejs/runtime/build-base.ts | 23.4 | | node:internal/modules/esm/utils | 17.3 | | npm:zod | 5.9 | | turbopack:///[turbopack]/shared/runtime/runtime-utils.ts | 3 | | node:vm | 1.7 | | inclusive, application modules | ms | | --- | ---: | | src/instrumentation.ts | 95.8 | | src/lib/db-session.ts | 47.3 | | src/lib/process-type.ts | 27.1 | | src/lib/boot/startup-state.ts | 25.5 | | src/lib/boot/boot-steps.ts | 25.5 | | src/lib/logging/background.ts | 25.5 | | src/lib/logging/redact.ts | 13 | | src/lib/logging/context.ts | 11 | | src/lib/validations/measurement.ts | 10 | | src/generated/prisma/internal/class.ts | 4.7 | ### at 811 ms, 225 ms | self time by module | ms | | --- | ---: | | node:internal/modules/cjs/loader | 52.3 | | (native) | 48.2 | | turbopack:///[turbopack]/nodejs/runtime/build-base.ts | 37 | | npm:next | 22.2 | | npm:zod | 12.5 | | node:internal/modules/esm/utils | 8.7 | | turbopack:///[turbopack]/shared/runtime/async-module.ts | 5.6 | | node:fs | 4.5 | | node:internal/async_hooks | 3 | | node:internal/modules/esm/translators | 2.6 | | inclusive, application modules | ms | | --- | ---: | | src/app/api/health/route.ts | 62 | | src/lib/api-errors.ts | 25.9 | | src/lib/auth/secure-cookie.ts | 14.9 | | src/lib/logging/background.ts | 13.4 | | src/lib/sharing/acting-session.ts | 12.8 | | src/lib/validations/measurement.ts | 11.9 | | src/lib/db-session.ts | 11.3 | | src/lib/export/environment-backup.ts | 11.3 | | src/lib/export/full-backup-payload.ts | 11.3 | | src/lib/jobs/job-failures.ts | 11.3 | ### at 1063 ms, 246 ms | self time by module | ms | | --- | ---: | | (native) | 64.7 | | turbopack:///[turbopack]/nodejs/runtime/build-base.ts | 47.2 | | node:internal/modules/cjs/loader | 31.6 | | npm:luxon | 18 | | turbopack:///[turbopack]/shared/runtime/async-module.ts | 15.3 | | npm:yaml | 15 | | npm:zod | 10.2 | | src/lib/i18n/server-catalogs.ts | 8.2 | | turbopack:///[turbopack]/shared/runtime/runtime-utils.ts | 4.5 | | npm:cron-parser | 4 | | inclusive, application modules | ms | | --- | ---: | | src/lib/jobs/reminder-worker.ts | 137.6 | | src/lib/jobs/reminder/google-health-sync.ts | 78 | | src/lib/whoop/sync.ts | 65.9 | | src/instrumentation.ts | 53.8 | | src/lib/insights/bucket-series.ts | 47.1 | | src/lib/whoop/oauth-descriptor.ts | 47.1 | | src/lib/whoop/sync-core.ts | 47.1 | | src/lib/whoop/sync-body.ts | 47.1 | | src/lib/import/unzip-export-xml.ts | 35.3 | | src/lib/jobs/integration-status-null-probe.ts | 35.3 | ### at 1363 ms, 68 ms | self time by module | ms | | --- | ---: | | node:internal/modules/cjs/loader | 29.2 | | turbopack:///[turbopack]/nodejs/runtime/build-base.ts | 6.7 | | (native) | 5.9 | | turbopack:///[turbopack]/shared/runtime/runtime-utils.ts | 4.5 | | src/lib/daily/today-overview.ts | 4.1 | | node:fs | 3 | | turbopack:///[turbopack]/shared/runtime/async-module.ts | 3 | | node:internal/streams/writable | 1.5 | | src/lib/jobs/reminder/insights-handlers.ts | 1.5 | | npm:next | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/jobs/reminder-worker.ts | 62.5 | | src/lib/jobs/reminder/insights-handlers.ts | 24.4 | | src/lib/ai/prompts/arrival-reaction.ts | 12.8 | | src/lib/daily/score-steady.ts | 11.3 | | src/lib/dashboard/bands.ts | 7.1 | | src/lib/dashboard/snapshot-read.ts | 5.8 | | src/lib/jobs/data-arrival.ts | 4.5 | | src/lib/daily/today-overview.ts | 4.1 | | src/lib/daily/priority-item-key.ts | 4.1 | | src/lib/ai/prompts/status-batch.ts | 3 | ### at 1545 ms, 57 ms | self time by module | ms | | --- | ---: | | node:internal/modules/cjs/loader | 25.3 | | (native) | 12.9 | | turbopack:///[turbopack]/nodejs/runtime/build-base.ts | 7.2 | | node:fs | 4.2 | | node:buffer | 1.5 | | npm:zod | 1.5 | | src/lib/jobs/pr-detection.ts | 1.5 | | turbopack:///[turbopack]/shared/runtime/async-module.ts | 1.5 | | src/lib/jobs/measurement-maintenance.ts | 1.3 | | inclusive, application modules | ms | | --- | ---: | | src/lib/jobs/reminder-worker.ts | 55.3 | | src/lib/jobs/reminder/ops-handlers.ts | 13 | | src/lib/export/restore-backup.ts | 3 | | src/lib/medications/ingredients/label-extract.ts | 3 | | src/lib/environment/service.ts | 1.5 | | src/lib/export/backup-blob.ts | 1.5 | | src/lib/jobs/pr-detection.ts | 1.5 | | src/lib/jobs/document-content-index-backfill.ts | 1.5 | | src/lib/labs/ocr-extract.ts | 1.5 | | src/lib/jobs/reminder/backup-handlers.ts | 1.5 | ### at 1820 ms, 114 ms | self time by module | ms | | --- | ---: | | src/lib/tz/zone-offset.ts | 36 | | npm:@prisma/client | 18.2 | | src/lib/validations/source-priority.ts | 18.1 | | (native) | 13.1 | | src/lib/personal-records/pr-detection-worker.ts | 7.2 | | node:buffer | 4.1 | | src/lib/analytics/source-priority.ts | 3.7 | | npm:zod | 2.3 | | npm:pg | 2 | | src/lib/tz/format.ts | 1.9 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 73.3 | | src/lib/tz/format.ts | 40.7 | | src/lib/measurements/consolidation-tz.ts | 40.7 | | src/lib/tz/zone-offset.ts | 38.8 | | src/lib/measurements/consolidation-base.ts | 38.1 | | src/lib/analytics/source-priority.ts | 28.1 | | src/lib/validations/source-priority.ts | 20.4 | | src/lib/tz/intl-cache.ts | 1.5 | ### at 2407 ms, 50 ms | self time by module | ms | | --- | ---: | | (native) | 18.9 | | src/lib/validations/source-priority.ts | 14.1 | | src/lib/analytics/source-priority.ts | 3.7 | | src/lib/personal-records/pr-detection-worker.ts | 3 | | npm:next | 1.8 | | npm:%40prisma | 1.5 | | src/lib/tz/format.ts | 1.5 | | node:internal/async_local_storage/async_hooks | 1.5 | | npm:pg | 1.5 | | npm:@prisma/client | 1.3 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 26.6 | | src/lib/analytics/source-priority.ts | 19.3 | | src/lib/validations/source-priority.ts | 14.1 | | src/lib/tz/format.ts | 3 | | src/lib/measurements/consolidation-tz.ts | 3 | | src/lib/measurements/consolidation-base.ts | 2.8 | | src/lib/tz/zone-offset.ts | 1.5 | ### at 18192 ms, 59 ms | self time by module | ms | | --- | ---: | | (native) | 15.5 | | npm:@prisma/client | 13.9 | | src/lib/validations/source-priority.ts | 11.8 | | npm:pg | 3.6 | | node:events | 3 | | node:buffer | 2.5 | | src/lib/measurements/consolidation-base.ts | 1.5 | | src/lib/personal-records/pr-detection-worker.ts | 1.5 | | node:internal/async_hooks | 1.5 | | npm:pg-types | 1.4 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 18.9 | | src/lib/analytics/source-priority.ts | 12.9 | | src/lib/validations/source-priority.ts | 11.8 | | src/lib/measurements/consolidation-base.ts | 4.5 | | src/lib/tz/zone-offset.ts | 2.6 | | src/lib/tz/format.ts | 2.6 | | src/lib/measurements/consolidation-tz.ts | 2.6 | ### at 19914 ms, 65 ms | self time by module | ms | | --- | ---: | | src/lib/validations/source-priority.ts | 18.1 | | (native) | 12.3 | | npm:@prisma/client | 11.6 | | npm:next | 5.9 | | src/lib/personal-records/pr-detection-worker.ts | 3 | | src/lib/tz/format.ts | 3 | | npm:pg | 2.6 | | npm:pg-protocol | 2.5 | | node:internal/async_hooks | 1.5 | | src/lib/analytics/source-priority.ts | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 29.8 | | src/lib/analytics/source-priority.ts | 22.6 | | src/lib/validations/source-priority.ts | 18.1 | | src/lib/tz/format.ts | 5.8 | | src/lib/measurements/consolidation-tz.ts | 5.8 | | src/lib/tz/zone-offset.ts | 2.8 | | src/lib/measurements/consolidation-base.ts | 2.8 | ### at 20296 ms, 55 ms | self time by module | ms | | --- | ---: | | (native) | 22.4 | | npm:@prisma/client | 14.8 | | node:buffer | 3 | | npm:zod | 3 | | src/lib/measurements/consolidation-base.ts | 3 | | src/lib/tz/format.ts | 1.5 | | node:internal/stream_base_commons | 1.5 | | src/lib/analytics/source-priority.ts | 1.5 | | src/lib/personal-records/pr-detection-worker.ts | 1.5 | | npm:pg-protocol | 1.3 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 10.5 | | src/lib/analytics/source-priority.ts | 6 | | src/lib/validations/source-priority.ts | 3 | | src/lib/measurements/consolidation-base.ts | 3 | | src/lib/tz/format.ts | 1.5 | | src/lib/measurements/consolidation-tz.ts | 1.5 | ### at 30289 ms, 69 ms | self time by module | ms | | --- | ---: | | src/lib/validations/source-priority.ts | 18.3 | | (native) | 12.9 | | npm:@prisma/client | 8.8 | | node:buffer | 6.8 | | src/lib/personal-records/pr-detection-worker.ts | 4.5 | | src/lib/tz/format.ts | 4 | | npm:pg-protocol | 3 | | npm:zod | 3 | | node:timers | 1.5 | | node:internal/async_hooks | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 33 | | src/lib/analytics/source-priority.ts | 24.3 | | src/lib/validations/source-priority.ts | 21.3 | | src/lib/tz/format.ts | 5.6 | | src/lib/measurements/consolidation-tz.ts | 5.6 | | src/lib/measurements/consolidation-base.ts | 2.6 | | src/lib/tz/zone-offset.ts | 1.5 | ### at 31004 ms, 68 ms | self time by module | ms | | --- | ---: | | (native) | 17.8 | | src/lib/validations/source-priority.ts | 14.9 | | npm:@prisma/client | 7.6 | | npm:next | 4.5 | | node:internal/async_hooks | 4.5 | | npm:pg-protocol | 4.1 | | npm:pg | 3 | | src/lib/tz/zone-offset.ts | 3 | | node:buffer | 2.7 | | src/lib/analytics/source-priority.ts | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 26.4 | | src/lib/analytics/source-priority.ts | 19 | | src/lib/validations/source-priority.ts | 16.2 | | src/lib/measurements/consolidation-base.ts | 6.1 | | src/lib/tz/format.ts | 5.8 | | src/lib/measurements/consolidation-tz.ts | 5.8 | | src/lib/tz/zone-offset.ts | 4.5 | ### at 35350 ms, 65 ms | self time by module | ms | | --- | ---: | | src/lib/validations/source-priority.ts | 17 | | npm:@prisma/client | 11.8 | | (native) | 8.6 | | node:buffer | 6.5 | | src/lib/tz/format.ts | 4.5 | | npm:pg-protocol | 3 | | src/lib/personal-records/pr-detection-worker.ts | 3 | | npm:%40prisma | 1.6 | | npm:pg | 1.5 | | src/lib/analytics/source-priority.ts | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 26 | | src/lib/analytics/source-priority.ts | 20 | | src/lib/validations/source-priority.ts | 17 | | src/lib/tz/format.ts | 4.5 | | src/lib/measurements/consolidation-tz.ts | 4.5 | | src/lib/measurements/consolidation-base.ts | 3 | ### at 36452 ms, 57 ms | self time by module | ms | | --- | ---: | | (native) | 20 | | src/lib/validations/source-priority.ts | 16 | | npm:@prisma/client | 7.3 | | node:internal/per_context/primordials | 2.8 | | npm:%40prisma | 1.5 | | npm:next | 1.5 | | src/lib/tz/zone-offset.ts | 1.5 | | node:internal/async_hooks | 1.5 | | node:internal/streams/readable | 1.5 | | npm:pg-protocol | 1.2 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 21.2 | | src/lib/validations/source-priority.ts | 16 | | src/lib/analytics/source-priority.ts | 16 | | src/lib/tz/format.ts | 2.5 | | src/lib/measurements/consolidation-tz.ts | 2.5 | | src/lib/measurements/consolidation-base.ts | 2.5 | | src/lib/tz/zone-offset.ts | 1.5 | ### at 38744 ms, 56 ms | self time by module | ms | | --- | ---: | | src/lib/validations/source-priority.ts | 13.3 | | (native) | 9.9 | | npm:@prisma/client | 9.2 | | node:buffer | 4.7 | | npm:pg-protocol | 4.3 | | node:events | 1.9 | | npm:pg | 1.6 | | npm:%40prisma | 1.5 | | npm:next | 1.5 | | src/lib/tz/format.ts | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 21.8 | | src/lib/analytics/source-priority.ts | 16 | | src/lib/validations/source-priority.ts | 13.3 | | src/lib/measurements/consolidation-base.ts | 4.3 | | src/lib/tz/format.ts | 3 | | src/lib/measurements/consolidation-tz.ts | 3 | | src/lib/tz/zone-offset.ts | 1.4 | ### at 42458 ms, 50 ms | self time by module | ms | | --- | ---: | | npm:@prisma/client | 13.5 | | src/lib/validations/source-priority.ts | 10.1 | | (native) | 7.6 | | npm:pg-protocol | 3.2 | | node:events | 3 | | src/lib/personal-records/pr-detection-worker.ts | 3 | | src/lib/tz/format.ts | 3 | | npm:pg | 2.8 | | node:internal/async_hooks | 1.5 | | npm:%40prisma | 1.4 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 17.3 | | src/lib/analytics/source-priority.ts | 12.7 | | src/lib/validations/source-priority.ts | 10.1 | | src/lib/tz/format.ts | 3 | | src/lib/measurements/consolidation-tz.ts | 3 | | src/lib/measurements/consolidation-base.ts | 1.5 | | src/lib/jobs/job-lock.ts | 1.3 | | src/lib/jobs/long-pass.ts | 1.3 | | src/lib/jobs/run-job.ts | 1.3 | | src/lib/jobs/job-observer.ts | 1.3 | ### at 45451 ms, 63 ms | self time by module | ms | | --- | ---: | | src/lib/validations/source-priority.ts | 15.8 | | npm:@prisma/client | 10.5 | | (native) | 8.4 | | src/lib/tz/format.ts | 5.3 | | node:internal/async_local_storage/async_hooks | 4.4 | | node:buffer | 3 | | npm:pg | 3 | | src/lib/personal-records/pr-detection-worker.ts | 3 | | npm:zod | 3 | | npm:%40prisma | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 31.7 | | src/lib/analytics/source-priority.ts | 21.8 | | src/lib/validations/source-priority.ts | 18.8 | | src/lib/measurements/consolidation-base.ts | 5.3 | | src/lib/tz/format.ts | 5.3 | | src/lib/measurements/consolidation-tz.ts | 5.3 | ### at 56854 ms, 66 ms | self time by module | ms | | --- | ---: | | src/lib/validations/source-priority.ts | 15 | | npm:@prisma/client | 13.7 | | (native) | 6.6 | | node:buffer | 6.6 | | npm:next | 6 | | npm:pg | 4.5 | | src/lib/personal-records/pr-detection-worker.ts | 4.1 | | src/lib/tz/format.ts | 3.1 | | node:internal/process/task_queues | 1.5 | | node:internal/async_hooks | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 25.3 | | src/lib/analytics/source-priority.ts | 18.1 | | src/lib/validations/source-priority.ts | 16.5 | | src/lib/tz/format.ts | 3.1 | | src/lib/measurements/consolidation-tz.ts | 3.1 | | src/lib/measurements/consolidation-base.ts | 3.1 | ### at 56923 ms, 52 ms | self time by module | ms | | --- | ---: | | (native) | 20 | | npm:@prisma/client | 10.1 | | node:buffer | 3.7 | | npm:pg | 3 | | src/lib/tz/format.ts | 2.6 | | npm:pg-protocol | 2.6 | | src/lib/analytics/source-priority.ts | 2.6 | | src/lib/personal-records/pr-detection-worker.ts | 1.5 | | src/lib/tz/zone-offset.ts | 1.5 | | npm:pg-types | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 9.3 | | src/lib/analytics/source-priority.ts | 5.3 | | src/lib/tz/format.ts | 4.1 | | src/lib/measurements/consolidation-tz.ts | 4.1 | | src/lib/measurements/consolidation-base.ts | 2.6 | | src/lib/tz/zone-offset.ts | 1.5 | | src/lib/validations/source-priority.ts | 1.1 | ### at 59508 ms, 56 ms | self time by module | ms | | --- | ---: | | npm:@prisma/client | 15.7 | | src/lib/validations/source-priority.ts | 9.7 | | node:buffer | 7 | | (native) | 6.1 | | npm:pg-protocol | 4.5 | | npm:next | 4.1 | | src/lib/tz/format.ts | 3 | | src/lib/analytics/source-priority.ts | 3 | | node:internal/async_hooks | 1.5 | | src/lib/measurements/consolidation-base.ts | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 21.7 | | src/lib/analytics/source-priority.ts | 15.8 | | src/lib/validations/source-priority.ts | 9.7 | | src/lib/tz/format.ts | 5.9 | | src/lib/measurements/consolidation-tz.ts | 5.9 | | src/lib/measurements/consolidation-base.ts | 5.9 | | src/lib/tz/zone-offset.ts | 2.9 | ### at 61315 ms, 62 ms | self time by module | ms | | --- | ---: | | src/lib/validations/source-priority.ts | 20.1 | | npm:@prisma/client | 14.1 | | (native) | 8.2 | | npm:pg | 4.5 | | node:buffer | 3.1 | | src/lib/personal-records/pr-detection-worker.ts | 3 | | src/lib/measurements/consolidation-base.ts | 3 | | npm:pg-protocol | 1.5 | | npm:next | 1.5 | | src/lib/analytics/source-priority.ts | 1.4 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 30.3 | | src/lib/analytics/source-priority.ts | 22.8 | | src/lib/validations/source-priority.ts | 21.4 | | src/lib/measurements/consolidation-base.ts | 4.5 | | src/lib/tz/zone-offset.ts | 1.5 | | src/lib/tz/format.ts | 1.5 | | src/lib/measurements/consolidation-tz.ts | 1.5 | ### at 72986 ms, 57 ms | self time by module | ms | | --- | ---: | | src/lib/validations/source-priority.ts | 19.1 | | npm:@prisma/client | 10.2 | | (native) | 6.6 | | npm:pg-protocol | 5.5 | | npm:next | 3 | | src/lib/analytics/source-priority.ts | 3 | | npm:pg | 2.5 | | src/lib/personal-records/pr-detection-worker.ts | 1.5 | | node:internal/async_local_storage/async_hooks | 1.5 | | src/lib/tz/format.ts | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 29.6 | | src/lib/analytics/source-priority.ts | 23.5 | | src/lib/validations/source-priority.ts | 19.1 | | src/lib/measurements/consolidation-base.ts | 4.6 | | src/lib/tz/format.ts | 4.5 | | src/lib/measurements/consolidation-tz.ts | 4.5 | | src/lib/tz/zone-offset.ts | 3 | ### at 73523 ms, 51 ms | self time by module | ms | | --- | ---: | | src/lib/validations/source-priority.ts | 12 | | npm:next | 8.9 | | npm:@prisma/client | 6 | | (native) | 4.5 | | src/lib/analytics/source-priority.ts | 4.2 | | node:buffer | 4 | | npm:pg | 2.1 | | npm:pg-protocol | 1.5 | | src/lib/personal-records/pr-detection-worker.ts | 1.5 | | src/lib/tz/zone-offset.ts | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 27.8 | | src/lib/analytics/source-priority.ts | 17.7 | | src/lib/validations/source-priority.ts | 13.5 | | src/lib/measurements/consolidation-base.ts | 8.6 | | src/lib/tz/format.ts | 7.1 | | src/lib/measurements/consolidation-tz.ts | 7.1 | | src/lib/tz/zone-offset.ts | 6 | ### at 75393 ms, 100 ms | self time by module | ms | | --- | ---: | | (native) | 32.6 | | npm:@prisma/client | 17.2 | | src/lib/validations/source-priority.ts | 14.6 | | npm:next | 7.5 | | src/lib/personal-records/pr-detection-worker.ts | 6.1 | | src/lib/tz/zone-offset.ts | 5.6 | | npm:pg-protocol | 4.1 | | npm:pg | 2.5 | | src/lib/tz/format.ts | 2.3 | | node:internal/async_local_storage/async_hooks | 1.5 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 34.6 | | src/lib/analytics/source-priority.ts | 24.3 | | src/lib/validations/source-priority.ts | 16.1 | | src/lib/tz/format.ts | 10.9 | | src/lib/measurements/consolidation-tz.ts | 10.9 | | src/lib/tz/zone-offset.ts | 8.6 | | src/lib/measurements/consolidation-base.ts | 5.7 | ### at 78085 ms, 54 ms | self time by module | ms | | --- | ---: | | src/lib/tz/zone-offset.ts | 26.6 | | src/lib/validations/source-priority.ts | 13.5 | | npm:@prisma/client | 4.2 | | (native) | 4.1 | | node:internal/async_local_storage/async_hooks | 1.5 | | src/lib/tz/format.ts | 1.5 | | src/lib/tz/intl-cache.ts | 1.5 | | npm:pg | 1.1 | | inclusive, application modules | ms | | --- | ---: | | src/lib/personal-records/pr-detection-worker.ts | 44.7 | | src/lib/tz/format.ts | 29.6 | | src/lib/measurements/consolidation-tz.ts | 29.6 | | src/lib/measurements/consolidation-base.ts | 29.6 | | src/lib/tz/zone-offset.ts | 28.1 | | src/lib/analytics/source-priority.ts | 15 | | src/lib/validations/source-priority.ts | 13.5 | | src/lib/tz/intl-cache.ts | 1.5 | ## Self time by module until the worker is ready | module | ms | | --- | ---: | | (native) | 853 | | npm:@prisma/client | 295.9 | | node:internal/modules/cjs/loader | 248.7 | | src/lib/validations/source-priority.ts | 210.3 | | npm:next | 188.4 | | turbopack:///[turbopack]/nodejs/runtime/build-base.ts | 121.5 | | src/lib/tz/zone-offset.ts | 83.2 | | wasm://wasm/00d1cb12 | 81.4 | | npm:pg | 78.5 | | node:buffer | 59.1 | | src/lib/tz/format.ts | 55 | | npm:zod | 50.7 | | src/lib/personal-records/pr-detection-worker.ts | 48 | | npm:pg-protocol | 37 | | node:internal/bootstrap/realm | 32 | | src/lib/analytics/source-priority.ts | 31.7 | | turbopack:///[turbopack]/shared/runtime/async-module.ts | 27.7 | | node:internal/modules/esm/utils | 26 | | npm:luxon | 22.1 | | node:internal/async_hooks | 21.7 | | node:internal/async_local_storage/async_hooks | 21.2 | | node:fs | 18.8 | | npm:pg-boss | 18.3 | | npm:pg-pool | 18.1 | | npm:yaml | 15 | ## Heap snapshot after 300 s idle (live heap after a full GC) 159.5 MB in 1302659 nodes; module source strings over 50 KB: 39.8 MB. - parsed locale catalogs: 2 objects, 1.6 MB retained | node type | MB | | --- | ---: | | string | 67.5 | | array | 26.6 | | code | 19.2 | | object | 15.9 | | hidden | 9.2 | | native | 8 | | object shape | 5.9 | | closure | 5.2 | | concatenated string | 1.3 | | number | 0.5 | | sliced string | 0.2 | | regexp | 0.2 | | synthetic | 0 | | symbol | 0 | | bigint | 0 | | constructor | MB | count | | --- | ---: | ---: | | array:(object elements) | 20.8 | 25651 | | object:Object | 11.4 | 293893 | | native:system / JSArrayBufferData | 7.5 | 170 | | array:(object properties) | 3.3 | 6517 | | array: | 2.5 | 10169 | | closure: | 1.6 | 29121 | | object:system / Context | 1.6 | 28886 | | closure:native_bind | 1 | 20804 | | object:Array | 0.6 | 20938 | | object:Date1 | 0.5 | 5332 | | object:a | 0.4 | 4438 | | native:Node / histogram | 0.4 | 1 | | object:d | 0.3 | 4425 | | closure:get | 0.3 | 4732 | | object:Set | 0.2 | 5670 | | object:Module | 0.2 | 1963 | | closure:set | 0.2 | 3428 | | closure:n | 0.1 | 1572 | | closure:i | 0.1 | 1578 | | object:Promise | 0.1 | 1341 | | largest retained subtrees | MB | retaining path | | --- | ---: | --- | | object:yr | 34.6 | [1] > [10] > 22 > extension > global > prisma > [1] > _engine | | object:system / Context | 7.4 | Node / PrincipalRealm > base_object_list > Node / BaseObjectList > [25] > Node / ModuleWrap > native_to_javascript > ModuleWrap > 2 > [4] > context | | object:Promise | 5.9 | Object > executor > e > #r > gr > transactions > Map > table > > 6 > closing | | object:Module | 5.6 | [1] > [10] > 99 > process > getBuiltinModule > getBuiltinModule > context > system / Context > $Module > Module > _cache > | | code:.next/server/chu | 5.6 | Module > _cache > Object > .next/server/chunks/_1kwfnjg._.js > Module > exports > Array > [1] > > shared > script | | code:.next/server/chu | 5.6 | global > prisma > [1] > t > _engineConfig > Object > compilerWasm > Object > getRuntime > getRuntime > shared > script | | object:Generator | 4.4 | [6] > principal_realm > Node / PrincipalRealm > base_object_list > Node / BaseObjectList > [26] > Node / ModuleWrap > native_to_javascript > ModuleWrap > 2 > [4 | | string:AGFzbQEAAAABtgRLYAN/f38Bf2ACf38Bf2ACf38AYAF/AGADf39/AGAEf39/ | 4.4 | [1] > [21] > 60025 | | object:Object | 3.4 | system / Context > $Module > Module > _cache > Object > .next/server/chunks/[turbopack]_runtime.js > Module > export | | object:global | 2.6 | [1] > [10] > 22 > extension | | largest strings | MB | | --- | ---: | | module.exports=[234494,A=>{"use strict";var e,C,g,I,Q=Object.defineProperty,B={},s={$:()=> | 5.6 | | module.exports=[17856,A=>{"use strict";var e,C,g,I,Q=Object.defineProperty,B={},s={$:()=>i | 5.6 | | module.exports=[17856,A=>{"use strict";var e,C,g,I,Q=Object.defineProperty,B={},s={$:()=>i | 5.6 | | const wasm = "AGFzbQEAAAABtgRLYAN/f38Bf2ACf38Bf2ACf38AYAF/AGADf39/AGAEf39/fwBgBX9/f39/AGAB | 4.4 | | AGFzbQEAAAABtgRLYAN/f38Bf2ACf38Bf2ACf38AYAF/AGADf39/AGAEf39/fwBgBX9/f39/AGABfwF/YAZ/f39/f3 | 4.4 | | lliADOAUngIEAACgKwAgBgAAoSsAIAcAAKErACAIAACiKwAgCQAAoysAIAoAAKQrACALAAClKwAgDAAApisAIA0AAK | 1.9 | | (()=>{var e,t,r={"./dist/build/webpack/alias/react-dom-server.js"(e,t,r){"use strict";var | 1.3 | | module.exports=[842865,(e,t,r)=>{let i=e.r(522734);t.exports=function(e){return e?/-----BE | 1.2 | | module.exports=[842865,(e,t,r)=>{let i=e.r(522734);t.exports=function(e){return e?/-----BE | 1.2 | | module.exports=[799092,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value: | 1.1 | | // v1.4.34 web-freeze. Schema is locked additive-only until iOS launch // + v1.5.0 marker. | 1.1 | | module.exports=[971743,(A,e,t)=>{"use strict";let r=A.r(57328),{addAbortListener:s}=A.r(68 | 1.1 | | module.exports=[835717,(A,e,t)=>{"use strict";let r=A.r(57328),{addAbortListener:s}=A.r(68 | 1 | | module.exports=[767189,e=>e.a(async(t,a)=>{try{var n=e.i(64105),r=e.i(563616),i=t([n]);[n] | 0.8 | | module.exports=[594108,806176,674750,98746,t=>{"use strict";var i;let r;function n(t){retu | 0.7 |