| 33 | |
| 34 | /** Get the default integrations for the Deno SDK. */ |
| 35 | export function getDefaultIntegrations(_options: Options): Integration[] { |
| 36 | // We return a copy of the defaultIntegrations here to avoid mutating this |
| 37 | return [ |
| 38 | // Common |
| 39 | // TODO(v11): Replace with `eventFiltersIntegration` once we remove the deprecated `inboundFiltersIntegration` |
| 40 | // eslint-disable-next-line typescript/no-deprecated |
| 41 | inboundFiltersIntegration(), |
| 42 | requestDataIntegration(), |
| 43 | functionToStringIntegration(), |
| 44 | linkedErrorsIntegration(), |
| 45 | dedupeIntegration(), |
| 46 | // Deno Specific |
| 47 | breadcrumbsIntegration(), |
| 48 | denoContextIntegration(), |
| 49 | denoServeIntegration(), |
| 50 | // node:http client diagnostics channels fire on Deno 2.7.13+ |
| 51 | // server channels arrive at 2.8.0+ |
| 52 | // Include in defaults if at least one is available |
| 53 | ...(HTTP_CLIENT_DIAGNOSTICS_CHANNEL_SUPPORTED || HTTP_SERVER_DIAGNOSTICS_CHANNEL_SUPPORTED |
| 54 | ? [denoHttpIntegration()] |
| 55 | : []), |
| 56 | // node:diagnostics_channel.tracingChannel exists on Deno 1.44.3+. |
| 57 | ...(TRACING_CHANNEL_SUPPORTED ? [denoRedisIntegration()] : []), |
| 58 | // orchestrion-based instrumentations. |
| 59 | // It's possible that the orchestrion channels will be injected AFTER |
| 60 | // (or in parallel to) loading the SDK, so we only gate on whether the |
| 61 | // feature is possible. If they're never loaded, it'll just be a no-op. |
| 62 | ...(MODULE_REGISTER_HOOKS_SUPPORTED ? [denoMysqlIntegration()] : []), |
| 63 | contextLinesIntegration(), |
| 64 | normalizePathsIntegration(), |
| 65 | globalHandlersIntegration(), |
| 66 | ]; |
| 67 | } |
| 68 | |
| 69 | const defaultStackParser: StackParser = createStackParser(nodeStackLineParser()); |
| 70 | |