How to Set Up Sentry in Next.js Using a Web Worker to Avoid Main Thread Impact? #14621
Unanswered
TinaTahvildari
asked this question in
Q&A
Replies: 1 comment
-
Hi, the Sentry SDK operates a lot on the basis of unserialized objects and therefore moving its logic into a web worker would be extremely hard. We currently do not support this. Have you actually found Sentry to block the main thread a lot? Cause in theory that shouldn't be the case (unless you use Session Replay without the compression worker feature). |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I’m working on a Next.js project where I want to set up Sentry for error tracking without impacting the Total Blocking Time (TBT) and main-thread performance. I’ve tried moving Sentry operations to a Web Worker, but I'm facing issues with Sentry events not being sent successfully.
Here’s the current setup:
public/sentryWorker.js
): I imported Sentry and initialized it inside the worker to keep error capturing off the main thread.utils/sentryErrorHandler.js
): I created a helper function to initialize the worker and send error data to it._app.js
): I use global error and promise rejection handlers to capture errors across the app:Issue:
With this setup, the worker initializes, and the captureError function posts error messages to the worker, but no events are sent to Sentry. In the browser console, I see:
Sentry Web Worker initialized
Sending error to worker: [error message]
But I don't see:
Error captured by Sentry in worker
Question:
Thank you for any insights!
Beta Was this translation helpful? Give feedback.
All reactions