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 4b27b97722..7b82035357 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -172,6 +172,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 16b9947b38..d07e50711a 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 6b37c0b3e7..34224c2cf3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1407,6 +1407,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) @@ -8737,6 +8740,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'}