From 8e8f67089289061dc5aef05f8b8311b49b5967fb Mon Sep 17 00:00:00 2001 From: Erin Allison Date: Tue, 11 Mar 2025 21:05:45 -0400 Subject: [PATCH] Suppress external instrumentations for fetch calls from ApiClient Signed-off-by: Erin Allison --- .changeset/red-wasps-cover.md | 5 +++++ packages/core/package.json | 1 + packages/core/src/v3/apiClient/core.ts | 5 ++++- pnpm-lock.yaml | 13 +++++++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 .changeset/red-wasps-cover.md diff --git a/.changeset/red-wasps-cover.md b/.changeset/red-wasps-cover.md new file mode 100644 index 0000000000..035e7549fa --- /dev/null +++ b/.changeset/red-wasps-cover.md @@ -0,0 +1,5 @@ +--- +"@trigger.dev/core": patch +--- + +Suppress external instrumentation for fetch calls from ApiClient diff --git a/packages/core/package.json b/packages/core/package.json index 454625f676..f966aa5729 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -187,6 +187,7 @@ "@jsonhero/path": "^1.0.21", "@opentelemetry/api": "1.9.0", "@opentelemetry/api-logs": "0.52.1", + "@opentelemetry/core": "^1.30.1", "@opentelemetry/exporter-logs-otlp-http": "0.52.1", "@opentelemetry/exporter-trace-otlp-http": "0.52.1", "@opentelemetry/instrumentation": "0.52.1", diff --git a/packages/core/src/v3/apiClient/core.ts b/packages/core/src/v3/apiClient/core.ts index d49c3bbb14..8aa56b36a1 100644 --- a/packages/core/src/v3/apiClient/core.ts +++ b/packages/core/src/v3/apiClient/core.ts @@ -5,6 +5,7 @@ import { calculateNextRetryDelay } from "../utils/retries.js"; import { ApiConnectionError, ApiError, ApiSchemaValidationError } from "./errors.js"; import { Attributes, context, propagation, Span } from "@opentelemetry/api"; +import {suppressTracing} from "@opentelemetry/core" import { SemanticInternalAttributes } from "../semanticInternalAttributes.js"; import type { TriggerTracer } from "../tracer.js"; import { accessoryAttributes } from "../utils/styleAttributes.js"; @@ -216,7 +217,9 @@ async function _doZodFetchWithRetries( attempt = 1 ): Promise>> { try { - const response = await fetch(url, requestInitWithCache(requestInit)); + const response = await context.with(suppressTracing(context.active()), () => + fetch(url, requestInitWithCache(requestInit)) + ); const responseHeaders = createResponseHeaders(response.headers); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a84048e8f5..d263725095 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1304,6 +1304,9 @@ importers: '@opentelemetry/api-logs': specifier: 0.52.1 version: 0.52.1 + '@opentelemetry/core': + specifier: ^1.30.1 + version: 1.30.1(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-logs-otlp-http': specifier: 0.52.1 version: 0.52.1(@opentelemetry/api@1.9.0) @@ -8570,6 +8573,16 @@ packages: '@opentelemetry/semantic-conventions': 1.28.0 dev: false + /@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0): + resolution: {integrity: sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/semantic-conventions': 1.28.0 + dev: false + /@opentelemetry/exporter-logs-otlp-http@0.49.1(@opentelemetry/api@1.4.1): resolution: {integrity: sha512-3QoBnIGCmEkujynUP0mK155QtOM0MSf9FNrEw7u9ieCFsoMiyatg2hPp+alEDONJ8N8wGEK+wP2q3icgXBiggw==} engines: {node: '>=14'}