feat(nextjs): Use spans generated by Next.js for App Router (#12729)
Previously, the @sentry/nextjs SDK automatically recorded spans in the form of transactions for each of your top-level
server components (pages, layouts, ...). This approach had a few drawbacks, the main ones being that traces didn't have
a root span, and more importantly, if you had data stream to the client, its duration was not captured because the
server component spans had finished before the data could finish streaming.
With this release, we will capture the duration of App Router requests in their entirety as a single transaction with
server component spans being descendants of that transaction. This means you will get more data that is also more
accurate. Note that this does not apply to the Edge runtime. For the Edge runtime, the SDK will emit transactions as it
has before.
Generally speaking, this change means that you will see less transactions and more spans in Sentry. You will no
longer receive server component transactions like Page Server Component (/path/to/route) (unless using the Edge
runtime), and you will instead receive transactions for your App Router SSR requests that look like
GET /path/to/route.
If you are on Sentry SaaS, this may have an effect on your quota consumption: Less transactions, more spans.
- feat(nestjs): Add nest cron monitoring support (#12781)
The @sentry/nestjs SDK now includes a @SentryCron decorator that can be used to augment the native NestJS @Cron
decorator to send check-ins to Sentry before and after each cron job run:
import { Cron } from '@nestjs/schedule';
import { SentryCron, MonitorConfig } from '@sentry/nestjs';
import type { MonitorConfig } from '@sentry/types';
feat(nextjs): Use spans generated by Next.js for App Router (#12729)
Previously, the @sentry/nextjs SDK automatically recorded spans in the form of transactions for each of your top-level
server components (pages, layouts, ...). This approach had a few drawbacks, the main ones being that traces didn't have
a root span, and more importantly, if you had data stream to the client, its duration was not captured because the
server component spans had finished before the data could finish streaming.
With this release, we will capture the duration of App Router requests in their entirety as a single transaction with
server component spans being descendants of that transaction. This means you will get more data that is also more
accurate. Note that this does not apply to the Edge runtime. For the Edge runtime, the SDK will emit transactions as it
has before.
Generally speaking, this change means that you will see less transactions and more spans in Sentry. You will no
longer receive server component transactions like Page Server Component (/path/to/route) (unless using the Edge
runtime), and you will instead receive transactions for your App Router SSR requests that look like
GET /path/to/route.
If you are on Sentry SaaS, this may have an effect on your quota consumption: Less transactions, more spans.
- feat(nestjs): Add nest cron monitoring support (#12781)
The @sentry/nestjs SDK now includes a @SentryCron decorator that can be used to augment the native NestJS @Cron
decorator to send check-ins to Sentry before and after each cron job run:
import { Cron } from '@nestjs/schedule';
import { SentryCron, MonitorConfig } from '@sentry/nestjs';
import type { MonitorConfig } from '@sentry/types';
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps @sentry/node from 7.84.0 to 8.16.0.
Release notes
Sourced from
@sentry/node
's releases.... (truncated)
Changelog
Sourced from
@sentry/node
's changelog.... (truncated)
Commits
037516a
release: 8.16.00ffd1ff
Merge pull request #12831 from getsentry/prepare-release/8.16.0d9c6dd2
meta(changelog): Update changelog for 8.16.06da0728
build(nuxt): Add nuxt to craft (#12821)47e1b7e
feat(nuxt): Add server error hook (#12796)0952ec4
ci: Small adaptions to external contributor workflow (#12828)a5ea680
fix: Apply stack frame metadata before event processors (#12799)580e6a4
feat(nestjs): Add nest cron monitoring support (#12781)9b5cf26
fix(node): EnsureautoSessionTracking
is enabled by default (#12790)25db805
test(loader): Update Loader Script to latest (#12764)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show