diff --git a/docs/platforms/javascript/common/configuration/integrations/graphqlclient.mdx b/docs/platforms/javascript/common/configuration/integrations/graphqlclient.mdx new file mode 100644 index 0000000000000..adcb898bd3c9b --- /dev/null +++ b/docs/platforms/javascript/common/configuration/integrations/graphqlclient.mdx @@ -0,0 +1,63 @@ +--- +title: GraphQLClient +description: "Enhance spans and breadcrumbs with data from GraphQL requests." +notSupported: + - javascript.node + - javascript.aws-lambda + - javascript.azure-functions + - javascript.connect + - javascript.express + - javascript.fastify + - javascript.gcp-functions + - javascript.hapi + - javascript.hono + - javascript.koa + - javascript.nestjs + - javascript.deno + - javascript.cloudflare + - javascript.bun +--- + + + + This integration only works inside a browser environment. + + + +_Import name: `Sentry.graphqlClientIntegration`_ + +This integration enhances the data captured from GraphQL requests in your application. +It extracts GraphQL-specific information from HTTP requests matching your configured endpoints and enriches +both spans and breadcrumbs with GraphQL operation details. + +When enabled, this integration will: +- Update span names with the GraphQL operation type and name +- Add GraphQL query documents to spans +- Add GraphQL operation information to breadcrumbs + +## Options + +### `endpoints` + +_Type: `(string|RegExp)[]`_ + +An array of URLs or URL patterns that should be treated as GraphQL endpoints. +The integration will only process requests to these endpoints. This array can contain strings, regular expressions, or a combination of both. + +Example: +```javascript +Sentry.init({ + integrations: [ + Sentry.graphqlClientIntegration({ + endpoints: [ + 'https://graphql-api.example.com', + /\/graphql$/ + ] + }) + ] +}); +``` + +To **match all** endpoints with the `graphqlClientIntegration`, you would set the endpoints option to `[/.*/]` in your configuration. +This regex pattern will match any URL. + diff --git a/platform-includes/configuration/integrations/javascript.astro.mdx b/platform-includes/configuration/integrations/javascript.astro.mdx index a15dead912cb1..43df58e3a7728 100644 --- a/platform-includes/configuration/integrations/javascript.astro.mdx +++ b/platform-includes/configuration/integrations/javascript.astro.mdx @@ -22,7 +22,7 @@ Depending on whether an integration enhances the functionality of a particular r ### Browser Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | +|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`browserSessionIntegration`](./browsersession) | ✓ | | | | ✓ | @@ -32,6 +32,7 @@ Depending on whether an integration enhances the functionality of a particular r | [`browserProfilingIntegration`](./browserprofiling) | | | ✓ | | | | [`contextLinesIntegration`](./contextlines) | | ✓ | | | | | [`featureFlagsIntegration`](./featureflags) | | | | | ✓ | +| [`graphqlClientIntegration`](./graphqlclient) | | | | | ✓ | | [`httpClientIntegration`](./httpclient) | | ✓ | | | | | [`launchDarklyIntegration`](./launchdarkly) | | | | | ✓ | | [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.capacitor.mdx b/platform-includes/configuration/integrations/javascript.capacitor.mdx index 90bb20749cc81..dde93c2b4c7d0 100644 --- a/platform-includes/configuration/integrations/javascript.capacitor.mdx +++ b/platform-includes/configuration/integrations/javascript.capacitor.mdx @@ -1,7 +1,7 @@ ### Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | +|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`dedupeIntegration`](./dedupe) | ✓ | ✓ | | | | @@ -15,6 +15,7 @@ | [`captureConsoleIntegration`](./captureconsole) | | | | | ✓ | | [`contextLinesIntegration`](./contextlines) | | ✓ | | | | | [`extraErrorDataIntegration`](./extraerrordata) | | | | | ✓ | +| [`graphqlClientIntegration`](./graphqlclient) | | | | | ✓ | | [`httpClientIntegration`](./httpclient) | | ✓ | | | | | [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | | [`rewriteFramesIntegration`](./rewriteframes) | | ✓ | | | | diff --git a/platform-includes/configuration/integrations/javascript.cordova.mdx b/platform-includes/configuration/integrations/javascript.cordova.mdx index 3532782d7615f..b018d5a58ec4a 100644 --- a/platform-includes/configuration/integrations/javascript.cordova.mdx +++ b/platform-includes/configuration/integrations/javascript.cordova.mdx @@ -1,7 +1,7 @@ ### Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | +|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`dedupeIntegration`](./dedupe) | ✓ | ✓ | | | | @@ -12,6 +12,7 @@ | [`linkedErrorsIntegration`](./linkederrors) | ✓ | ✓ | | | | | [`captureConsoleIntegration`](./captureconsole) | | | | | ✓ | | [`extraErrorDataIntegration`](./extraerrordata) | | | | | ✓ | +| [`graphqlClientIntegration`](./graphqlclient) | | | | | ✓ | | [`httpClientIntegration`](./httpclient) | | ✓ | | | | | [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | | [`rewriteFramesIntegration`](./rewriteframes) | | ✓ | | | | diff --git a/platform-includes/configuration/integrations/javascript.gatsby.mdx b/platform-includes/configuration/integrations/javascript.gatsby.mdx index 0a90bc81010ec..5aff5b73147a2 100644 --- a/platform-includes/configuration/integrations/javascript.gatsby.mdx +++ b/platform-includes/configuration/integrations/javascript.gatsby.mdx @@ -1,7 +1,7 @@ ### Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | +|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`dedupeIntegration`](./dedupe) | ✓ | ✓ | | | | @@ -16,10 +16,11 @@ | [`captureConsoleIntegration`](./captureconsole) | | | | | ✓ | | [`contextLinesIntegration`](./contextlines) | | ✓ | | | | | [`extraErrorDataIntegration`](./extraerrordata) | | | | | ✓ | +| [`graphqlClientIntegration`](./graphqlclient) | | | | | ✓ | | [`httpClientIntegration`](./httpclient) | | ✓ | | | | | [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | | [`rewriteFramesIntegration`](./rewriteframes) | | ✓ | | | | | [`replayIntegration`](./replay) | | | | ✓ | ✓ | | [`replayCanvasIntegration`](./replaycanvas) | | | | ✓ | | | [`reportingObserverIntegration`](./reportingobserver) | | ✓ | | | | -| [`supabaseIntegration`](./supabase) | | ✓ | ✓ | | | +| [`supabaseIntegration`](./supabase) | | ✓ | ✓ | | | diff --git a/platform-includes/configuration/integrations/javascript.mdx b/platform-includes/configuration/integrations/javascript.mdx index d9d89c82c20e1..02f7f9004fa0a 100644 --- a/platform-includes/configuration/integrations/javascript.mdx +++ b/platform-includes/configuration/integrations/javascript.mdx @@ -1,7 +1,7 @@ ### Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | +|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`browserSessionIntegration`](./browsersession) | ✓ | | | | ✓ | @@ -17,6 +17,7 @@ | [`contextLinesIntegration`](./contextlines) | | ✓ | | | | | [`extraErrorDataIntegration`](./extraerrordata) | | | | | ✓ | | [`featureFlagsIntegration`](./featureflags) | | | | | ✓ | +| [`graphqlClientIntegration`](./graphqlclient) | | | | | ✓ | | [`httpClientIntegration`](./httpclient) | | ✓ | | | | | [`launchDarklyIntegration`](./launchdarkly) | | | | | ✓ | | [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | @@ -26,5 +27,5 @@ | [`reportingObserverIntegration`](./reportingobserver) | | ✓ | | | | | [`rewriteFramesIntegration`](./rewriteframes) | | ✓ | | | | | [`statsigIntegration`](./statsig) | | | | | ✓ | -| [`supabaseIntegration`](./supabase) | | ✓ | ✓ | | | +| [`supabaseIntegration`](./supabase) | | ✓ | ✓ | | | | [`unleashIntegration`](./unleash) | | | | | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.nextjs.mdx b/platform-includes/configuration/integrations/javascript.nextjs.mdx index a634254835f78..485a7edecb70b 100644 --- a/platform-includes/configuration/integrations/javascript.nextjs.mdx +++ b/platform-includes/configuration/integrations/javascript.nextjs.mdx @@ -22,7 +22,7 @@ Depending on whether an integration enhances the functionality of a particular r ### Browser Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | +|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`browserSessionIntegration`](./browsersession) | ✓ | | | | ✓ | @@ -32,6 +32,7 @@ Depending on whether an integration enhances the functionality of a particular r | [`browserProfilingIntegration`](./browserprofiling) | | | ✓ | | | | [`contextLinesIntegration`](./contextlines) | | ✓ | | | | | [`featureFlagsIntegration`](./featureflags) | | | | | ✓ | +| [`graphqlClientIntegration`](./graphqlclient) | | | | | ✓ | | [`httpClientIntegration`](./httpclient) | | ✓ | | | | | [`launchDarklyIntegration`](./launchdarkly) | | | | | ✓ | | [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.nuxt.mdx b/platform-includes/configuration/integrations/javascript.nuxt.mdx index a34e55b9d685d..fc022ae4f8fba 100644 --- a/platform-includes/configuration/integrations/javascript.nuxt.mdx +++ b/platform-includes/configuration/integrations/javascript.nuxt.mdx @@ -21,7 +21,7 @@ Depending on whether an integration enhances the functionality of a particular r ### Browser Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | +|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`browserSessionIntegration`](./browsersession) | ✓ | | | | ✓ | @@ -31,6 +31,7 @@ Depending on whether an integration enhances the functionality of a particular r | [`browserProfilingIntegration`](./browserprofiling) | | | ✓ | | | | [`contextLinesIntegration`](./contextlines) | | ✓ | | | | | [`featureFlagsIntegration`](./featureflags) | | | | | ✓ | +| [`graphqlClientIntegration`](./graphqlclient) | | | | | ✓ | | [`httpClientIntegration`](./httpclient) | | ✓ | | | | | [`launchDarklyIntegration`](./launchdarkly) | | | | | ✓ | | [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.remix.mdx b/platform-includes/configuration/integrations/javascript.remix.mdx index 69d4792c45f8f..003109b47c265 100644 --- a/platform-includes/configuration/integrations/javascript.remix.mdx +++ b/platform-includes/configuration/integrations/javascript.remix.mdx @@ -21,7 +21,7 @@ Depending on whether an integration enhances the functionality of a particular r ### Browser Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | +|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`browserSessionIntegration`](./browsersession) | ✓ | | | | ✓ | @@ -31,6 +31,7 @@ Depending on whether an integration enhances the functionality of a particular r | [`browserProfilingIntegration`](./browserprofiling) | | | ✓ | | | | [`contextLinesIntegration`](./contextlines) | | ✓ | | | | | [`featureFlagsIntegration`](./featureflags) | | | | | ✓ | +| [`graphqlClientIntegration`](./graphqlclient) | | | | | ✓ | | [`httpClientIntegration`](./httpclient) | | ✓ | | | | | [`launchDarklyIntegration`](./launchdarkly) | | | | | ✓ | | [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.solidstart.mdx b/platform-includes/configuration/integrations/javascript.solidstart.mdx index f15bc4aa6f81f..657b5f012c09d 100644 --- a/platform-includes/configuration/integrations/javascript.solidstart.mdx +++ b/platform-includes/configuration/integrations/javascript.solidstart.mdx @@ -21,7 +21,7 @@ Depending on whether an integration enhances the functionality of a particular r ### Browser Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | +|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`browserSessionIntegration`](./browsersession) | ✓ | | | | ✓ | @@ -31,6 +31,7 @@ Depending on whether an integration enhances the functionality of a particular r | [`browserProfilingIntegration`](./browserprofiling) | | | ✓ | | | | [`contextLinesIntegration`](./contextlines) | | ✓ | | | | | [`featureFlagsIntegration`](./featureflags) | | | | | ✓ | +| [`graphqlClientIntegration`](./graphqlclient) | | | | | ✓ | | [`httpClientIntegration`](./httpclient) | | ✓ | | | | | [`launchDarklyIntegration`](./launchdarkly) | | | | | ✓ | | [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.sveltekit.mdx b/platform-includes/configuration/integrations/javascript.sveltekit.mdx index d2a2d30ea5024..2dae5eb8891a3 100644 --- a/platform-includes/configuration/integrations/javascript.sveltekit.mdx +++ b/platform-includes/configuration/integrations/javascript.sveltekit.mdx @@ -21,7 +21,7 @@ Depending on whether an integration enhances the functionality of a particular r ### Browser Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | +|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`browserSessionIntegration`](./browsersession) | ✓ | | | | ✓ | @@ -31,6 +31,7 @@ Depending on whether an integration enhances the functionality of a particular r | [`browserProfilingIntegration`](./browserprofiling) | | | ✓ | | | | [`contextLinesIntegration`](./contextlines) | | ✓ | | | | | [`featureFlagsIntegration`](./featureflags) | | | | | ✓ | +| [`graphqlClientIntegration`](./graphqlclient) | | | | | ✓ | | [`httpClientIntegration`](./httpclient) | | ✓ | | | | | [`launchDarklyIntegration`](./launchdarkly) | | | | | ✓ | | [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.vue.mdx b/platform-includes/configuration/integrations/javascript.vue.mdx index bfca613bf0e5b..ecbd989aa0f01 100644 --- a/platform-includes/configuration/integrations/javascript.vue.mdx +++ b/platform-includes/configuration/integrations/javascript.vue.mdx @@ -1,7 +1,7 @@ ### Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | +|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`browserSessionIntegration`](./browsersession) | ✓ | | | | ✓ | @@ -18,6 +18,7 @@ | [`contextLinesIntegration`](./contextlines) | | ✓ | | | | | [`extraErrorDataIntegration`](./extraerrordata) | | | | | ✓ | | [`featureFlagsIntegration`](./featureflags) | | | | | ✓ | +| [`graphqlClientIntegration`](./graphqlclient) | | | | | ✓ | | [`httpClientIntegration`](./httpclient) | | ✓ | | | | | [`launchDarklyIntegration`](./launchdarkly) | | | | | ✓ | | [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | diff --git a/platform-includes/configuration/integrations/javascript.wasm.mdx b/platform-includes/configuration/integrations/javascript.wasm.mdx index c523936a344b6..ac3c8c7eab56d 100644 --- a/platform-includes/configuration/integrations/javascript.wasm.mdx +++ b/platform-includes/configuration/integrations/javascript.wasm.mdx @@ -1,7 +1,7 @@ ### Integrations | | **Auto Enabled** | **Errors** | **Tracing** | **Replay** | **Additional Context** | -| ----------------------------------------------------- | :--------------: | :--------: | :---------: | :--------: | :--------------------: | +|-------------------------------------------------------|:----------------:|:----------:|:-----------:|:----------:|:----------------------:| | [`breadcrumbsIntegration`](./breadcrumbs) | ✓ | | | | ✓ | | [`browserApiErrorsIntegration`](./browserapierrors) | ✓ | ✓ | | | | | [`dedupeIntegration`](./dedupe) | ✓ | ✓ | | | | @@ -16,6 +16,7 @@ | [`captureConsoleIntegration`](./captureconsole) | | | | | ✓ | | [`contextLinesIntegration`](./contextlines) | | ✓ | | | | | [`extraErrorDataIntegration`](./extraerrordata) | | | | | ✓ | +| [`graphqlClientIntegration`](./graphqlclient) | | | | | ✓ | | [`httpClientIntegration`](./httpclient) | | ✓ | | | | | [`moduleMetadataIntegration`](./modulemetadata) | | | | | ✓ | | [`rewriteFramesIntegration`](./rewriteframes) | | ✓ | | | |