blues-stack
blues-stack copied to clipboard
feat: adds sentry monitoring
This PR adds Sentry monitoring to the blues stack using the new @sentry/remix SDK. Sentry is an application monitoring tool that helps developers with finding bugs and performance issues. By including Sentry out of the box, users will have one less thing to worry about when deploying their code to production.
Right now this is just a draft PR to get feedback on this approach of adding Sentry.
- [ ] Finalize monitoring code changes
- [ ] Update build instructions for source map generation
- [ ] Update Readme for Sentry
- [ ] Add Sentry logo to home page
I'll leave this up to the team, but I think this would be better as an example instead of including it with our stacks out of the box tbh.
I agree, an example or a forked stack would be a better place for it :)
@mcansh Is it possible to talk to you all about this further? Like other product choices made in Blues Stack (e.g. Prisma, Cypress, Docker), Sentry is open source/source available software (BSL + Apache 2.0) with an optional commercial cloud offering (sentry.io). The DSN
configuration in the above PR allows you to specify either a self-hosted Sentry instance or point to a project hosted on sentry.io.
We feel this is change is meaningful to Remix users because:
- Sentry is currently the only monitoring solution that has supports Remix as a first-class platform (AFAICT, please correct me otherwise).
- Sentry is the most widely used production error monitoring solution for JavaScript projects. Our JavaScript SDK (@sentry/browser) is downloaded from npm over 3 million times a day, about as frequently as Cypress.
- Even if users do not self-host Sentry, Sentry.io offers a free tier that is perfectly useful for hobbyists (similar to Fly.io).
- Remix highlights its error handling capabilities, but does not provide guidance on how to log those errors anywhere. We feel error monitoring has become a critical part of the error handling story and it's worth having a documented/highlighted solution here.
I'd love to find out a way how we could be included here, for example, what if we deferred/omitted instrumentation unless a SENTRY_ENV
environment variable is set, present, and valid?
Reopening for discussion.
@machour Any updates? I can work on completing this PR if folks agree with Ben about adding Sentry.
No discussion has happened as far as I see 😅 Let's see if @mcansh want to chime in and take a decision here
@machour Any updates? I can work on completing this PR if folks agree with Ben about adding Sentry.
I plan to add Sentry to my app also. Could you still complete this PR when having time? It could be a great example of how we could setup Sentry with Remix
Closing from lack of interest