1- import * as Sentry from '@sentry/cloudflare' ;
1+ import {
2+ type Event ,
3+ type SeverityLevel ,
4+ captureEvent ,
5+ } from '@sentry/cloudflare' ;
26
37export type SentryTailWorkerOptions = {
48 samplingRate : number ;
@@ -32,14 +36,16 @@ function processTraceItem(
3236 return ;
3337 }
3438
35- const event : Sentry . Event = {
39+ const event : Event = {
3640 level : severityLevel ,
3741 timestamp : item . eventTimestamp ?? Date . now ( ) ,
3842 logger : '@node-core/cloudflare-sentry-tail' ,
3943 message : workerOutcomeToEventMessage ( item . outcome ) ,
4044 fingerprint : [ ] ,
4145 breadcrumbs : [ ] ,
42- exception : { } ,
46+ exception : {
47+ values : [ ] ,
48+ } ,
4349 tags : {
4450 outcome : item . outcome ,
4551 script_name : item . scriptName ,
@@ -64,12 +70,10 @@ function processTraceItem(
6470 return a . timestamp - b . timestamp ;
6571 } ) ;
6672
67- Sentry . captureEvent ( event ) ;
73+ captureEvent ( event ) ;
6874}
6975
70- function determineSeverityLevel (
71- item : TraceItem
72- ) : Sentry . SeverityLevel | undefined {
76+ function determineSeverityLevel ( item : TraceItem ) : SeverityLevel | undefined {
7377 // Two scenarios where we want to report back to Sentry:
7478 // 1. Trace item outcome isn't 'ok'
7579 // 2. We have a status code >= 500
@@ -99,7 +103,7 @@ function determineSeverityLevel(
99103function handleTraceItemEvent (
100104 options : SentryTailWorkerOptions ,
101105 item : TraceItem ,
102- sentryEvent : Sentry . Event
106+ sentryEvent : Event
103107) : void {
104108 if ( ! item . event ) {
105109 return ;
@@ -113,7 +117,7 @@ function handleTraceItemEvent(
113117 for ( let [ key , value ] of Object . entries ( request . headers ) ) {
114118 key = key . toLowerCase ( ) ;
115119
116- if ( options . headersToRedact && key in options . headersToRedact ) {
120+ if ( options . headersToRedact && options . headersToRedact . includes ( key ) ) {
117121 value = 'redacted' ;
118122 }
119123
@@ -189,7 +193,7 @@ function handleTraceItemEvent(
189193 }
190194}
191195
192- function addRemainingBreadcrumbs ( item : TraceItem , sentryEvent : Sentry . Event ) {
196+ function addRemainingBreadcrumbs ( item : TraceItem , sentryEvent : Event ) {
193197 if ( ! sentryEvent . breadcrumbs ) {
194198 return ;
195199 }
@@ -257,8 +261,8 @@ function shouldSampleTraceItem(sampleRate: number) {
257261 return random <= sampleRate ;
258262}
259263
260- function workerOutcomeToSeverityLevel ( outcome : string ) : Sentry . SeverityLevel {
261- const map : Record < string , Sentry . SeverityLevel > = {
264+ function workerOutcomeToSeverityLevel ( outcome : string ) : SeverityLevel {
265+ const map : Record < string , SeverityLevel > = {
262266 exceededCpu : 'fatal' ,
263267 exceededMemory : 'fatal' ,
264268 exception : 'error' ,
@@ -280,8 +284,8 @@ function workerOutcomeToEventMessage(outcome: string): string {
280284 return map [ outcome ] ?? 'Internal' ;
281285}
282286
283- function consoleLogLevelToSentryLevel ( logLevel : string ) : Sentry . SeverityLevel {
284- const map : Record < string , Sentry . SeverityLevel > = {
287+ function consoleLogLevelToSentryLevel ( logLevel : string ) : SeverityLevel {
288+ const map : Record < string , SeverityLevel > = {
285289 debug : 'debug' ,
286290 log : 'info' ,
287291 error : 'error' ,
0 commit comments