getsentry / getsentry/sentry-javascript

Cloudflare capture crashes / data before we export the default fetch handler

Offen
#24,375 1 Kommentar 0 Reaktionen 1 zugewiesene Person Beansprucht von @JPeer264 Auf GitHub ansehen
Cloudflare Workers Feature
Vorherrschende Sprache
TypeScript
Sterne
8.7k
Forks
1.8k
Ø Merge
1 T. 17 Std.
Gemergte PRs (30 T.)
523

Beschreibung

### 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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.