getsentry / getsentry/sentry-javascript
Cloudflare capture crashes / data before we export the default fetch handler
- Lenguaje dominante
- TypeScript
- Estrellas
- 8.7k
- Forks
- 1.8k
- Merge medio
- 1 d 17 h
- PR fusionados (30 d)
- 523
Descripción
### Problem Statement
Potentially the following Error would never be seen within Sentry:
```js
// file:src/index.ts
import diagnostics_channel from 'diagnostics_channel';
const channel = diagnostics_channel.channel('my-channel');
const app = new Hono();
// never been seen by Sentry
throw new Error();
// never been seen by Sentry
channel.publish({
some: 'data',
});
export default {
fetch: app.fetch,
scheduled: async (batch, env) => {},
}
```
### Solution Brainstorm
Since we introduced cachedClients #23151 we could potentially inject an `Sentry.init` at the top of the workers entrypoint with Vite:
```js
// file:src/index.ts
// following is being injected automatically and uses `Sentry.init`
import ./instrument.js`;
// ... the rest from above ...
```
Theoretically, `instrument.js` only sets up the client so we receive some data, and later the `withSentry` wrapped code would wrap everything as usual and reuses the previously created client.
### Additional Context
This would only work with the v11's default `cacheClient: true` and the entrypoint would not be added when `cacheClient: false`
### Priority
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding `+1` or `me too`, to help us triage it.
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.