From 901797327288d27909d8a9587e4caa04c50ba26c Mon Sep 17 00:00:00 2001 From: Valentin Cocaud Date: Tue, 14 Oct 2025 16:46:59 +0200 Subject: [PATCH 01/10] feat(opentelemetry): allow more customization for hive tracing setup --- packages/plugins/opentelemetry/src/setup.ts | 150 +++++++++++--------- 1 file changed, 85 insertions(+), 65 deletions(-) diff --git a/packages/plugins/opentelemetry/src/setup.ts b/packages/plugins/opentelemetry/src/setup.ts index c39a6421b..903c21953 100644 --- a/packages/plugins/opentelemetry/src/setup.ts +++ b/packages/plugins/opentelemetry/src/setup.ts @@ -120,41 +120,41 @@ type SamplingOptions = samplingRate?: number; }; -type OpentelemetrySetupOptions = TracingOptions & - SamplingOptions & { - /** - * The Resource that will be used to create the Trace Provider. - * Can be either a Resource instance, or an simple object with service name and version - */ - resource?: Resource | { serviceName: string; serviceVersion: string }; - /** - * The Context Manager to be used to track OTEL Context. - * If possible, use `AsyncLocalStorageContextManager` from `@opentelemetry/context-async-hooks`. - */ - contextManager: ContextManager | null; - /** - * A custom list of propagators that will replace the default ones (Trace Context and Baggage) - */ - propagators?: TextMapPropagator[]; - /** - * The general limits of OTEL attributes. - */ - generalLimits?: GeneralLimits; - /** - * The Logger to be used by this utility. - * A child of this logger will be used for OTEL diag API, unless `configureDiagLogger` is false - */ - log?: Logger; - /** - * Configure Opentelemetry `diag` API to use Gateway's logger. - * - * @default true - * - * Note: Logger configuration respects OTEL environment variables standard. - * This means that the logger will be enabled only if `OTEL_LOG_LEVEL` variable is set. - */ - configureDiagLogger?: boolean; - }; +type BaseOptions = { + /** + * The Resource that will be used to create the Trace Provider. + * Can be either a Resource instance, or an simple object with service name and version + */ + resource?: Resource | { serviceName: string; serviceVersion: string }; + /** + * The Context Manager to be used to track OTEL Context. + * If possible, use `AsyncLocalStorageContextManager` from `@opentelemetry/context-async-hooks`. + */ + contextManager: ContextManager | null; + /** + * A custom list of propagators that will replace the default ones (Trace Context and Baggage) + */ + propagators?: TextMapPropagator[]; + /** + * The general limits of OTEL attributes. + */ + generalLimits?: GeneralLimits; + /** + * The Logger to be used by this utility. + * A child of this logger will be used for OTEL diag API, unless `configureDiagLogger` is false + */ + log?: Logger; + /** + * Configure Opentelemetry `diag` API to use Gateway's logger. + * + * @default true + * + * Note: Logger configuration respects OTEL environment variables standard. + * This means that the logger will be enabled only if `OTEL_LOG_LEVEL` variable is set. + */ + configureDiagLogger?: boolean; +}; +type OpentelemetrySetupOptions = TracingOptions & SamplingOptions & BaseOptions; export function openTelemetrySetup(options: OpentelemetrySetupOptions) { const log = options.log || new Logger(); @@ -221,26 +221,21 @@ export function openTelemetrySetup(options: OpentelemetrySetupOptions) { logAttributes['console'] = true; } - const baseResource = resourceFromAttributes({ - [ATTR_SERVICE_NAME]: - options.resource && 'serviceName' in options.resource - ? options.resource?.serviceName - : getEnvStr('OTEL_SERVICE_NAME') || - '@graphql-hive/plugin-opentelemetry', - [ATTR_SERVICE_VERSION]: - options.resource && 'serviceVersion' in options.resource - ? options.resource?.serviceVersion - : getEnvStr('OTEL_SERVICE_VERSION') || - globalThis.__OTEL_PLUGIN_VERSION__ || - 'unknown', - ['hive.gateway.version']: globalThis.__VERSION__, - ['hive.otel.version']: globalThis.__OTEL_PLUGIN_VERSION__ || 'unknown', - }); - - const resource = - options.resource && !('serviceName' in options.resource) - ? baseResource.merge(options.resource) - : baseResource; + const resource = createResource( + resourceFromAttributes({ + [ATTR_SERVICE_NAME]: + getEnvStr('OTEL_SERVICE_NAME') || + '@graphql-hive/plugin-opentelemetry', + [ATTR_SERVICE_VERSION]: + getEnvStr('OTEL_SERVICE_VERSION') || + globalThis.__OTEL_PLUGIN_VERSION__ || + 'unknown', + ['hive.gateway.version']: globalThis.__VERSION__, + ['hive.otel.version']: + globalThis.__OTEL_PLUGIN_VERSION__ || 'unknown', + }), + options.resource, + ); logAttributes['resource'] = resource.attributes; logAttributes['sampling'] = options.sampler @@ -300,12 +295,9 @@ export type HiveTracingOptions = { target?: string } & ( } ); -export function hiveTracingSetup( - config: HiveTracingOptions & { - contextManager: ContextManager | null; - log?: Logger; - }, -) { +export type HiveTracingSetupOptions = BaseOptions & HiveTracingOptions; + +export function hiveTracingSetup(config: HiveTracingSetupOptions) { const log = config.log || new Logger(); config.target ??= getEnvStr('HIVE_TARGET'); @@ -332,11 +324,19 @@ export function hiveTracingSetup( } openTelemetrySetup({ + ...config, log, - contextManager: config.contextManager, - resource: resourceFromAttributes({ - 'hive.target_id': config.target, - }), + resource: createResource( + resourceFromAttributes({ + 'hive.target_id': config.target, + [ATTR_SERVICE_NAME]: getEnvStr('OTEL_SERVICE_NAME') || 'hive-gateway', + [ATTR_SERVICE_VERSION]: + getEnvStr('OTEL_SERVICE_VERSION') || + globalThis.__OTEL_PLUGIN_VERSION__ || + 'unknown', + }), + config.resource, + ), traces: { processors: [ new HiveTracingSpanProcessor(config as HiveTracingSpanProcessorOptions), @@ -363,3 +363,23 @@ function resolveBatchingConfig( return new BatchSpanProcessor(exporter, value); } } + +function createResource( + baseResource: Resource, + userResource?: OpentelemetrySetupOptions['resource'], +): Resource { + if (!userResource) { + return baseResource; + } + + if ('serviceName' in userResource) { + return baseResource.merge( + resourceFromAttributes({ + [ATTR_SERVICE_NAME]: userResource.serviceName, + [ATTR_SERVICE_VERSION]: userResource.serviceVersion, + }), + ); + } + + return baseResource.merge(userResource); +} From 714a73a56150a8033b40ad5c2154672757986b49 Mon Sep 17 00:00:00 2001 From: Valentin Cocaud Date: Tue, 14 Oct 2025 16:52:48 +0200 Subject: [PATCH 02/10] changeset --- .changeset/thirty-wasps-design.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/thirty-wasps-design.md diff --git a/.changeset/thirty-wasps-design.md b/.changeset/thirty-wasps-design.md new file mode 100644 index 000000000..a0b698adf --- /dev/null +++ b/.changeset/thirty-wasps-design.md @@ -0,0 +1,5 @@ +--- +'@graphql-hive/plugin-opentelemetry': minor +--- + +It is now possible to fully configure the OpenTelemetry setup when using `hiveTracingSetup`. You can now provide a `resource` and a `samplingRate` (among other options). From f0ea2559556501b525b8acab65056111fa0dbb41 Mon Sep 17 00:00:00 2001 From: Valentin Cocaud Date: Fri, 17 Oct 2025 11:22:38 +0200 Subject: [PATCH 03/10] feat(opentelemetry): improve setup logs and error on double init --- .../commands/handleOpenTelemetryCLIOpts.ts | 188 +++++++++--------- packages/plugins/opentelemetry/src/setup.ts | 77 +++++-- 2 files changed, 157 insertions(+), 108 deletions(-) diff --git a/packages/gateway/src/commands/handleOpenTelemetryCLIOpts.ts b/packages/gateway/src/commands/handleOpenTelemetryCLIOpts.ts index a1851d6b2..a82749d72 100644 --- a/packages/gateway/src/commands/handleOpenTelemetryCLIOpts.ts +++ b/packages/gateway/src/commands/handleOpenTelemetryCLIOpts.ts @@ -1,4 +1,3 @@ -import { fakePromise } from '@graphql-tools/utils'; import { BatchSpanProcessor, SpanProcessor, @@ -31,108 +30,119 @@ export async function handleOpenTelemetryCLIOpts( 'Initializing OpenTelemetry SDK', ); - return fakePromise().then(async () => { - const { openTelemetrySetup, HiveTracingSpanProcessor } = await import( - '@graphql-hive/plugin-opentelemetry/setup' - ); - const processors: SpanProcessor[] = []; - - const logAttributes = { - traceEndpoints: [] as { - url: string | null; - type?: string; - target?: string; - }[], - contextManager: false, + const { openTelemetrySetup, HiveTracingSpanProcessor } = await import( + '@graphql-hive/plugin-opentelemetry/setup' + ); + const processors: SpanProcessor[] = []; + + const logAttributes = { + traceEndpoints: [] as { + url: string | null; + type?: string; + target?: string; + }[], + contextManager: false, + }; + + let integration: { name: string; source: { flag: string; env: string } }; + + if (openTelemetry) { + const otelEndpoint = + typeof openTelemetry === 'string' + ? openTelemetry + : getEnvStr('OTEL_EXPORTER_OTLP_ENDPOINT'); + + log.debug({ exporterType, otelEndpoint }, 'Setting up OTLP Exporter'); + + integration = { + name: 'OpenTelemetry', + source: { flag: '--opentelemetry', env: 'OPENTELEMETRY' }, }; - let integrationName: string; + logAttributes.traceEndpoints.push({ + url: otelEndpoint ?? null, + type: exporterType, + }); - if (openTelemetry) { - const otelEndpoint = - typeof openTelemetry === 'string' - ? openTelemetry - : getEnvStr('OTEL_EXPORTER_OTLP_ENDPOINT'); + log.debug({ type: exporterType }, 'Loading OpenTelemetry exporter'); - log.debug({ exporterType, otelEndpoint }, 'Setting up OTLP Exporter'); + const { OTLPTraceExporter } = await import( + `@opentelemetry/exporter-trace-${exporterType}` + ); - integrationName = 'OpenTelemetry'; - logAttributes.traceEndpoints.push({ - url: otelEndpoint ?? null, - type: exporterType, - }); + processors.push( + new BatchSpanProcessor(new OTLPTraceExporter({ url: otelEndpoint })), + ); + } - log.debug({ type: exporterType }, 'Loading OpenTelemetry exporter'); + if (accessToken) { + log.debug({ target, traceEndpoint }, 'Setting up Hive Tracing'); - const { OTLPTraceExporter } = await import( - `@opentelemetry/exporter-trace-${exporterType}` - ); - - processors.push( - new BatchSpanProcessor(new OTLPTraceExporter({ url: otelEndpoint })), + integration ??= { + name: 'Hive Tracing', + source: { + flag: '--hive-trace-access-token', + env: 'HIVE_TRACE_ACCESS_TOKEN', + }, + }; + if (!target) { + ctx.log.error( + 'Hive tracing needs a target. Please provide it through "--hive-target "', ); + process.exit(1); } - if (accessToken) { - log.debug({ target, traceEndpoint }, 'Setting up Hive Tracing'); - - integrationName ??= 'Hive Tracing'; - if (!target) { - ctx.log.error( - 'Hive tracing needs a target. Please provide it through "--hive-target "', - ); - process.exit(1); - } + logAttributes.traceEndpoints.push({ + url: traceEndpoint, + type: 'hive tracing', + target, + }); - logAttributes.traceEndpoints.push({ - url: traceEndpoint, - type: 'hive tracing', + processors.push( + new HiveTracingSpanProcessor({ + accessToken, target, - }); - - processors.push( - new HiveTracingSpanProcessor({ - accessToken, - target, - endpoint: traceEndpoint, - }), - ); - } - - log.debug('Trying to load AsyncLocalStorage based Context Manager'); - - const contextManager = await import('@opentelemetry/context-async-hooks') - .then((module) => { - logAttributes.contextManager = true; - return new module.AsyncLocalStorageContextManager(); - }) - .catch(() => null); - - openTelemetrySetup({ - log, - traces: { processors }, - resource: await detectResource().catch((err) => { - if ( - err && - typeof err === 'object' && - 'code' in err && - err.code === 'ERR_MODULE_NOT_FOUND' - ) { - ctx.log.warn( - err, - `NodeJS modules necessary for environment detection is missing, please install it to auto-detect the environment`, - ); - return undefined; - } - throw err; + endpoint: traceEndpoint, }), - contextManager, - }); - - log.info(logAttributes, `${integrationName!} integration is enabled`); - - return true; + ); + } + + log.debug('Trying to load AsyncLocalStorage based Context Manager'); + + const contextManager = await import('@opentelemetry/context-async-hooks') + .then((module) => { + logAttributes.contextManager = true; + return new module.AsyncLocalStorageContextManager(); + }) + .catch(() => null); + + openTelemetrySetup({ + log, + traces: { processors }, + resource: await detectResource().catch((err) => { + if ( + err && + typeof err === 'object' && + 'code' in err && + err.code === 'ERR_MODULE_NOT_FOUND' + ) { + ctx.log.warn( + err, + `NodeJS modules necessary for environment detection is missing, please install it to auto-detect the environment`, + ); + return undefined; + } + throw err; + }), + contextManager, + _initialization: { + name: integration!.name!, + source: `cli flag (${integration!.source.flag}) or environment variables (${integration!.source.env})`, + logAttributes, + }, }); + + return true; } return false; diff --git a/packages/plugins/opentelemetry/src/setup.ts b/packages/plugins/opentelemetry/src/setup.ts index 903c21953..c28e14300 100644 --- a/packages/plugins/opentelemetry/src/setup.ts +++ b/packages/plugins/opentelemetry/src/setup.ts @@ -153,21 +153,44 @@ type BaseOptions = { * This means that the logger will be enabled only if `OTEL_LOG_LEVEL` variable is set. */ configureDiagLogger?: boolean; + + /** @internal */ + _initialization?: typeof initialized & { logAttributes: Attributes }; }; + type OpentelemetrySetupOptions = TracingOptions & SamplingOptions & BaseOptions; +let initialized: false | { name: string; source: string } = false; export function openTelemetrySetup(options: OpentelemetrySetupOptions) { const log = options.log || new Logger(); + if (initialized) { + log.error( + `${initialized.name} integration has already been initialized by ${initialized.source}`, + ); + throw new Error( + `${initialized.name} integration already initialized. See previous logs for more information`, + ); + } + + initialized = options._initialization || { + name: 'OpenTelemetry', + source: `\`openTelemetrySetup\` utility function call ${getStackTrace()}`, + }; + if (getEnvBool('OTEL_SDK_DISABLED')) { log.warn( - 'OpenTelemetry integration is disabled because `OTEL_SDK_DISABLED` environment variable is truthy', + `${initialized.name} integration is disabled because \`OTEL_SDK_DISABLED\` environment variable is truthy`, ); return; } - const logAttributes: Attributes = { registrationResults: {} }; - let logMessage = 'OpenTelemetry integration is enabled'; + const logAttributes: Attributes = { + ...options._initialization?.logAttributes, + registrationResults: {}, + }; + + let logMessage = `${initialized.name} integration is enabled`; if (options.configureDiagLogger !== false) { // If the log level is not explicitly set, we use VERBOSE to let Hive Logger log level feature filter logs accordingly. @@ -297,54 +320,62 @@ export type HiveTracingOptions = { target?: string } & ( export type HiveTracingSetupOptions = BaseOptions & HiveTracingOptions; -export function hiveTracingSetup(config: HiveTracingSetupOptions) { - const log = config.log || new Logger(); - config.target ??= getEnvStr('HIVE_TARGET'); +export function hiveTracingSetup(options: HiveTracingSetupOptions) { + const log = options.log || new Logger(); + options.target ??= getEnvStr('HIVE_TARGET'); - if (!config.target) { + if (!options.target) { throw new Error( 'You must specify the Hive Registry `target`. Either provide `target` option or `HIVE_TARGET` environment variable.', ); } - const logAttributes: Attributes = { target: config.target }; + const logAttributes: Attributes = { + ...options._initialization?.logAttributes, + target: options.target, + }; - if (!config.processor) { - config.accessToken ??= + if (!options.processor) { + options.accessToken ??= getEnvStr('HIVE_TRACING_ACCESS_TOKEN') ?? getEnvStr('HIVE_ACCESS_TOKEN'); - if (!config.accessToken) { + if (!options.accessToken) { throw new Error( 'You must specify the Hive Registry `accessToken`. Either provide `accessToken` option or `HIVE_ACCESS_TOKEN`/`HIVE_TRACE_ACCESS_TOKEN` environment variable.', ); } - logAttributes['endpoint'] = config.endpoint; - logAttributes['batching'] = config.batching; + logAttributes['endpoint'] = options.endpoint; + logAttributes['batching'] = options.batching; } openTelemetrySetup({ - ...config, + ...options, log, resource: createResource( resourceFromAttributes({ - 'hive.target_id': config.target, + 'hive.target_id': options.target, [ATTR_SERVICE_NAME]: getEnvStr('OTEL_SERVICE_NAME') || 'hive-gateway', [ATTR_SERVICE_VERSION]: getEnvStr('OTEL_SERVICE_VERSION') || globalThis.__OTEL_PLUGIN_VERSION__ || 'unknown', }), - config.resource, + options.resource, ), traces: { processors: [ - new HiveTracingSpanProcessor(config as HiveTracingSpanProcessorOptions), + new HiveTracingSpanProcessor( + options as HiveTracingSpanProcessorOptions, + ), ], }, + _initialization: options._initialization || { + name: 'Hive Tracing', + source: `\`hiveTracingSetup\` utility function call ${getStackTrace()}`, + logAttributes, + }, }); - - log.info(logAttributes, 'Hive Tracing integration has been enabled'); } export type BatchingConfig = boolean | BufferConfig; @@ -383,3 +414,11 @@ function createResource( return baseResource.merge(userResource); } + +/** + * Returns the call site of the calling function and the upper stack trace. + */ +function getStackTrace(): string { + // slice(3) to remove the error message + getStackTrace() call + calling function call + return new Error().stack!.split('\n').slice(3).join('\n').trim(); +} From 34fdebbbfd711dc52a57685feda24f538f4096c3 Mon Sep 17 00:00:00 2001 From: Valentin Cocaud Date: Mon, 27 Oct 2025 10:55:07 +0100 Subject: [PATCH 04/10] add a disable function to allow reset between tests --- packages/plugins/opentelemetry/src/setup.ts | 10 ++++++++++ packages/plugins/opentelemetry/tests/utils.ts | 2 ++ 2 files changed, 12 insertions(+) diff --git a/packages/plugins/opentelemetry/src/setup.ts b/packages/plugins/opentelemetry/src/setup.ts index c28e14300..35226d9b2 100644 --- a/packages/plugins/opentelemetry/src/setup.ts +++ b/packages/plugins/opentelemetry/src/setup.ts @@ -422,3 +422,13 @@ function getStackTrace(): string { // slice(3) to remove the error message + getStackTrace() call + calling function call return new Error().stack!.split('\n').slice(3).join('\n').trim(); } + +/** + * Reset OpenTelemetry setup by disabling `trace`, `context` and `propagation` OpenTelemetry APIs. + */ +export function disable() { + trace.disable(); + context.disable(); + propagation.disable(); + initialized = false; +} diff --git a/packages/plugins/opentelemetry/tests/utils.ts b/packages/plugins/opentelemetry/tests/utils.ts index d4c8dd3a3..73f77d1ec 100644 --- a/packages/plugins/opentelemetry/tests/utils.ts +++ b/packages/plugins/opentelemetry/tests/utils.ts @@ -32,6 +32,7 @@ import { createSchema, createYoga, type GraphQLParams } from 'graphql-yoga'; import { expect } from 'vitest'; import { hive } from '../src/api'; import type { OpenTelemetryGatewayPluginOptions } from '../src/plugin'; +import * as otelSetup from '../src/setup'; export async function buildTestGateway( options: { @@ -332,6 +333,7 @@ export const disableAll = () => { diag.disable(); logs.disable(); hive.disable(); + otelSetup.disable(); }; export class MockLogRecordExporter implements LogRecordExporter { From dae2907a5e976cdb7e5ab5956587dc12d16f5a6b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 27 Oct 2025 09:55:53 +0000 Subject: [PATCH 05/10] chore(dependencies): updated changesets for modified dependencies --- .../@graphql-hive_gateway-1611-dependencies.md | 18 ++++++++++++++++++ ...l-hive_gateway-runtime-1611-dependencies.md | 7 +++++++ .../@graphql-hive_logger-1611-dependencies.md | 7 +++++++ ...-hive_plugin-aws-sigv4-1611-dependencies.md | 7 +++++++ ...e_plugin-opentelemetry-1611-dependencies.md | 17 +++++++++++++++++ 5 files changed, 56 insertions(+) create mode 100644 .changeset/@graphql-hive_gateway-1611-dependencies.md create mode 100644 .changeset/@graphql-hive_gateway-runtime-1611-dependencies.md create mode 100644 .changeset/@graphql-hive_logger-1611-dependencies.md create mode 100644 .changeset/@graphql-hive_plugin-aws-sigv4-1611-dependencies.md create mode 100644 .changeset/@graphql-hive_plugin-opentelemetry-1611-dependencies.md diff --git a/.changeset/@graphql-hive_gateway-1611-dependencies.md b/.changeset/@graphql-hive_gateway-1611-dependencies.md new file mode 100644 index 000000000..37adb3909 --- /dev/null +++ b/.changeset/@graphql-hive_gateway-1611-dependencies.md @@ -0,0 +1,18 @@ +--- +'@graphql-hive/gateway': patch +--- + +dependencies updates: + +- Updated dependency [`@opentelemetry/api-logs@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/api-logs/v/0.207.0) (from `^0.206.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/context-async-hooks@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/context-async-hooks/v/2.2.0) (from `^2.1.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/context-zone@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/context-zone/v/2.2.0) (from `^2.1.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/core@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/core/v/2.2.0) (from `^2.1.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/exporter-jaeger@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-jaeger/v/2.2.0) (from `^2.1.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/exporter-zipkin@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-zipkin/v/2.2.0) (from `^2.1.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/propagator-b3@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/propagator-b3/v/2.2.0) (from `^2.1.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/propagator-jaeger@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/propagator-jaeger/v/2.2.0) (from `^2.1.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/sampler-jaeger-remote@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sampler-jaeger-remote/v/0.207.0) (from `^0.206.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/sdk-logs@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-logs/v/0.207.0) (from `^0.206.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/sdk-metrics@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-metrics/v/2.2.0) (from `^2.1.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/sdk-trace-base@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-trace-base/v/2.2.0) (from `^2.1.0`, in `dependencies`) diff --git a/.changeset/@graphql-hive_gateway-runtime-1611-dependencies.md b/.changeset/@graphql-hive_gateway-runtime-1611-dependencies.md new file mode 100644 index 000000000..f16ae3ca3 --- /dev/null +++ b/.changeset/@graphql-hive_gateway-runtime-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-hive/gateway-runtime': patch +--- + +dependencies updates: + +- Updated dependency [`@types/node@^24.9.1` ↗︎](https://www.npmjs.com/package/@types/node/v/24.9.1) (from `^24.7.2`, in `dependencies`) diff --git a/.changeset/@graphql-hive_logger-1611-dependencies.md b/.changeset/@graphql-hive_logger-1611-dependencies.md new file mode 100644 index 000000000..8f2eab050 --- /dev/null +++ b/.changeset/@graphql-hive_logger-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-hive/logger': patch +--- + +dependencies updates: + +- Updated dependency [`@logtape/logtape@^1.1.2` ↗︎](https://www.npmjs.com/package/@logtape/logtape/v/1.1.2) (from `^1.1.1`, in `peerDependencies`) diff --git a/.changeset/@graphql-hive_plugin-aws-sigv4-1611-dependencies.md b/.changeset/@graphql-hive_plugin-aws-sigv4-1611-dependencies.md new file mode 100644 index 000000000..9b2f4f5ad --- /dev/null +++ b/.changeset/@graphql-hive_plugin-aws-sigv4-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-hive/plugin-aws-sigv4': patch +--- + +dependencies updates: + +- Updated dependency [`@aws-sdk/client-sts@^3.916.0` ↗︎](https://www.npmjs.com/package/@aws-sdk/client-sts/v/3.916.0) (from `^3.908.0`, in `dependencies`) diff --git a/.changeset/@graphql-hive_plugin-opentelemetry-1611-dependencies.md b/.changeset/@graphql-hive_plugin-opentelemetry-1611-dependencies.md new file mode 100644 index 000000000..c0588d637 --- /dev/null +++ b/.changeset/@graphql-hive_plugin-opentelemetry-1611-dependencies.md @@ -0,0 +1,17 @@ +--- +'@graphql-hive/plugin-opentelemetry': patch +--- + +dependencies updates: + +- Updated dependency [`@opentelemetry/api-logs@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/api-logs/v/0.207.0) (from `^0.206.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/auto-instrumentations-node@^0.66.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node/v/0.66.0) (from `^0.65.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/context-async-hooks@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/context-async-hooks/v/2.2.0) (from `^2.1.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/core@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/core/v/2.2.0) (from `^2.1.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/exporter-trace-otlp-grpc@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-trace-otlp-grpc/v/0.207.0) (from `^0.206.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/exporter-trace-otlp-http@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-trace-otlp-http/v/0.207.0) (from `^0.206.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/instrumentation@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/instrumentation/v/0.207.0) (from `^0.206.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/resources@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/resources/v/2.2.0) (from `^2.1.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/sdk-logs@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-logs/v/0.207.0) (from `^0.206.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/sdk-node@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-node/v/0.207.0) (from `^0.206.0`, in `dependencies`) +- Updated dependency [`@opentelemetry/sdk-trace-base@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-trace-base/v/2.2.0) (from `^2.1.0`, in `dependencies`) From 49ec05a1e297ce25a40040116c82b716640757ba Mon Sep 17 00:00:00 2001 From: Valentin Cocaud Date: Mon, 27 Oct 2025 11:01:10 +0100 Subject: [PATCH 06/10] fix from review --- packages/gateway/src/commands/handleOpenTelemetryCLIOpts.ts | 2 +- packages/plugins/opentelemetry/src/setup.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/gateway/src/commands/handleOpenTelemetryCLIOpts.ts b/packages/gateway/src/commands/handleOpenTelemetryCLIOpts.ts index a82749d72..2e96ebfe8 100644 --- a/packages/gateway/src/commands/handleOpenTelemetryCLIOpts.ts +++ b/packages/gateway/src/commands/handleOpenTelemetryCLIOpts.ts @@ -136,7 +136,7 @@ export async function handleOpenTelemetryCLIOpts( }), contextManager, _initialization: { - name: integration!.name!, + name: integration!.name, source: `cli flag (${integration!.source.flag}) or environment variables (${integration!.source.env})`, logAttributes, }, diff --git a/packages/plugins/opentelemetry/src/setup.ts b/packages/plugins/opentelemetry/src/setup.ts index 35226d9b2..8a2cc0f42 100644 --- a/packages/plugins/opentelemetry/src/setup.ts +++ b/packages/plugins/opentelemetry/src/setup.ts @@ -420,7 +420,7 @@ function createResource( */ function getStackTrace(): string { // slice(3) to remove the error message + getStackTrace() call + calling function call - return new Error().stack!.split('\n').slice(3).join('\n').trim(); + return (new Error().stack ?? '').split('\n').slice(3).join('\n').trim(); } /** From d4b6016ee8565875dec4ff9bcabcdc0d5add6141 Mon Sep 17 00:00:00 2001 From: Valentin Cocaud Date: Mon, 27 Oct 2025 11:30:45 +0100 Subject: [PATCH 07/10] fix otel e2e tests for cli flags --- e2e/opentelemetry/opentelemetry.e2e.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/opentelemetry/opentelemetry.e2e.ts b/e2e/opentelemetry/opentelemetry.e2e.ts index 344b69665..723224273 100644 --- a/e2e/opentelemetry/opentelemetry.e2e.ts +++ b/e2e/opentelemetry/opentelemetry.e2e.ts @@ -253,7 +253,7 @@ describe('OpenTelemetry', () => { const { execute } = await gateway({ supergraph, env: { - DISABLED_OPENTELEMETRY_SETUP: '1', + DISABLE_OPENTELEMETRY_SETUP: '1', OTEL_SERVICE_NAME: serviceName, OTEL_SERVICE_VERSION: '1.0.0', }, From 996f85faf2546c263f268868a730b23209a4d6db Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 27 Oct 2025 10:35:26 +0000 Subject: [PATCH 08/10] chore(dependencies): updated changesets for modified dependencies --- .../@graphql-hive_gateway-1611-dependencies.md | 18 ------------------ ...l-hive_gateway-runtime-1611-dependencies.md | 7 ------- .../@graphql-hive_logger-1611-dependencies.md | 7 ------- ...-hive_plugin-aws-sigv4-1611-dependencies.md | 7 ------- ...e_plugin-opentelemetry-1611-dependencies.md | 17 ----------------- 5 files changed, 56 deletions(-) delete mode 100644 .changeset/@graphql-hive_gateway-1611-dependencies.md delete mode 100644 .changeset/@graphql-hive_gateway-runtime-1611-dependencies.md delete mode 100644 .changeset/@graphql-hive_logger-1611-dependencies.md delete mode 100644 .changeset/@graphql-hive_plugin-aws-sigv4-1611-dependencies.md delete mode 100644 .changeset/@graphql-hive_plugin-opentelemetry-1611-dependencies.md diff --git a/.changeset/@graphql-hive_gateway-1611-dependencies.md b/.changeset/@graphql-hive_gateway-1611-dependencies.md deleted file mode 100644 index 37adb3909..000000000 --- a/.changeset/@graphql-hive_gateway-1611-dependencies.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -'@graphql-hive/gateway': patch ---- - -dependencies updates: - -- Updated dependency [`@opentelemetry/api-logs@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/api-logs/v/0.207.0) (from `^0.206.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/context-async-hooks@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/context-async-hooks/v/2.2.0) (from `^2.1.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/context-zone@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/context-zone/v/2.2.0) (from `^2.1.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/core@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/core/v/2.2.0) (from `^2.1.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/exporter-jaeger@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-jaeger/v/2.2.0) (from `^2.1.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/exporter-zipkin@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-zipkin/v/2.2.0) (from `^2.1.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/propagator-b3@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/propagator-b3/v/2.2.0) (from `^2.1.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/propagator-jaeger@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/propagator-jaeger/v/2.2.0) (from `^2.1.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/sampler-jaeger-remote@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sampler-jaeger-remote/v/0.207.0) (from `^0.206.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/sdk-logs@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-logs/v/0.207.0) (from `^0.206.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/sdk-metrics@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-metrics/v/2.2.0) (from `^2.1.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/sdk-trace-base@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-trace-base/v/2.2.0) (from `^2.1.0`, in `dependencies`) diff --git a/.changeset/@graphql-hive_gateway-runtime-1611-dependencies.md b/.changeset/@graphql-hive_gateway-runtime-1611-dependencies.md deleted file mode 100644 index f16ae3ca3..000000000 --- a/.changeset/@graphql-hive_gateway-runtime-1611-dependencies.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@graphql-hive/gateway-runtime': patch ---- - -dependencies updates: - -- Updated dependency [`@types/node@^24.9.1` ↗︎](https://www.npmjs.com/package/@types/node/v/24.9.1) (from `^24.7.2`, in `dependencies`) diff --git a/.changeset/@graphql-hive_logger-1611-dependencies.md b/.changeset/@graphql-hive_logger-1611-dependencies.md deleted file mode 100644 index 8f2eab050..000000000 --- a/.changeset/@graphql-hive_logger-1611-dependencies.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@graphql-hive/logger': patch ---- - -dependencies updates: - -- Updated dependency [`@logtape/logtape@^1.1.2` ↗︎](https://www.npmjs.com/package/@logtape/logtape/v/1.1.2) (from `^1.1.1`, in `peerDependencies`) diff --git a/.changeset/@graphql-hive_plugin-aws-sigv4-1611-dependencies.md b/.changeset/@graphql-hive_plugin-aws-sigv4-1611-dependencies.md deleted file mode 100644 index 9b2f4f5ad..000000000 --- a/.changeset/@graphql-hive_plugin-aws-sigv4-1611-dependencies.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@graphql-hive/plugin-aws-sigv4': patch ---- - -dependencies updates: - -- Updated dependency [`@aws-sdk/client-sts@^3.916.0` ↗︎](https://www.npmjs.com/package/@aws-sdk/client-sts/v/3.916.0) (from `^3.908.0`, in `dependencies`) diff --git a/.changeset/@graphql-hive_plugin-opentelemetry-1611-dependencies.md b/.changeset/@graphql-hive_plugin-opentelemetry-1611-dependencies.md deleted file mode 100644 index c0588d637..000000000 --- a/.changeset/@graphql-hive_plugin-opentelemetry-1611-dependencies.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -'@graphql-hive/plugin-opentelemetry': patch ---- - -dependencies updates: - -- Updated dependency [`@opentelemetry/api-logs@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/api-logs/v/0.207.0) (from `^0.206.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/auto-instrumentations-node@^0.66.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node/v/0.66.0) (from `^0.65.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/context-async-hooks@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/context-async-hooks/v/2.2.0) (from `^2.1.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/core@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/core/v/2.2.0) (from `^2.1.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/exporter-trace-otlp-grpc@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-trace-otlp-grpc/v/0.207.0) (from `^0.206.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/exporter-trace-otlp-http@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/exporter-trace-otlp-http/v/0.207.0) (from `^0.206.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/instrumentation@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/instrumentation/v/0.207.0) (from `^0.206.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/resources@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/resources/v/2.2.0) (from `^2.1.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/sdk-logs@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-logs/v/0.207.0) (from `^0.206.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/sdk-node@^0.207.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-node/v/0.207.0) (from `^0.206.0`, in `dependencies`) -- Updated dependency [`@opentelemetry/sdk-trace-base@^2.2.0` ↗︎](https://www.npmjs.com/package/@opentelemetry/sdk-trace-base/v/2.2.0) (from `^2.1.0`, in `dependencies`) From 5dcf08d7b5f38cf1c9610122ce3ec6be7e9fa711 Mon Sep 17 00:00:00 2001 From: Valentin Cocaud Date: Thu, 6 Nov 2025 11:27:56 +0100 Subject: [PATCH 09/10] fix missing options: console, limits, sampling --- packages/plugins/opentelemetry/src/setup.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/plugins/opentelemetry/src/setup.ts b/packages/plugins/opentelemetry/src/setup.ts index 8a2cc0f42..833c108a1 100644 --- a/packages/plugins/opentelemetry/src/setup.ts +++ b/packages/plugins/opentelemetry/src/setup.ts @@ -318,7 +318,10 @@ export type HiveTracingOptions = { target?: string } & ( } ); -export type HiveTracingSetupOptions = BaseOptions & HiveTracingOptions; +export type HiveTracingSetupOptions = BaseOptions & + HiveTracingOptions & + SamplingOptions & + TracerOptions; export function hiveTracingSetup(options: HiveTracingSetupOptions) { const log = options.log || new Logger(); @@ -369,6 +372,8 @@ export function hiveTracingSetup(options: HiveTracingSetupOptions) { options as HiveTracingSpanProcessorOptions, ), ], + spanLimits: options.spanLimits, + console: options.console, }, _initialization: options._initialization || { name: 'Hive Tracing', From 422d0cae29558c4b2b716aaaea219fa5e1ab7ab9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 6 Nov 2025 10:28:31 +0000 Subject: [PATCH 10/10] chore(dependencies): updated changesets for modified dependencies --- .../@graphql-hive_gateway-1611-dependencies.md | 13 +++++++++++++ ...raphql-hive_gateway-runtime-1611-dependencies.md | 12 ++++++++++++ ...raphql-hive_gateway-testing-1611-dependencies.md | 8 ++++++++ .../@graphql-hive_nestjs-1611-dependencies.md | 7 +++++++ ..._plugin-deduplicate-request-1611-dependencies.md | 7 +++++++ ...l-hive_plugin-opentelemetry-1611-dependencies.md | 7 +++++++ ...graphql-mesh_fusion-runtime-1611-dependencies.md | 10 ++++++++++ ...esh_hmac-upstream-signature-1611-dependencies.md | 7 +++++++ ...raphql-mesh_plugin-jwt-auth-1611-dependencies.md | 7 +++++++ ...phql-mesh_plugin-prometheus-1611-dependencies.md | 8 ++++++++ ...aphql-mesh_transport-common-1611-dependencies.md | 8 ++++++++ ...graphql-mesh_transport-http-1611-dependencies.md | 7 +++++++ ...esh_transport-http-callback-1611-dependencies.md | 8 ++++++++ .../@graphql-mesh_transport-ws-1611-dependencies.md | 7 +++++++ ...raphql-tools_batch-delegate-1611-dependencies.md | 7 +++++++ ...graphql-tools_batch-execute-1611-dependencies.md | 7 +++++++ .../@graphql-tools_delegate-1611-dependencies.md | 10 ++++++++++ ...aphql-tools_executor-common-1611-dependencies.md | 7 +++++++ ...l-tools_executor-graphql-ws-1611-dependencies.md | 7 +++++++ ...graphql-tools_executor-http-1611-dependencies.md | 8 ++++++++ .../@graphql-tools_federation-1611-dependencies.md | 11 +++++++++++ .../@graphql-tools_stitch-1611-dependencies.md | 10 ++++++++++ ...-tools_stitching-directives-1611-dependencies.md | 7 +++++++ .changeset/@graphql-tools_wrap-1611-dependencies.md | 8 ++++++++ 24 files changed, 198 insertions(+) create mode 100644 .changeset/@graphql-hive_gateway-1611-dependencies.md create mode 100644 .changeset/@graphql-hive_gateway-runtime-1611-dependencies.md create mode 100644 .changeset/@graphql-hive_gateway-testing-1611-dependencies.md create mode 100644 .changeset/@graphql-hive_nestjs-1611-dependencies.md create mode 100644 .changeset/@graphql-hive_plugin-deduplicate-request-1611-dependencies.md create mode 100644 .changeset/@graphql-hive_plugin-opentelemetry-1611-dependencies.md create mode 100644 .changeset/@graphql-mesh_fusion-runtime-1611-dependencies.md create mode 100644 .changeset/@graphql-mesh_hmac-upstream-signature-1611-dependencies.md create mode 100644 .changeset/@graphql-mesh_plugin-jwt-auth-1611-dependencies.md create mode 100644 .changeset/@graphql-mesh_plugin-prometheus-1611-dependencies.md create mode 100644 .changeset/@graphql-mesh_transport-common-1611-dependencies.md create mode 100644 .changeset/@graphql-mesh_transport-http-1611-dependencies.md create mode 100644 .changeset/@graphql-mesh_transport-http-callback-1611-dependencies.md create mode 100644 .changeset/@graphql-mesh_transport-ws-1611-dependencies.md create mode 100644 .changeset/@graphql-tools_batch-delegate-1611-dependencies.md create mode 100644 .changeset/@graphql-tools_batch-execute-1611-dependencies.md create mode 100644 .changeset/@graphql-tools_delegate-1611-dependencies.md create mode 100644 .changeset/@graphql-tools_executor-common-1611-dependencies.md create mode 100644 .changeset/@graphql-tools_executor-graphql-ws-1611-dependencies.md create mode 100644 .changeset/@graphql-tools_executor-http-1611-dependencies.md create mode 100644 .changeset/@graphql-tools_federation-1611-dependencies.md create mode 100644 .changeset/@graphql-tools_stitch-1611-dependencies.md create mode 100644 .changeset/@graphql-tools_stitching-directives-1611-dependencies.md create mode 100644 .changeset/@graphql-tools_wrap-1611-dependencies.md diff --git a/.changeset/@graphql-hive_gateway-1611-dependencies.md b/.changeset/@graphql-hive_gateway-1611-dependencies.md new file mode 100644 index 000000000..1fe71295d --- /dev/null +++ b/.changeset/@graphql-hive_gateway-1611-dependencies.md @@ -0,0 +1,13 @@ +--- +'@graphql-hive/gateway': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-mesh/cache-redis@^0.105.0` ↗︎](https://www.npmjs.com/package/@graphql-mesh/cache-redis/v/0.105.0) (from `^0.104.14`, in `dependencies`) +- Updated dependency [`@graphql-tools/code-file-loader@^8.1.24` ↗︎](https://www.npmjs.com/package/@graphql-tools/code-file-loader/v/8.1.24) (from `^8.1.23`, in `dependencies`) +- Updated dependency [`@graphql-tools/graphql-file-loader@^8.1.4` ↗︎](https://www.npmjs.com/package/@graphql-tools/graphql-file-loader/v/8.1.4) (from `^8.1.3`, in `dependencies`) +- Updated dependency [`@graphql-tools/load@^8.1.4` ↗︎](https://www.npmjs.com/package/@graphql-tools/load/v/8.1.4) (from `^8.1.3`, in `dependencies`) +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) +- Updated dependency [`@graphql-yoga/render-graphiql@^5.16.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/render-graphiql/v/5.16.1) (from `^5.16.0`, in `dependencies`) +- Updated dependency [`graphql-yoga@^5.16.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.16.1) (from `^5.16.0`, in `dependencies`) diff --git a/.changeset/@graphql-hive_gateway-runtime-1611-dependencies.md b/.changeset/@graphql-hive_gateway-runtime-1611-dependencies.md new file mode 100644 index 000000000..9dc3dbaf8 --- /dev/null +++ b/.changeset/@graphql-hive_gateway-runtime-1611-dependencies.md @@ -0,0 +1,12 @@ +--- +'@graphql-hive/gateway-runtime': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) +- Updated dependency [`@graphql-yoga/plugin-apollo-usage-report@^0.11.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-apollo-usage-report/v/0.11.1) (from `^0.11.0`, in `dependencies`) +- Updated dependency [`@graphql-yoga/plugin-csrf-prevention@^3.16.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-csrf-prevention/v/3.16.1) (from `^3.16.0`, in `dependencies`) +- Updated dependency [`@graphql-yoga/plugin-defer-stream@^3.16.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-defer-stream/v/3.16.1) (from `^3.16.0`, in `dependencies`) +- Updated dependency [`@graphql-yoga/plugin-persisted-operations@^3.16.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-persisted-operations/v/3.16.1) (from `^3.16.0`, in `dependencies`) +- Updated dependency [`graphql-yoga@^5.16.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.16.1) (from `^5.16.0`, in `dependencies`) diff --git a/.changeset/@graphql-hive_gateway-testing-1611-dependencies.md b/.changeset/@graphql-hive_gateway-testing-1611-dependencies.md new file mode 100644 index 000000000..11f56b8da --- /dev/null +++ b/.changeset/@graphql-hive_gateway-testing-1611-dependencies.md @@ -0,0 +1,8 @@ +--- +'@graphql-hive/gateway-testing': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) +- Updated dependency [`graphql-yoga@^5.16.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.16.1) (from `^5.16.0`, in `dependencies`) diff --git a/.changeset/@graphql-hive_nestjs-1611-dependencies.md b/.changeset/@graphql-hive_nestjs-1611-dependencies.md new file mode 100644 index 000000000..a2cc7de95 --- /dev/null +++ b/.changeset/@graphql-hive_nestjs-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-hive/nestjs': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-hive_plugin-deduplicate-request-1611-dependencies.md b/.changeset/@graphql-hive_plugin-deduplicate-request-1611-dependencies.md new file mode 100644 index 000000000..785a16e8b --- /dev/null +++ b/.changeset/@graphql-hive_plugin-deduplicate-request-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-hive/plugin-deduplicate-request': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-hive_plugin-opentelemetry-1611-dependencies.md b/.changeset/@graphql-hive_plugin-opentelemetry-1611-dependencies.md new file mode 100644 index 000000000..74144ec09 --- /dev/null +++ b/.changeset/@graphql-hive_plugin-opentelemetry-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-hive/plugin-opentelemetry': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-mesh_fusion-runtime-1611-dependencies.md b/.changeset/@graphql-mesh_fusion-runtime-1611-dependencies.md new file mode 100644 index 000000000..023c9c717 --- /dev/null +++ b/.changeset/@graphql-mesh_fusion-runtime-1611-dependencies.md @@ -0,0 +1,10 @@ +--- +'@graphql-mesh/fusion-runtime': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/executor@^1.4.11` ↗︎](https://www.npmjs.com/package/@graphql-tools/executor/v/1.4.11) (from `^1.4.10`, in `dependencies`) +- Updated dependency [`@graphql-tools/merge@^9.1.3` ↗︎](https://www.npmjs.com/package/@graphql-tools/merge/v/9.1.3) (from `^9.1.2`, in `dependencies`) +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) +- Updated dependency [`graphql-yoga@^5.16.1` ↗︎](https://www.npmjs.com/package/graphql-yoga/v/5.16.1) (from `^5.16.0`, in `dependencies`) diff --git a/.changeset/@graphql-mesh_hmac-upstream-signature-1611-dependencies.md b/.changeset/@graphql-mesh_hmac-upstream-signature-1611-dependencies.md new file mode 100644 index 000000000..95923be7a --- /dev/null +++ b/.changeset/@graphql-mesh_hmac-upstream-signature-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-mesh/hmac-upstream-signature': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-mesh_plugin-jwt-auth-1611-dependencies.md b/.changeset/@graphql-mesh_plugin-jwt-auth-1611-dependencies.md new file mode 100644 index 000000000..aa0bd532b --- /dev/null +++ b/.changeset/@graphql-mesh_plugin-jwt-auth-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-mesh/plugin-jwt-auth': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-yoga/plugin-jwt@^3.10.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-jwt/v/3.10.1) (from `^3.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-mesh_plugin-prometheus-1611-dependencies.md b/.changeset/@graphql-mesh_plugin-prometheus-1611-dependencies.md new file mode 100644 index 000000000..a15069999 --- /dev/null +++ b/.changeset/@graphql-mesh_plugin-prometheus-1611-dependencies.md @@ -0,0 +1,8 @@ +--- +'@graphql-mesh/plugin-prometheus': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) +- Updated dependency [`@graphql-yoga/plugin-prometheus@^6.11.1` ↗︎](https://www.npmjs.com/package/@graphql-yoga/plugin-prometheus/v/6.11.1) (from `^6.11.0`, in `dependencies`) diff --git a/.changeset/@graphql-mesh_transport-common-1611-dependencies.md b/.changeset/@graphql-mesh_transport-common-1611-dependencies.md new file mode 100644 index 000000000..02ddebe58 --- /dev/null +++ b/.changeset/@graphql-mesh_transport-common-1611-dependencies.md @@ -0,0 +1,8 @@ +--- +'@graphql-mesh/transport-common': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/executor@^1.4.11` ↗︎](https://www.npmjs.com/package/@graphql-tools/executor/v/1.4.11) (from `^1.4.10`, in `dependencies`) +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-mesh_transport-http-1611-dependencies.md b/.changeset/@graphql-mesh_transport-http-1611-dependencies.md new file mode 100644 index 000000000..202f7f033 --- /dev/null +++ b/.changeset/@graphql-mesh_transport-http-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-mesh/transport-http': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-mesh_transport-http-callback-1611-dependencies.md b/.changeset/@graphql-mesh_transport-http-callback-1611-dependencies.md new file mode 100644 index 000000000..c97a4731c --- /dev/null +++ b/.changeset/@graphql-mesh_transport-http-callback-1611-dependencies.md @@ -0,0 +1,8 @@ +--- +'@graphql-mesh/transport-http-callback': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) +- Updated dependency [`@whatwg-node/fetch@^0.10.12` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.12) (from `^0.10.11`, in `dependencies`) diff --git a/.changeset/@graphql-mesh_transport-ws-1611-dependencies.md b/.changeset/@graphql-mesh_transport-ws-1611-dependencies.md new file mode 100644 index 000000000..9dbeee379 --- /dev/null +++ b/.changeset/@graphql-mesh_transport-ws-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-mesh/transport-ws': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-tools_batch-delegate-1611-dependencies.md b/.changeset/@graphql-tools_batch-delegate-1611-dependencies.md new file mode 100644 index 000000000..e412c8b9b --- /dev/null +++ b/.changeset/@graphql-tools_batch-delegate-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-tools/batch-delegate': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-tools_batch-execute-1611-dependencies.md b/.changeset/@graphql-tools_batch-execute-1611-dependencies.md new file mode 100644 index 000000000..f7574e492 --- /dev/null +++ b/.changeset/@graphql-tools_batch-execute-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-tools/batch-execute': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-tools_delegate-1611-dependencies.md b/.changeset/@graphql-tools_delegate-1611-dependencies.md new file mode 100644 index 000000000..a62c1ad1b --- /dev/null +++ b/.changeset/@graphql-tools_delegate-1611-dependencies.md @@ -0,0 +1,10 @@ +--- +'@graphql-tools/delegate': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/executor@^1.4.11` ↗︎](https://www.npmjs.com/package/@graphql-tools/executor/v/1.4.11) (from `^1.4.10`, in `dependencies`) +- Updated dependency [`@graphql-tools/schema@^10.0.27` ↗︎](https://www.npmjs.com/package/@graphql-tools/schema/v/10.0.27) (from `^10.0.26`, in `dependencies`) +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) +- Removed dependency [`dset@^3.1.2` ↗︎](https://www.npmjs.com/package/dset/v/3.1.2) (from `dependencies`) diff --git a/.changeset/@graphql-tools_executor-common-1611-dependencies.md b/.changeset/@graphql-tools_executor-common-1611-dependencies.md new file mode 100644 index 000000000..f9bcbaf45 --- /dev/null +++ b/.changeset/@graphql-tools_executor-common-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-tools/executor-common': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-tools_executor-graphql-ws-1611-dependencies.md b/.changeset/@graphql-tools_executor-graphql-ws-1611-dependencies.md new file mode 100644 index 000000000..0cc2b1457 --- /dev/null +++ b/.changeset/@graphql-tools_executor-graphql-ws-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-tools/executor-graphql-ws': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-tools_executor-http-1611-dependencies.md b/.changeset/@graphql-tools_executor-http-1611-dependencies.md new file mode 100644 index 000000000..16c8902a3 --- /dev/null +++ b/.changeset/@graphql-tools_executor-http-1611-dependencies.md @@ -0,0 +1,8 @@ +--- +'@graphql-tools/executor-http': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) +- Updated dependency [`@whatwg-node/fetch@^0.10.12` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.12) (from `^0.10.11`, in `dependencies`) diff --git a/.changeset/@graphql-tools_federation-1611-dependencies.md b/.changeset/@graphql-tools_federation-1611-dependencies.md new file mode 100644 index 000000000..c92ea69c4 --- /dev/null +++ b/.changeset/@graphql-tools_federation-1611-dependencies.md @@ -0,0 +1,11 @@ +--- +'@graphql-tools/federation': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/executor@^1.4.11` ↗︎](https://www.npmjs.com/package/@graphql-tools/executor/v/1.4.11) (from `^1.4.10`, in `dependencies`) +- Updated dependency [`@graphql-tools/merge@^9.1.3` ↗︎](https://www.npmjs.com/package/@graphql-tools/merge/v/9.1.3) (from `^9.1.2`, in `dependencies`) +- Updated dependency [`@graphql-tools/schema@^10.0.27` ↗︎](https://www.npmjs.com/package/@graphql-tools/schema/v/10.0.27) (from `^10.0.26`, in `dependencies`) +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) +- Updated dependency [`@whatwg-node/fetch@^0.10.12` ↗︎](https://www.npmjs.com/package/@whatwg-node/fetch/v/0.10.12) (from `^0.10.11`, in `dependencies`) diff --git a/.changeset/@graphql-tools_stitch-1611-dependencies.md b/.changeset/@graphql-tools_stitch-1611-dependencies.md new file mode 100644 index 000000000..50e09878d --- /dev/null +++ b/.changeset/@graphql-tools_stitch-1611-dependencies.md @@ -0,0 +1,10 @@ +--- +'@graphql-tools/stitch': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/executor@^1.4.11` ↗︎](https://www.npmjs.com/package/@graphql-tools/executor/v/1.4.11) (from `^1.4.10`, in `dependencies`) +- Updated dependency [`@graphql-tools/merge@^9.1.3` ↗︎](https://www.npmjs.com/package/@graphql-tools/merge/v/9.1.3) (from `^9.1.2`, in `dependencies`) +- Updated dependency [`@graphql-tools/schema@^10.0.27` ↗︎](https://www.npmjs.com/package/@graphql-tools/schema/v/10.0.27) (from `^10.0.26`, in `dependencies`) +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-tools_stitching-directives-1611-dependencies.md b/.changeset/@graphql-tools_stitching-directives-1611-dependencies.md new file mode 100644 index 000000000..1e873705f --- /dev/null +++ b/.changeset/@graphql-tools_stitching-directives-1611-dependencies.md @@ -0,0 +1,7 @@ +--- +'@graphql-tools/stitching-directives': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`) diff --git a/.changeset/@graphql-tools_wrap-1611-dependencies.md b/.changeset/@graphql-tools_wrap-1611-dependencies.md new file mode 100644 index 000000000..ea5fdc86f --- /dev/null +++ b/.changeset/@graphql-tools_wrap-1611-dependencies.md @@ -0,0 +1,8 @@ +--- +'@graphql-tools/wrap': patch +--- + +dependencies updates: + +- Updated dependency [`@graphql-tools/schema@^10.0.27` ↗︎](https://www.npmjs.com/package/@graphql-tools/schema/v/10.0.27) (from `^10.0.26`, in `dependencies`) +- Updated dependency [`@graphql-tools/utils@^10.10.1` ↗︎](https://www.npmjs.com/package/@graphql-tools/utils/v/10.10.1) (from `^10.10.0`, in `dependencies`)