From e42b240951f4d8dc54e092e6e9b9182fb67df66f Mon Sep 17 00:00:00 2001 From: Zarir Hamza Date: Tue, 9 Jun 2026 10:19:42 -0400 Subject: [PATCH 1/9] fix: route ESM Lambdas through handler.mjs via CJS shim AWS Lambda's CJS resolver picks `dist/handler.js` before `dist/handler.mjs` when the handler string is `node_modules/datadog-lambda-js/dist/handler.handler`, causing ESM user functions to fail with ERR_REQUIRE_ESM (or the surface "Cannot find module" variant when _tryRequireSync swallows it). Today `dist/handler.js` ships as a verbatim copy of `dist/handler.cjs` (via `cp ./dist/handler.cjs ./dist/handler.js` in the publish scripts), so it can never load ESM user code. This replaces the copy with a real `src/handler.js` shim that: - Detects ESM user code via the task root `package.json` `type` field or a `.mjs` `DD_LAMBDA_HANDLER` / `_HANDLER`. - For CJS user code: synchronously delegates to `handler.cjs`, preserving the prior fast path (no cold-start regression). - For ESM user code: exposes an async handler that lazily `import()`s `handler.mjs` on the first invocation. `handler.mjs`'s async `load()` transparently handles both CJS and ESM user modules. `scripts/update_dist_version.sh` already copies `src/handler.*` into `dist/`, so the shim ships automatically; the explicit `cp ./dist/handler.cjs ./dist/handler.js` lines in `publish_npm.sh` and `publish_prod.sh` are no longer needed and are removed. Refs: https://github.com/DataDog/datadog-lambda-js/issues/782 Refs: SLES-2888, SLES-2895, SVLS-9238 --- .gitlab/scripts/publish_npm.sh | 1 - scripts/publish_prod.sh | 1 - src/handler.js | 63 ++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 src/handler.js diff --git a/.gitlab/scripts/publish_npm.sh b/.gitlab/scripts/publish_npm.sh index 76b8c3391..1492cb92f 100755 --- a/.gitlab/scripts/publish_npm.sh +++ b/.gitlab/scripts/publish_npm.sh @@ -29,5 +29,4 @@ if [ -d "./dist" ]; then rm -rf ./dist fi yarn build -cp ./dist/handler.cjs ./dist/handler.js npm publish diff --git a/scripts/publish_prod.sh b/scripts/publish_prod.sh index 63d6e177f..c1a21d983 100755 --- a/scripts/publish_prod.sh +++ b/scripts/publish_prod.sh @@ -95,7 +95,6 @@ else rm -rf ./dist fi yarn build - cp ./dist/handler.cjs ./dist/handler.js yarn publish --new-version "$NEW_VERSION" fi diff --git a/src/handler.js b/src/handler.js new file mode 100644 index 000000000..36408534f --- /dev/null +++ b/src/handler.js @@ -0,0 +1,63 @@ +// CJS entry shim used by AWS Lambda's bootstrap when the handler string +// resolves to `node_modules/datadog-lambda-js/dist/handler.handler`. +// +// Lambda's resolver searches for `.js` before `.mjs`, so this file is what +// gets loaded for both CJS and ESM user functions. We branch at runtime: +// +// - CJS user code: synchronously delegate to handler.cjs (preserves the +// prior fast-path behavior — no extra dynamic import on cold start). +// +// - ESM user code: expose an async handler that lazily `import()`s +// handler.mjs on the first invocation. handler.mjs's async `load()` +// transparently handles both CJS and ESM user modules, so this also +// fixes the ERR_REQUIRE_ESM failure mode reported in +// https://github.com/DataDog/datadog-lambda-js/issues/782. + +"use strict"; + +const fs = require("fs"); +const path = require("path"); + +function userIsEsm() { + const handlerEnv = process.env.DD_LAMBDA_HANDLER || process.env._HANDLER || ""; + if (/\.mjs(\..*)?$/.test(handlerEnv)) { + return true; + } + + const taskRoot = process.env.LAMBDA_TASK_ROOT || process.cwd(); + try { + const pkgPath = path.join(taskRoot, "package.json"); + const raw = fs.readFileSync(pkgPath, "utf8"); + const pkg = JSON.parse(raw); + if (pkg && pkg.type === "module") { + return true; + } + } catch (_) { + // package.json missing or unreadable — assume CJS, matches prior behavior. + } + + return false; +} + +if (userIsEsm()) { + let cachedHandler; + let cachedError; + + exports.handler = async function ddEsmHandler(event, context) { + if (cachedError) { + throw cachedError; + } + if (!cachedHandler) { + try { + const mod = await import("./handler.mjs"); + cachedHandler = mod.handler; + } catch (error) { + cachedError = error; + throw error; + } + } + return cachedHandler(event, context); + }; +} else { + module.exports = require("./handler.cjs"); +} From f3720a0b081af745e401c083aa43a0661e5a1614 Mon Sep 17 00:00:00 2001 From: Zarir Hamza Date: Tue, 9 Jun 2026 10:42:24 -0400 Subject: [PATCH 2/9] fix(layer): keep handler.js shim out of the published layer The Dockerfile copies `dist/` wholesale into the layer, so the new `dist/handler.js` shim would get included and Lambda's bootstrap would resolve `handler.handler` to it. Inside the layer that goes through the shim's CJS branch -> handler.cjs -> _tryRequireSync, which can't load `.mjs` user modules (this regressed the `esm_node*` integration tests). The layer has never shipped a `handler.js`; Lambda's resolver falls through to `handler.mjs`, whose async `load()` handles both CJS and ESM user code. Drop the shim from the layer to preserve that behavior. The shim is still useful in the npm tarball, where the publish scripts used to copy `handler.cjs` to `handler.js`. --- Dockerfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Dockerfile b/Dockerfile index 67fa526ee..3e454e60b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,6 +13,13 @@ RUN yarn install # Build the lambda layer RUN yarn build RUN cp -r dist /nodejs/node_modules/datadog-lambda-js +# The CJS shim at dist/handler.js exists to route ESM Lambdas through +# handler.mjs when the npm package is used directly (the publish scripts no +# longer copy handler.cjs to handler.js). In the layer, Lambda's bootstrap +# resolves `handler.handler` to handler.mjs as long as handler.js is absent, +# which handles both CJS and ESM user code via the async load(). Drop the +# shim here so the layer keeps that direct-to-mjs behavior. +RUN rm /nodejs/node_modules/datadog-lambda-js/handler.js RUN cp ./src/runtime/module_importer.js /nodejs/node_modules/datadog-lambda-js/runtime RUN node <<'EOF' const fs = require("fs"); From c7577282d4c7af88d45ab5ee8a1e5c7b79e73025 Mon Sep 17 00:00:00 2001 From: Zarir Hamza Date: Thu, 11 Jun 2026 10:21:05 -0400 Subject: [PATCH 3/9] refactor(handler): address PR #784 review feedback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename `userIsEsm()` to `shouldUseEsmHandler()`. The function returns a routing decision based on heuristics (env regex + package.json sniff), not an authoritative fact about the user's code, so the new name reads more honestly at the call site. - Inline the former `src/handler.cjs` body into the CJS branch of the shim and delete `src/handler.cjs`. Lambda's resolver doesn't auto-resolve `.cjs`, so handler.cjs was only ever reachable via this shim's `require("./handler.cjs")`. Keeping it as a separate file made the load graph confusing — future readers grepping for "what loads handler.cjs?" would find one caller in the same directory. The heavy `require()`s remain scoped to the CJS branch so ESM users don't pay the cost of pulling in the full tracer at require-time. - Add `src/handler.spec.ts` covering shouldUseEsmHandler's four-case matrix (.mjs in _HANDLER / DD_LAMBDA_HANDLER, package.json type=module, package.json without type field, package.json missing, package.json unparseable). Detection is the load-bearing piece — a regression there means either ESM users keep seeing ERR_REQUIRE_ESM or CJS users pay an unnecessary async-import cold-start cost. - Tighten `scripts/update_dist_version.sh`'s `cp src/handler.*` to list the runtime artifacts explicitly. The broader glob also picked up `src/handler.spec.ts`, which is a test fixture, not a runtime file — shipping it would also be silently inconsistent with the Dockerfile's hard-coded `rm /nodejs/.../handler.js`. - Expand the Dockerfile comment to point at `scripts/update_dist_version.sh` as the source of the file being removed, so a future change to how `src/handler.js` is copied into `dist/` is visibly tied to the layer-side `rm`. --- Dockerfile | 4 ++ scripts/update_dist_version.sh | 6 ++- src/handler.cjs | 43 ---------------- src/handler.js | 78 +++++++++++++++++++++++----- src/handler.spec.ts | 92 ++++++++++++++++++++++++++++++++++ 5 files changed, 166 insertions(+), 57 deletions(-) delete mode 100644 src/handler.cjs create mode 100644 src/handler.spec.ts diff --git a/Dockerfile b/Dockerfile index 3e454e60b..1ca4866f1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,6 +19,10 @@ RUN cp -r dist /nodejs/node_modules/datadog-lambda-js # resolves `handler.handler` to handler.mjs as long as handler.js is absent, # which handles both CJS and ESM user code via the async load(). Drop the # shim here so the layer keeps that direct-to-mjs behavior. +# +# The file being removed is shipped into dist/ by the `cp src/handler.* dist/` +# step in scripts/update_dist_version.sh — if that script changes how +# src/handler.js gets copied, this rm must be revisited. RUN rm /nodejs/node_modules/datadog-lambda-js/handler.js RUN cp ./src/runtime/module_importer.js /nodejs/node_modules/datadog-lambda-js/runtime RUN node <<'EOF' diff --git a/scripts/update_dist_version.sh b/scripts/update_dist_version.sh index a8e800ade..4d8c502a2 100755 --- a/scripts/update_dist_version.sh +++ b/scripts/update_dist_version.sh @@ -16,6 +16,10 @@ echo "$TRACE_CONSTANTS" | sed "s/\(ddtraceVersion =\) \"\(X\.X\.X\)\"/\1 \"$DD_TRACE_VERSION\"/" > ./dist/trace/constants.js echo "Copying handler js files" -cp src/handler.* dist/ +# Be explicit about which handler files ship — a broader `src/handler.*` glob +# would also pick up `src/handler.spec.ts`, which is a test fixture, not a +# runtime artifact. The Dockerfile's layer build also assumes `dist/handler.js` +# is the shim from `src/handler.js`, not some other file. +cp src/handler.js src/handler.mjs dist/ cp src/init.js dist/init.js cp src/runtime/module_importer.js dist/runtime/ diff --git a/src/handler.cjs b/src/handler.cjs deleted file mode 100644 index 740a3f586..000000000 --- a/src/handler.cjs +++ /dev/null @@ -1,43 +0,0 @@ -const { - datadog, - datadogHandlerEnvVar, - lambdaTaskRootEnvVar, - traceExtractorEnvVar, - emitTelemetryOnErrorOutsideHandler, - getEnvValue, -} = require("./index.js"); -const { logDebug, logError } = require("./utils/index.js"); -const { loadSync } = require("./runtime/index.js"); -const { initTracer } = require("./runtime/module_importer"); - -if (process.env.DD_TRACE_DISABLED_PLUGINS === undefined) { - process.env.DD_TRACE_DISABLED_PLUGINS = "fs"; - logDebug("disabled the dd-trace plugin 'fs'"); -} - -if (getEnvValue("DD_TRACE_ENABLED", "true").toLowerCase() === "true") { - initTracer(); -} - -const taskRootEnv = getEnvValue(lambdaTaskRootEnvVar, ""); -const handlerEnv = getEnvValue(datadogHandlerEnvVar, ""); -const extractorEnv = getEnvValue(traceExtractorEnvVar, ""); -let traceExtractor; - -if (extractorEnv) { - try { - traceExtractor = loadSync(taskRootEnv, extractorEnv); - logDebug("loaded custom trace context extractor", { extractorEnv }); - } catch (error) { - logError("an error occurred while loading the custom trace context extractor", { error, extractorEnv }); - } -} - -try { - exports.handler = datadog(loadSync(taskRootEnv, handlerEnv), { traceExtractor }); -} catch (error) { - emitTelemetryOnErrorOutsideHandler(error, handlerEnv, Date.now()).catch( - logDebug("failed to error telemetry on error outside handler"), - ); - throw error; -} diff --git a/src/handler.js b/src/handler.js index 36408534f..b971f8f72 100644 --- a/src/handler.js +++ b/src/handler.js @@ -1,24 +1,26 @@ -// CJS entry shim used by AWS Lambda's bootstrap when the handler string -// resolves to `node_modules/datadog-lambda-js/dist/handler.handler`. +// CJS entry used by AWS Lambda's bootstrap when the handler string resolves +// to `node_modules/datadog-lambda-js/dist/handler.handler` from the published +// npm package. Lambda's resolver picks `.js` before `.mjs`, so this file is +// what gets loaded for both CJS and ESM user functions. We branch at runtime: // -// Lambda's resolver searches for `.js` before `.mjs`, so this file is what -// gets loaded for both CJS and ESM user functions. We branch at runtime: -// -// - CJS user code: synchronously delegate to handler.cjs (preserves the -// prior fast-path behavior — no extra dynamic import on cold start). +// - CJS user code: synchronously load and wrap the handler in-place (the +// prior fast-path behavior, formerly delegated to handler.cjs). // // - ESM user code: expose an async handler that lazily `import()`s // handler.mjs on the first invocation. handler.mjs's async `load()` -// transparently handles both CJS and ESM user modules, so this also +// transparently handles both CJS and ESM user modules, so this is what // fixes the ERR_REQUIRE_ESM failure mode reported in // https://github.com/DataDog/datadog-lambda-js/issues/782. +// +// In the published layer this file is removed by the Dockerfile so Lambda's +// resolver falls through to handler.mjs directly. "use strict"; const fs = require("fs"); const path = require("path"); -function userIsEsm() { +function shouldUseEsmHandler() { const handlerEnv = process.env.DD_LAMBDA_HANDLER || process.env._HANDLER || ""; if (/\.mjs(\..*)?$/.test(handlerEnv)) { return true; @@ -27,8 +29,7 @@ function userIsEsm() { const taskRoot = process.env.LAMBDA_TASK_ROOT || process.cwd(); try { const pkgPath = path.join(taskRoot, "package.json"); - const raw = fs.readFileSync(pkgPath, "utf8"); - const pkg = JSON.parse(raw); + const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8")); if (pkg && pkg.type === "module") { return true; } @@ -39,7 +40,10 @@ function userIsEsm() { return false; } -if (userIsEsm()) { +// Exported for unit tests. Not part of the public surface. +exports._shouldUseEsmHandler = shouldUseEsmHandler; + +if (shouldUseEsmHandler()) { let cachedHandler; let cachedError; @@ -59,5 +63,53 @@ if (userIsEsm()) { return cachedHandler(event, context); }; } else { - module.exports = require("./handler.cjs"); + // Inlined former handler.cjs body. Lambda's resolver doesn't auto-resolve + // `.cjs` for the handler string, so handler.cjs was only ever reachable + // via the shim's `require("./handler.cjs")` — keeping it as a separate + // file made the load graph confusing. Requires are scoped to this branch + // so ESM users don't pay the cost of pulling in the full tracer at + // require-time when they only need handler.mjs. + const { + datadog, + datadogHandlerEnvVar, + lambdaTaskRootEnvVar, + traceExtractorEnvVar, + emitTelemetryOnErrorOutsideHandler, + getEnvValue, + } = require("./index.js"); + const { logDebug, logError } = require("./utils/index.js"); + const { loadSync } = require("./runtime/index.js"); + const { initTracer } = require("./runtime/module_importer"); + + if (process.env.DD_TRACE_DISABLED_PLUGINS === undefined) { + process.env.DD_TRACE_DISABLED_PLUGINS = "fs"; + logDebug("disabled the dd-trace plugin 'fs'"); + } + + if (getEnvValue("DD_TRACE_ENABLED", "true").toLowerCase() === "true") { + initTracer(); + } + + const taskRootEnv = getEnvValue(lambdaTaskRootEnvVar, ""); + const handlerEnv = getEnvValue(datadogHandlerEnvVar, ""); + const extractorEnv = getEnvValue(traceExtractorEnvVar, ""); + let traceExtractor; + + if (extractorEnv) { + try { + traceExtractor = loadSync(taskRootEnv, extractorEnv); + logDebug("loaded custom trace context extractor", { extractorEnv }); + } catch (error) { + logError("an error occurred while loading the custom trace context extractor", { error, extractorEnv }); + } + } + + try { + exports.handler = datadog(loadSync(taskRootEnv, handlerEnv), { traceExtractor }); + } catch (error) { + emitTelemetryOnErrorOutsideHandler(error, handlerEnv, Date.now()).catch( + logDebug("failed to error telemetry on error outside handler"), + ); + throw error; + } } diff --git a/src/handler.spec.ts b/src/handler.spec.ts new file mode 100644 index 000000000..70ac1c1b9 --- /dev/null +++ b/src/handler.spec.ts @@ -0,0 +1,92 @@ +import * as fs from "fs"; +import * as os from "os"; +import * as path from "path"; + +// Load handler.js with environment that forces the ESM branch on first +// require. The ESM branch only defines an async handler — it does not call +// loadSync or initTracer — so the module loads safely in a test process +// without a real user app. +// +// shouldUseEsmHandler reads process.env / fs at call time, not module-load +// time, so each test case can mutate the environment freely after the +// initial require. +const ORIGINAL_ENV = { ...process.env }; +process.env.DD_LAMBDA_HANDLER = "_handler_spec_init.mjs.handler"; +delete process.env._HANDLER; +process.env.LAMBDA_TASK_ROOT = os.tmpdir(); + +// eslint-disable-next-line @typescript-eslint/no-var-requires +const handlerModule: { _shouldUseEsmHandler: () => boolean } = require("./handler"); +const { _shouldUseEsmHandler: shouldUseEsmHandler } = handlerModule; + +describe("handler.js shouldUseEsmHandler", () => { + let tmpDirs: string[]; + + beforeEach(() => { + tmpDirs = []; + process.env = { ...ORIGINAL_ENV }; + }); + + afterEach(() => { + for (const dir of tmpDirs) { + fs.rmSync(dir, { recursive: true, force: true }); + } + }); + + afterAll(() => { + process.env = { ...ORIGINAL_ENV }; + }); + + function makeTaskRoot(packageJson?: object): string { + const dir = fs.mkdtempSync(path.join(os.tmpdir(), "handler-spec-")); + tmpDirs.push(dir); + if (packageJson !== undefined) { + fs.writeFileSync(path.join(dir, "package.json"), JSON.stringify(packageJson)); + } + return dir; + } + + it("returns true when _HANDLER points at a .mjs file", () => { + process.env._HANDLER = "app.mjs.handler"; + delete process.env.DD_LAMBDA_HANDLER; + process.env.LAMBDA_TASK_ROOT = makeTaskRoot(); + expect(shouldUseEsmHandler()).toBe(true); + }); + + it("returns true when DD_LAMBDA_HANDLER points at a .mjs file", () => { + process.env.DD_LAMBDA_HANDLER = "app.mjs.handler"; + delete process.env._HANDLER; + process.env.LAMBDA_TASK_ROOT = makeTaskRoot(); + expect(shouldUseEsmHandler()).toBe(true); + }); + + it('returns true when LAMBDA_TASK_ROOT/package.json has type: "module"', () => { + process.env.DD_LAMBDA_HANDLER = "app.handler"; + delete process.env._HANDLER; + process.env.LAMBDA_TASK_ROOT = makeTaskRoot({ type: "module" }); + expect(shouldUseEsmHandler()).toBe(true); + }); + + it("returns false when package.json exists without type: module", () => { + process.env.DD_LAMBDA_HANDLER = "app.handler"; + delete process.env._HANDLER; + process.env.LAMBDA_TASK_ROOT = makeTaskRoot({ name: "app" }); + expect(shouldUseEsmHandler()).toBe(false); + }); + + it("returns false when package.json is missing from LAMBDA_TASK_ROOT", () => { + process.env.DD_LAMBDA_HANDLER = "app.handler"; + delete process.env._HANDLER; + process.env.LAMBDA_TASK_ROOT = makeTaskRoot(); + expect(shouldUseEsmHandler()).toBe(false); + }); + + it("returns false when package.json is unparseable", () => { + process.env.DD_LAMBDA_HANDLER = "app.handler"; + delete process.env._HANDLER; + const dir = makeTaskRoot(); + fs.writeFileSync(path.join(dir, "package.json"), "{ not valid json"); + process.env.LAMBDA_TASK_ROOT = dir; + expect(shouldUseEsmHandler()).toBe(false); + }); +}); From 6807ad19428f3c121ed65283a57c1299b388809d Mon Sep 17 00:00:00 2001 From: Zarir Hamza Date: Thu, 11 Jun 2026 11:05:19 -0400 Subject: [PATCH 4/9] refactor: drop CJS shim and ship handler.mjs as sole entry point MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After feedback from Darcy Rayner (original handler.cjs/mjs author) and re-evaluating the cold-start trade-offs, the shim is the wrong shape. The shim's CJS branch saved ~10-30ms of cold-start init for CJS users on the npm-redirect path, but its ESM branch moved 300-800ms of tracer/handler load work from Lambda's init phase into the first invocation. That's worse in three ways for ESM users (the cohort this PR exists to fix): 1. First-invoke timeout risk on functions with tight timeouts — the loading work now eats into the invocation's time budget. 2. Provisioned concurrency is wasted — work deferred past init isn't pre-warmed, so PC customers pay for warm capacity and still hit cold-start latency on the first real request. 3. Lambda SnapStart is wasted for the same reason — snapshot is taken after init, and the shim's lazy `import()` runs post-snapshot. handler.mjs's async `load()` already handles both CJS and ESM user modules transparently. Lambda's bootstrap resolves `dist/handler.handler` to handler.mjs once `.js` is absent, so removing the shim is sufficient and matches the behavior the published layer has always had. End state: - Sole Lambda entry point everywhere: `handler.mjs`. - The npm tarball and the layer ship the same `dist/` (one handler file). - No detection heuristics, no shim, no `handler.cjs` (already gone). Aligns with: - Darcy Rayner's recommendation on the PR thread to "only bundle the ESM handler" since all supported runtimes (Node 18+) support top-level await in ESM. - The customer's own suggested fix in https://github.com/DataDog/datadog-lambda-js/issues/782. - SLES-2888's confirmed-working internal workaround (`rm dist/handler.js` post-install). - The intent of the earlier PR #697. --- Dockerfile | 11 ---- scripts/update_dist_version.sh | 12 ++-- src/handler.js | 115 --------------------------------- src/handler.spec.ts | 92 -------------------------- 4 files changed, 6 insertions(+), 224 deletions(-) delete mode 100644 src/handler.js delete mode 100644 src/handler.spec.ts diff --git a/Dockerfile b/Dockerfile index 1ca4866f1..67fa526ee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,17 +13,6 @@ RUN yarn install # Build the lambda layer RUN yarn build RUN cp -r dist /nodejs/node_modules/datadog-lambda-js -# The CJS shim at dist/handler.js exists to route ESM Lambdas through -# handler.mjs when the npm package is used directly (the publish scripts no -# longer copy handler.cjs to handler.js). In the layer, Lambda's bootstrap -# resolves `handler.handler` to handler.mjs as long as handler.js is absent, -# which handles both CJS and ESM user code via the async load(). Drop the -# shim here so the layer keeps that direct-to-mjs behavior. -# -# The file being removed is shipped into dist/ by the `cp src/handler.* dist/` -# step in scripts/update_dist_version.sh — if that script changes how -# src/handler.js gets copied, this rm must be revisited. -RUN rm /nodejs/node_modules/datadog-lambda-js/handler.js RUN cp ./src/runtime/module_importer.js /nodejs/node_modules/datadog-lambda-js/runtime RUN node <<'EOF' const fs = require("fs"); diff --git a/scripts/update_dist_version.sh b/scripts/update_dist_version.sh index 4d8c502a2..d32278a5d 100755 --- a/scripts/update_dist_version.sh +++ b/scripts/update_dist_version.sh @@ -15,11 +15,11 @@ echo "$MAIN_CONSTANTS" | echo "$TRACE_CONSTANTS" | sed "s/\(ddtraceVersion =\) \"\(X\.X\.X\)\"/\1 \"$DD_TRACE_VERSION\"/" > ./dist/trace/constants.js -echo "Copying handler js files" -# Be explicit about which handler files ship — a broader `src/handler.*` glob -# would also pick up `src/handler.spec.ts`, which is a test fixture, not a -# runtime artifact. The Dockerfile's layer build also assumes `dist/handler.js` -# is the shim from `src/handler.js`, not some other file. -cp src/handler.js src/handler.mjs dist/ +echo "Copying handler files" +# Only handler.mjs ships as a Lambda entry point. Lambda's bootstrap resolves +# `dist/handler.handler` to handler.mjs (it falls through `.js` -> `.mjs`), +# and handler.mjs's async `load()` handles both CJS and ESM user modules, so +# a separate `.js` / `.cjs` variant is no longer needed. +cp src/handler.mjs dist/ cp src/init.js dist/init.js cp src/runtime/module_importer.js dist/runtime/ diff --git a/src/handler.js b/src/handler.js deleted file mode 100644 index b971f8f72..000000000 --- a/src/handler.js +++ /dev/null @@ -1,115 +0,0 @@ -// CJS entry used by AWS Lambda's bootstrap when the handler string resolves -// to `node_modules/datadog-lambda-js/dist/handler.handler` from the published -// npm package. Lambda's resolver picks `.js` before `.mjs`, so this file is -// what gets loaded for both CJS and ESM user functions. We branch at runtime: -// -// - CJS user code: synchronously load and wrap the handler in-place (the -// prior fast-path behavior, formerly delegated to handler.cjs). -// -// - ESM user code: expose an async handler that lazily `import()`s -// handler.mjs on the first invocation. handler.mjs's async `load()` -// transparently handles both CJS and ESM user modules, so this is what -// fixes the ERR_REQUIRE_ESM failure mode reported in -// https://github.com/DataDog/datadog-lambda-js/issues/782. -// -// In the published layer this file is removed by the Dockerfile so Lambda's -// resolver falls through to handler.mjs directly. - -"use strict"; - -const fs = require("fs"); -const path = require("path"); - -function shouldUseEsmHandler() { - const handlerEnv = process.env.DD_LAMBDA_HANDLER || process.env._HANDLER || ""; - if (/\.mjs(\..*)?$/.test(handlerEnv)) { - return true; - } - - const taskRoot = process.env.LAMBDA_TASK_ROOT || process.cwd(); - try { - const pkgPath = path.join(taskRoot, "package.json"); - const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8")); - if (pkg && pkg.type === "module") { - return true; - } - } catch (_) { - // package.json missing or unreadable — assume CJS, matches prior behavior. - } - - return false; -} - -// Exported for unit tests. Not part of the public surface. -exports._shouldUseEsmHandler = shouldUseEsmHandler; - -if (shouldUseEsmHandler()) { - let cachedHandler; - let cachedError; - - exports.handler = async function ddEsmHandler(event, context) { - if (cachedError) { - throw cachedError; - } - if (!cachedHandler) { - try { - const mod = await import("./handler.mjs"); - cachedHandler = mod.handler; - } catch (error) { - cachedError = error; - throw error; - } - } - return cachedHandler(event, context); - }; -} else { - // Inlined former handler.cjs body. Lambda's resolver doesn't auto-resolve - // `.cjs` for the handler string, so handler.cjs was only ever reachable - // via the shim's `require("./handler.cjs")` — keeping it as a separate - // file made the load graph confusing. Requires are scoped to this branch - // so ESM users don't pay the cost of pulling in the full tracer at - // require-time when they only need handler.mjs. - const { - datadog, - datadogHandlerEnvVar, - lambdaTaskRootEnvVar, - traceExtractorEnvVar, - emitTelemetryOnErrorOutsideHandler, - getEnvValue, - } = require("./index.js"); - const { logDebug, logError } = require("./utils/index.js"); - const { loadSync } = require("./runtime/index.js"); - const { initTracer } = require("./runtime/module_importer"); - - if (process.env.DD_TRACE_DISABLED_PLUGINS === undefined) { - process.env.DD_TRACE_DISABLED_PLUGINS = "fs"; - logDebug("disabled the dd-trace plugin 'fs'"); - } - - if (getEnvValue("DD_TRACE_ENABLED", "true").toLowerCase() === "true") { - initTracer(); - } - - const taskRootEnv = getEnvValue(lambdaTaskRootEnvVar, ""); - const handlerEnv = getEnvValue(datadogHandlerEnvVar, ""); - const extractorEnv = getEnvValue(traceExtractorEnvVar, ""); - let traceExtractor; - - if (extractorEnv) { - try { - traceExtractor = loadSync(taskRootEnv, extractorEnv); - logDebug("loaded custom trace context extractor", { extractorEnv }); - } catch (error) { - logError("an error occurred while loading the custom trace context extractor", { error, extractorEnv }); - } - } - - try { - exports.handler = datadog(loadSync(taskRootEnv, handlerEnv), { traceExtractor }); - } catch (error) { - emitTelemetryOnErrorOutsideHandler(error, handlerEnv, Date.now()).catch( - logDebug("failed to error telemetry on error outside handler"), - ); - throw error; - } -} diff --git a/src/handler.spec.ts b/src/handler.spec.ts deleted file mode 100644 index 70ac1c1b9..000000000 --- a/src/handler.spec.ts +++ /dev/null @@ -1,92 +0,0 @@ -import * as fs from "fs"; -import * as os from "os"; -import * as path from "path"; - -// Load handler.js with environment that forces the ESM branch on first -// require. The ESM branch only defines an async handler — it does not call -// loadSync or initTracer — so the module loads safely in a test process -// without a real user app. -// -// shouldUseEsmHandler reads process.env / fs at call time, not module-load -// time, so each test case can mutate the environment freely after the -// initial require. -const ORIGINAL_ENV = { ...process.env }; -process.env.DD_LAMBDA_HANDLER = "_handler_spec_init.mjs.handler"; -delete process.env._HANDLER; -process.env.LAMBDA_TASK_ROOT = os.tmpdir(); - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const handlerModule: { _shouldUseEsmHandler: () => boolean } = require("./handler"); -const { _shouldUseEsmHandler: shouldUseEsmHandler } = handlerModule; - -describe("handler.js shouldUseEsmHandler", () => { - let tmpDirs: string[]; - - beforeEach(() => { - tmpDirs = []; - process.env = { ...ORIGINAL_ENV }; - }); - - afterEach(() => { - for (const dir of tmpDirs) { - fs.rmSync(dir, { recursive: true, force: true }); - } - }); - - afterAll(() => { - process.env = { ...ORIGINAL_ENV }; - }); - - function makeTaskRoot(packageJson?: object): string { - const dir = fs.mkdtempSync(path.join(os.tmpdir(), "handler-spec-")); - tmpDirs.push(dir); - if (packageJson !== undefined) { - fs.writeFileSync(path.join(dir, "package.json"), JSON.stringify(packageJson)); - } - return dir; - } - - it("returns true when _HANDLER points at a .mjs file", () => { - process.env._HANDLER = "app.mjs.handler"; - delete process.env.DD_LAMBDA_HANDLER; - process.env.LAMBDA_TASK_ROOT = makeTaskRoot(); - expect(shouldUseEsmHandler()).toBe(true); - }); - - it("returns true when DD_LAMBDA_HANDLER points at a .mjs file", () => { - process.env.DD_LAMBDA_HANDLER = "app.mjs.handler"; - delete process.env._HANDLER; - process.env.LAMBDA_TASK_ROOT = makeTaskRoot(); - expect(shouldUseEsmHandler()).toBe(true); - }); - - it('returns true when LAMBDA_TASK_ROOT/package.json has type: "module"', () => { - process.env.DD_LAMBDA_HANDLER = "app.handler"; - delete process.env._HANDLER; - process.env.LAMBDA_TASK_ROOT = makeTaskRoot({ type: "module" }); - expect(shouldUseEsmHandler()).toBe(true); - }); - - it("returns false when package.json exists without type: module", () => { - process.env.DD_LAMBDA_HANDLER = "app.handler"; - delete process.env._HANDLER; - process.env.LAMBDA_TASK_ROOT = makeTaskRoot({ name: "app" }); - expect(shouldUseEsmHandler()).toBe(false); - }); - - it("returns false when package.json is missing from LAMBDA_TASK_ROOT", () => { - process.env.DD_LAMBDA_HANDLER = "app.handler"; - delete process.env._HANDLER; - process.env.LAMBDA_TASK_ROOT = makeTaskRoot(); - expect(shouldUseEsmHandler()).toBe(false); - }); - - it("returns false when package.json is unparseable", () => { - process.env.DD_LAMBDA_HANDLER = "app.handler"; - delete process.env._HANDLER; - const dir = makeTaskRoot(); - fs.writeFileSync(path.join(dir, "package.json"), "{ not valid json"); - process.env.LAMBDA_TASK_ROOT = dir; - expect(shouldUseEsmHandler()).toBe(false); - }); -}); From 1d86f65232b286265467947503968b544ab7d366 Mon Sep 17 00:00:00 2001 From: Zarir Hamza Date: Thu, 11 Jun 2026 14:55:27 -0400 Subject: [PATCH 5/9] refactor: drop orphaned sync loader chain; guard dist against stale artifacts Two follow-ups from PR #784 review: 1. Remove `loadSync`, `_loadUserAppSync`, `_tryRequireSync`. Deleting `src/handler.cjs` in the previous commit removed the only consumers of the synchronous loader chain. `loadSync` was never re-exported from the public `src/index.ts` entry point, no tests reference it, and the only internal import (`src/handler.mjs`) uses the async `load()`. The three functions and the `loadSync` re-export in `src/runtime/index.ts` are now dead code, so drop them. 2. Defensive cleanup in `scripts/update_dist_version.sh`: explicitly `rm -f dist/handler.js dist/handler.cjs` before copying handler.mjs. `tsc` does not clean stale files in `dist/` between incremental builds, so a leftover `handler.js` from a prior build of an earlier ref could resurface and silently re-introduce the resolver bug this PR is fixing. The publish scripts already do `rm -rf ./dist` before `yarn build`, so this is purely a guard for local dev builds. --- scripts/update_dist_version.sh | 5 ++ src/runtime/index.ts | 2 +- src/runtime/user-function.ts | 105 --------------------------------- 3 files changed, 6 insertions(+), 106 deletions(-) diff --git a/scripts/update_dist_version.sh b/scripts/update_dist_version.sh index d32278a5d..7e6566f43 100755 --- a/scripts/update_dist_version.sh +++ b/scripts/update_dist_version.sh @@ -20,6 +20,11 @@ echo "Copying handler files" # `dist/handler.handler` to handler.mjs (it falls through `.js` -> `.mjs`), # and handler.mjs's async `load()` handles both CJS and ESM user modules, so # a separate `.js` / `.cjs` variant is no longer needed. +# +# Remove any stale `dist/handler.js` / `dist/handler.cjs` left over from prior +# builds — tsc doesn't clean dist between incremental compiles, and shipping +# either of those files would re-introduce the resolver bug this PR fixes. +rm -f dist/handler.js dist/handler.cjs cp src/handler.mjs dist/ cp src/init.js dist/init.js cp src/runtime/module_importer.js dist/runtime/ diff --git a/src/runtime/index.ts b/src/runtime/index.ts index 9d1aaff5b..837b0ec22 100644 --- a/src/runtime/index.ts +++ b/src/runtime/index.ts @@ -1,2 +1,2 @@ -export { load, loadSync } from "./user-function"; +export { load } from "./user-function"; export { subscribeToDC, getTraceTree, clearTraceTree, RequireNode } from "./require-tracer" diff --git a/src/runtime/user-function.ts b/src/runtime/user-function.ts index 5071238fa..9c0df1f89 100644 --- a/src/runtime/user-function.ts +++ b/src/runtime/user-function.ts @@ -156,45 +156,6 @@ async function _tryRequire(appRoot: string, moduleRoot: string, module: string): return require(nodeStylePath); } -/** - * Attempt to load the user's module. - * Attempts to directly resolve the module relative to the application root, - * then falls back to the more general require(). - */ -function _tryRequireSync(appRoot: string, moduleRoot: string, module: string): Promise { - const lambdaStylePath = path.resolve(appRoot, moduleRoot, module); - // Extensionless files are loaded via require. - const extensionless = _tryRequireFile(lambdaStylePath); - if (extensionless) { - return extensionless; - } - // If package.json type != module, .js files are loaded via require. - const pjHasModule = _hasPackageJsonTypeModule(lambdaStylePath); - if (!pjHasModule) { - const loaded = _tryRequireFile(lambdaStylePath, ".js"); - if (loaded) { - return loaded; - } - } - // If still not loaded, try .js, .mjs, and .cjs in that order. - // Files ending with .js are loaded as ES modules when the nearest parent package.json - // file contains a top-level field "type" with a value of "module". - // https://nodejs.org/api/packages.html#packages_type - const loaded = _tryRequireFile(lambdaStylePath, ".cjs"); - if (loaded) { - return loaded; - } - // Why not just require(module)? - // Because require() is relative to __dirname, not process.cwd(). And the - // runtime implementation is not located in /var/task - // This won't work (yet) for esModules as import.meta.resolve is still experimental - // See: https://nodejs.org/api/esm.html#esm_import_meta_resolve_specifier_parent - const nodeStylePath = require.resolve(module, { - paths: [appRoot, moduleRoot], - }); - return require(nodeStylePath); -} - /** * Load the user's application or throw a descriptive error. * @throws Runtime errors in two cases @@ -221,26 +182,6 @@ async function _loadUserApp( } } -function _loadUserAppSync( - appRoot: string, - moduleRoot: string, - module: string -): Promise { - try { - return _tryRequireSync(appRoot, moduleRoot, module); - } catch (e) { - if (e instanceof SyntaxError) { - throw new UserCodeSyntaxError(e); - // @ts-ignore - } else if (e.code !== undefined && e.code === "MODULE_NOT_FOUND") { - // @ts-ignore - throw new ImportModuleError(e); - } else { - throw e; - } - } -} - function _throwIfInvalidHandler(fullHandlerString: string): void { if (fullHandlerString.includes(RELATIVE_PATH_SUBSTRING)) { throw new MalformedHandlerName( @@ -294,49 +235,3 @@ export const load = async function ( return handlerFunc; }; - -/** - * Load the user's function with the approot and the handler string. - * @param appRoot {string} - * The path to the application root. - * @param handlerString {string} - * The user-provided handler function in the form 'module.function'. - * @return userFuction {function} - * The user's handler function. This function will be passed the event body, - * the context object, and the callback function. - * @throws In five cases:- - * 1 - if the handler string is incorrectly formatted an error is thrown - * 2 - if the module referenced by the handler cannot be loaded - * 3 - if the function in the handler does not exist in the module - * 4 - if a property with the same name, but isn't a function, exists on the - * module - * 5 - the handler includes illegal character sequences (like relative paths - * for traversing up the filesystem '..') - * Errors for scenarios known by the runtime, will be wrapped by Runtime.* errors. - */ -export const loadSync = function ( - appRoot: string, - fullHandlerString: string -) { - _throwIfInvalidHandler(fullHandlerString); - - const [moduleRoot, moduleAndHandler] = _moduleRootAndHandler( - fullHandlerString - ); - const [module, handlerPath] = _splitHandlerString(moduleAndHandler); - - const userApp = _loadUserAppSync(appRoot, moduleRoot, module); - const handlerFunc = _resolveHandler(userApp, handlerPath); - - if (!handlerFunc) { - throw new HandlerNotFound( - `${fullHandlerString} is undefined or not exported` - ); - } - - if (typeof handlerFunc !== "function") { - throw new HandlerNotFound(`${fullHandlerString} is not a function`); - } - - return handlerFunc; -}; From 45e0613b1aa9fe14de9b9ae89275a5f7abaf4137 Mon Sep 17 00:00:00 2001 From: Jordan Gonzalez <30836115+duncanista@users.noreply.github.com> Date: Thu, 18 Jun 2026 12:57:28 -0400 Subject: [PATCH 6/9] test(integration): cover dist/handler.handler under AWS-stock RIC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add container-image integration tests that exercise the npm-redirect path through the AWS-published `public.ecr.aws/lambda/nodejs:N` base image, with both CJS and ESM user handlers. Closes the gap from the existing `esm_node*` tests, which only cover the layer path (`/opt/nodejs/node_modules/datadog-lambda-js/handler.handler`) where only `handler.mjs` has ever been shipped. These tests would fail under any future regression that re-introduces a CJS-shadowing artifact at `dist/handler.js`, including the original #305 scenario for stock AWS RIC. - integration_tests/container/{cjs,esm}/ — Dockerfiles + handlers - serverless.yml — provider.ecr.images + container-{cjs,esm}_node funcs - run_integration_tests.sh — pack local datadog-lambda-js before deploy, thread NODE_MAJOR for ECR build args, add handlers to snapshot loop --- .gitignore | 3 ++ integration_tests/container/cjs/Dockerfile | 9 +++++ integration_tests/container/cjs/handler.js | 3 ++ integration_tests/container/cjs/package.json | 5 +++ integration_tests/container/esm/Dockerfile | 9 +++++ integration_tests/container/esm/handler.mjs | 8 +++++ integration_tests/container/esm/package.json | 6 ++++ integration_tests/serverless.yml | 36 ++++++++++++++++++++ scripts/run_integration_tests.sh | 20 ++++++++--- 9 files changed, 94 insertions(+), 5 deletions(-) create mode 100644 integration_tests/container/cjs/Dockerfile create mode 100644 integration_tests/container/cjs/handler.js create mode 100644 integration_tests/container/cjs/package.json create mode 100644 integration_tests/container/esm/Dockerfile create mode 100644 integration_tests/container/esm/handler.mjs create mode 100644 integration_tests/container/esm/package.json diff --git a/.gitignore b/.gitignore index c92b11724..6e86ecca6 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,6 @@ package-lock.json /.idea/ .gitlab/build-*.yaml + +# Local datadog-lambda-js tarballs produced for container integration tests +integration_tests/container/*/datadog-lambda-js-local.tgz diff --git a/integration_tests/container/cjs/Dockerfile b/integration_tests/container/cjs/Dockerfile new file mode 100644 index 000000000..113477daa --- /dev/null +++ b/integration_tests/container/cjs/Dockerfile @@ -0,0 +1,9 @@ +ARG NODE_VERSION=22 +FROM public.ecr.aws/lambda/nodejs:${NODE_VERSION} + +COPY package.json handler.js ${LAMBDA_TASK_ROOT}/ +COPY datadog-lambda-js-local.tgz /tmp/datadog-lambda-js-local.tgz +RUN cd ${LAMBDA_TASK_ROOT} && npm install /tmp/datadog-lambda-js-local.tgz \ + && rm /tmp/datadog-lambda-js-local.tgz + +CMD ["node_modules/datadog-lambda-js/dist/handler.handler"] diff --git a/integration_tests/container/cjs/handler.js b/integration_tests/container/cjs/handler.js new file mode 100644 index 000000000..9f6be91b0 --- /dev/null +++ b/integration_tests/container/cjs/handler.js @@ -0,0 +1,3 @@ +exports.handle = (event) => { + return { message: "hello, dog!" }; +}; diff --git a/integration_tests/container/cjs/package.json b/integration_tests/container/cjs/package.json new file mode 100644 index 000000000..2c9764d5e --- /dev/null +++ b/integration_tests/container/cjs/package.json @@ -0,0 +1,5 @@ +{ + "name": "container-cjs-test", + "version": "1.0.0", + "private": true +} diff --git a/integration_tests/container/esm/Dockerfile b/integration_tests/container/esm/Dockerfile new file mode 100644 index 000000000..1f0505ec8 --- /dev/null +++ b/integration_tests/container/esm/Dockerfile @@ -0,0 +1,9 @@ +ARG NODE_VERSION=22 +FROM public.ecr.aws/lambda/nodejs:${NODE_VERSION} + +COPY package.json handler.mjs ${LAMBDA_TASK_ROOT}/ +COPY datadog-lambda-js-local.tgz /tmp/datadog-lambda-js-local.tgz +RUN cd ${LAMBDA_TASK_ROOT} && npm install /tmp/datadog-lambda-js-local.tgz \ + && rm /tmp/datadog-lambda-js-local.tgz + +CMD ["node_modules/datadog-lambda-js/dist/handler.handler"] diff --git a/integration_tests/container/esm/handler.mjs b/integration_tests/container/esm/handler.mjs new file mode 100644 index 000000000..60c64d77e --- /dev/null +++ b/integration_tests/container/esm/handler.mjs @@ -0,0 +1,8 @@ +import { promisify } from "util"; + +// Verify top-level await works in the container-image ESM path +await promisify(setTimeout)(50); + +export function handle(event) { + return { message: "hello, dog!" }; +} diff --git a/integration_tests/container/esm/package.json b/integration_tests/container/esm/package.json new file mode 100644 index 000000000..214889175 --- /dev/null +++ b/integration_tests/container/esm/package.json @@ -0,0 +1,6 @@ +{ + "name": "container-esm-test", + "version": "1.0.0", + "private": true, + "type": "module" +} diff --git a/integration_tests/serverless.yml b/integration_tests/serverless.yml index 49486eb36..f65884b7a 100644 --- a/integration_tests/serverless.yml +++ b/integration_tests/serverless.yml @@ -15,6 +15,21 @@ provider: iam: # IAM permissions require that all functions are deployed with this role role: "arn:aws:iam::425362996713:role/serverless-integration-test-lambda-role" + # Container image builds for the npm-redirect tests. Each Node major is built + # from public.ecr.aws/lambda/nodejs:${NODE_MAJOR} so the AWS-stock RIC for + # that runtime is exercised against `dist/handler.handler`. + ecr: + images: + datadog-lambda-js-cjs: + path: ./container/cjs + platform: linux/amd64 + buildArgs: + NODE_VERSION: ${env:NODE_MAJOR} + datadog-lambda-js-esm: + path: ./container/esm + platform: linux/amd64 + buildArgs: + NODE_VERSION: ${env:NODE_MAJOR} layers: node: @@ -81,6 +96,27 @@ functions: environment: DD_FLUSH_TO_LOG: true + # container-cjs — npm-installed datadog-lambda-js, CJS user handler, + # invoked through AWS-stock RIC via `dist/handler.handler`. + container-cjs_node: + name: integration-tests-js-${sls:stage}-container-cjs_${env:RUNTIME} + image: + name: datadog-lambda-js-cjs + environment: + DD_FLUSH_TO_LOG: true + DD_LAMBDA_HANDLER: handler.handle + + # container-esm — npm-installed datadog-lambda-js, ESM user handler, + # invoked through AWS-stock RIC via `dist/handler.handler`. Guards against + # ERR_REQUIRE_ESM if `dist/handler.js` ever returns to the published tarball. + container-esm_node: + name: integration-tests-js-${sls:stage}-container-esm_${env:RUNTIME} + image: + name: datadog-lambda-js-esm + environment: + DD_FLUSH_TO_LOG: true + DD_LAMBDA_HANDLER: handler.handle + # status-code-500s status-code-500s_node: name: integration-tests-js-${sls:stage}-status-code-500s_${env:RUNTIME} diff --git a/scripts/run_integration_tests.sh b/scripts/run_integration_tests.sh index 8dbfd0f3a..07e00dd7f 100755 --- a/scripts/run_integration_tests.sh +++ b/scripts/run_integration_tests.sh @@ -10,7 +10,7 @@ set -e # These values need to be in sync with serverless.yml, where there needs to be a function # defined for every handler_runtime combination -LAMBDA_HANDLERS=("async-metrics" "esm" "sync-metrics" "http-requests" "process-input-traced" "throw-error-traced" "status-code-500s") +LAMBDA_HANDLERS=("async-metrics" "esm" "sync-metrics" "http-requests" "process-input-traced" "throw-error-traced" "status-code-500s" "container-cjs" "container-esm") LOGS_WAIT_SECONDS=20 @@ -70,6 +70,16 @@ else echo "Not building layers, ensure they've already been built or re-run with 'BUILD_LAYERS=true DD_API_KEY=XXXX ./scripts/run_integration_tests.sh'" fi +# Build and pack the locally-modified datadog-lambda-js so the container-image +# tests install the version under test (not the published one) via npm. +echo "Packing local datadog-lambda-js for container tests" +cd $repo_dir +yarn build +npm pack +mv datadog-lambda-js-*.tgz $integration_tests_dir/container/cjs/datadog-lambda-js-local.tgz +cp $integration_tests_dir/container/cjs/datadog-lambda-js-local.tgz \ + $integration_tests_dir/container/esm/datadog-lambda-js-local.tgz + cd $integration_tests_dir yarn @@ -86,7 +96,7 @@ function remove_stack() { nodejs_version=$parameters_set[1] run_id=$parameters_set[2] echo "Removing stack for stage : ${!run_id}" - NODE_VERSION=${!nodejs_version} RUNTIME=$parameters_set SERVERLESS_RUNTIME=${!serverless_runtime} \ + NODE_VERSION=${!nodejs_version} NODE_MAJOR=${parameters_set#node} RUNTIME=$parameters_set SERVERLESS_RUNTIME=${!serverless_runtime} \ serverless remove --stage ${!run_id} done } @@ -102,7 +112,7 @@ for parameters_set in "${PARAMETERS_SETS[@]}"; do echo "Deploying functions for runtime : $parameters_set, serverless runtime : ${!serverless_runtime}, \ nodejs version : ${!nodejs_version} and run id : ${!run_id}" - NODE_VERSION=${!nodejs_version} RUNTIME=$parameters_set SERVERLESS_RUNTIME=${!serverless_runtime} \ + NODE_VERSION=${!nodejs_version} NODE_MAJOR=${parameters_set#node} RUNTIME=$parameters_set SERVERLESS_RUNTIME=${!serverless_runtime} \ serverless deploy --stage ${!run_id} echo "Invoking functions for runtime $parameters_set" @@ -119,7 +129,7 @@ nodejs version : ${!nodejs_version} and run id : ${!run_id}" snapshot_path="./snapshots/return_values/${handler_name}_${parameters_set}_${input_event_name}.json" function_failed=FALSE - return_value=$(NODE_VERSION=${!nodejs_version} RUNTIME=$parameters_set SERVERLESS_RUNTIME=${!serverless_runtime} \ + return_value=$(NODE_VERSION=${!nodejs_version} NODE_MAJOR=${parameters_set#node} RUNTIME=$parameters_set SERVERLESS_RUNTIME=${!serverless_runtime} \ serverless invoke --stage ${!run_id} -f "$function_name" --path "./input_events/$input_event_file") invoke_success=$? if [ $invoke_success -ne 0 ]; then @@ -166,7 +176,7 @@ for handler_name in "${LAMBDA_HANDLERS[@]}"; do # Fetch logs with serverless cli, retrying to avoid AWS account-wide rate limit error retry_counter=0 while [ $retry_counter -lt 10 ]; do - raw_logs=$(NODE_VERSION=${!nodejs_version} RUNTIME=$parameters_set SERVERLESS_RUNTIME=${!serverless_runtime} \ + raw_logs=$(NODE_VERSION=${!nodejs_version} NODE_MAJOR=${parameters_set#node} RUNTIME=$parameters_set SERVERLESS_RUNTIME=${!serverless_runtime} \ serverless logs --stage ${!run_id} -f $function_name --startTime $script_utc_start_time) fetch_logs_exit_code=$? if [ $fetch_logs_exit_code -eq 1 ]; then From adc7c8cd644148860cff2a71f21bb2e81c32e4d4 Mon Sep 17 00:00:00 2001 From: Jordan Gonzalez <30836115+duncanista@users.noreply.github.com> Date: Thu, 18 Jun 2026 14:14:14 -0400 Subject: [PATCH 7/9] test(integration): make container tests pass + add baseline snapshots Three fixes needed to get the container-image integration tests deploying and invoking against real AWS-stock RIC: - Container Dockerfiles previously installed only the datadog-lambda-js tarball, which doesn't pull dd-trace because it's a devDep of the package. Add dd-trace as a direct dependency in each container test's package.json, pinned to 5.105.0 to match the version yarn.lock resolves for the layer build. - Run `npm install --omit=dev` before installing the tarball so package.json deps are picked up. - Export BUILDX_NO_DEFAULT_ATTESTATIONS=1 in run_integration_tests.sh. Modern Docker buildx attaches provenance attestations by default, which produce OCI index manifests that AWS Lambda rejects with "image manifest ... media type ... not supported." Disabling the default attestations makes buildx emit Docker v2 manifests Lambda accepts. Plus baseline snapshots for `container-{cjs,esm}_node{18,20,22,24}` across 9 input events (72 return-value + 8 log files). Each container handler returns `{"message":"hello, dog!"}` end-to-end through `dist/handler.handler`, proving CJS and ESM user code load correctly on AWS-stock RIC for every supported Node major. --- integration_tests/container/cjs/Dockerfile | 4 +- integration_tests/container/cjs/package.json | 5 +- integration_tests/container/esm/Dockerfile | 4 +- integration_tests/container/esm/package.json | 5 +- .../snapshots/logs/container-cjs_node18.log | 947 +++++++++++++++++ .../snapshots/logs/container-cjs_node20.log | 947 +++++++++++++++++ .../snapshots/logs/container-cjs_node22.log | 947 +++++++++++++++++ .../snapshots/logs/container-cjs_node24.log | 948 ++++++++++++++++++ .../snapshots/logs/container-esm_node18.log | 947 +++++++++++++++++ .../snapshots/logs/container-esm_node20.log | 947 +++++++++++++++++ .../snapshots/logs/container-esm_node22.log | 947 +++++++++++++++++ .../snapshots/logs/container-esm_node24.log | 947 +++++++++++++++++ .../container-cjs_node18_api-gateway-get.json | 3 + ...ner-cjs_node18_dynamodb-one-key-table.json | 3 + .../container-cjs_node18_dynamodb-remove.json | 3 + ...ner-cjs_node18_dynamodb-two-key-table.json | 3 + ...cjs_node18_s3-completemultipartupload.json | 3 + .../container-cjs_node18_s3-copyobject.json | 3 + .../container-cjs_node18_s3-putobject.json | 3 + .../container-cjs_node18_sns.json | 3 + .../container-cjs_node18_sqs.json | 3 + .../container-cjs_node20_api-gateway-get.json | 3 + ...ner-cjs_node20_dynamodb-one-key-table.json | 3 + .../container-cjs_node20_dynamodb-remove.json | 3 + ...ner-cjs_node20_dynamodb-two-key-table.json | 3 + ...cjs_node20_s3-completemultipartupload.json | 3 + .../container-cjs_node20_s3-copyobject.json | 3 + .../container-cjs_node20_s3-putobject.json | 3 + .../container-cjs_node20_sns.json | 3 + .../container-cjs_node20_sqs.json | 3 + .../container-cjs_node22_api-gateway-get.json | 3 + ...ner-cjs_node22_dynamodb-one-key-table.json | 3 + .../container-cjs_node22_dynamodb-remove.json | 3 + ...ner-cjs_node22_dynamodb-two-key-table.json | 3 + ...cjs_node22_s3-completemultipartupload.json | 3 + .../container-cjs_node22_s3-copyobject.json | 3 + .../container-cjs_node22_s3-putobject.json | 3 + .../container-cjs_node22_sns.json | 3 + .../container-cjs_node22_sqs.json | 3 + .../container-cjs_node24_api-gateway-get.json | 3 + ...ner-cjs_node24_dynamodb-one-key-table.json | 3 + .../container-cjs_node24_dynamodb-remove.json | 3 + ...ner-cjs_node24_dynamodb-two-key-table.json | 3 + ...cjs_node24_s3-completemultipartupload.json | 3 + .../container-cjs_node24_s3-copyobject.json | 3 + .../container-cjs_node24_s3-putobject.json | 3 + .../container-cjs_node24_sns.json | 3 + .../container-cjs_node24_sqs.json | 3 + .../container-esm_node18_api-gateway-get.json | 3 + ...ner-esm_node18_dynamodb-one-key-table.json | 3 + .../container-esm_node18_dynamodb-remove.json | 3 + ...ner-esm_node18_dynamodb-two-key-table.json | 3 + ...esm_node18_s3-completemultipartupload.json | 3 + .../container-esm_node18_s3-copyobject.json | 3 + .../container-esm_node18_s3-putobject.json | 3 + .../container-esm_node18_sns.json | 3 + .../container-esm_node18_sqs.json | 3 + .../container-esm_node20_api-gateway-get.json | 3 + ...ner-esm_node20_dynamodb-one-key-table.json | 3 + .../container-esm_node20_dynamodb-remove.json | 3 + ...ner-esm_node20_dynamodb-two-key-table.json | 3 + ...esm_node20_s3-completemultipartupload.json | 3 + .../container-esm_node20_s3-copyobject.json | 3 + .../container-esm_node20_s3-putobject.json | 3 + .../container-esm_node20_sns.json | 3 + .../container-esm_node20_sqs.json | 3 + .../container-esm_node22_api-gateway-get.json | 3 + ...ner-esm_node22_dynamodb-one-key-table.json | 3 + .../container-esm_node22_dynamodb-remove.json | 3 + ...ner-esm_node22_dynamodb-two-key-table.json | 3 + ...esm_node22_s3-completemultipartupload.json | 3 + .../container-esm_node22_s3-copyobject.json | 3 + .../container-esm_node22_s3-putobject.json | 3 + .../container-esm_node22_sns.json | 3 + .../container-esm_node22_sqs.json | 3 + .../container-esm_node24_api-gateway-get.json | 3 + ...ner-esm_node24_dynamodb-one-key-table.json | 3 + .../container-esm_node24_dynamodb-remove.json | 3 + ...ner-esm_node24_dynamodb-two-key-table.json | 3 + ...esm_node24_s3-completemultipartupload.json | 3 + .../container-esm_node24_s3-copyobject.json | 3 + .../container-esm_node24_s3-putobject.json | 3 + .../container-esm_node24_sns.json | 3 + .../container-esm_node24_sqs.json | 3 + scripts/run_integration_tests.sh | 6 + 85 files changed, 7813 insertions(+), 4 deletions(-) create mode 100644 integration_tests/snapshots/logs/container-cjs_node18.log create mode 100644 integration_tests/snapshots/logs/container-cjs_node20.log create mode 100644 integration_tests/snapshots/logs/container-cjs_node22.log create mode 100644 integration_tests/snapshots/logs/container-cjs_node24.log create mode 100644 integration_tests/snapshots/logs/container-esm_node18.log create mode 100644 integration_tests/snapshots/logs/container-esm_node20.log create mode 100644 integration_tests/snapshots/logs/container-esm_node22.log create mode 100644 integration_tests/snapshots/logs/container-esm_node24.log create mode 100644 integration_tests/snapshots/return_values/container-cjs_node18_api-gateway-get.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node18_dynamodb-one-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node18_dynamodb-remove.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node18_dynamodb-two-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node18_s3-completemultipartupload.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node18_s3-copyobject.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node18_s3-putobject.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node18_sns.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node18_sqs.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node20_api-gateway-get.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node20_dynamodb-one-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node20_dynamodb-remove.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node20_dynamodb-two-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node20_s3-completemultipartupload.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node20_s3-copyobject.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node20_s3-putobject.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node20_sns.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node20_sqs.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node22_api-gateway-get.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node22_dynamodb-one-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node22_dynamodb-remove.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node22_dynamodb-two-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node22_s3-completemultipartupload.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node22_s3-copyobject.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node22_s3-putobject.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node22_sns.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node22_sqs.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node24_api-gateway-get.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node24_dynamodb-one-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node24_dynamodb-remove.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node24_dynamodb-two-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node24_s3-completemultipartupload.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node24_s3-copyobject.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node24_s3-putobject.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node24_sns.json create mode 100644 integration_tests/snapshots/return_values/container-cjs_node24_sqs.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node18_api-gateway-get.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node18_dynamodb-one-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node18_dynamodb-remove.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node18_dynamodb-two-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node18_s3-completemultipartupload.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node18_s3-copyobject.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node18_s3-putobject.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node18_sns.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node18_sqs.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node20_api-gateway-get.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node20_dynamodb-one-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node20_dynamodb-remove.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node20_dynamodb-two-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node20_s3-completemultipartupload.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node20_s3-copyobject.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node20_s3-putobject.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node20_sns.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node20_sqs.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node22_api-gateway-get.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node22_dynamodb-one-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node22_dynamodb-remove.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node22_dynamodb-two-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node22_s3-completemultipartupload.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node22_s3-copyobject.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node22_s3-putobject.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node22_sns.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node22_sqs.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node24_api-gateway-get.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node24_dynamodb-one-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node24_dynamodb-remove.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node24_dynamodb-two-key-table.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node24_s3-completemultipartupload.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node24_s3-copyobject.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node24_s3-putobject.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node24_sns.json create mode 100644 integration_tests/snapshots/return_values/container-esm_node24_sqs.json diff --git a/integration_tests/container/cjs/Dockerfile b/integration_tests/container/cjs/Dockerfile index 113477daa..b217121ed 100644 --- a/integration_tests/container/cjs/Dockerfile +++ b/integration_tests/container/cjs/Dockerfile @@ -3,7 +3,9 @@ FROM public.ecr.aws/lambda/nodejs:${NODE_VERSION} COPY package.json handler.js ${LAMBDA_TASK_ROOT}/ COPY datadog-lambda-js-local.tgz /tmp/datadog-lambda-js-local.tgz -RUN cd ${LAMBDA_TASK_ROOT} && npm install /tmp/datadog-lambda-js-local.tgz \ +RUN cd ${LAMBDA_TASK_ROOT} \ + && npm install --omit=dev \ + && npm install --no-save /tmp/datadog-lambda-js-local.tgz \ && rm /tmp/datadog-lambda-js-local.tgz CMD ["node_modules/datadog-lambda-js/dist/handler.handler"] diff --git a/integration_tests/container/cjs/package.json b/integration_tests/container/cjs/package.json index 2c9764d5e..2868ec7ca 100644 --- a/integration_tests/container/cjs/package.json +++ b/integration_tests/container/cjs/package.json @@ -1,5 +1,8 @@ { "name": "container-cjs-test", "version": "1.0.0", - "private": true + "private": true, + "dependencies": { + "dd-trace": "5.105.0" + } } diff --git a/integration_tests/container/esm/Dockerfile b/integration_tests/container/esm/Dockerfile index 1f0505ec8..e6c967121 100644 --- a/integration_tests/container/esm/Dockerfile +++ b/integration_tests/container/esm/Dockerfile @@ -3,7 +3,9 @@ FROM public.ecr.aws/lambda/nodejs:${NODE_VERSION} COPY package.json handler.mjs ${LAMBDA_TASK_ROOT}/ COPY datadog-lambda-js-local.tgz /tmp/datadog-lambda-js-local.tgz -RUN cd ${LAMBDA_TASK_ROOT} && npm install /tmp/datadog-lambda-js-local.tgz \ +RUN cd ${LAMBDA_TASK_ROOT} \ + && npm install --omit=dev \ + && npm install --no-save /tmp/datadog-lambda-js-local.tgz \ && rm /tmp/datadog-lambda-js-local.tgz CMD ["node_modules/datadog-lambda-js/dist/handler.handler"] diff --git a/integration_tests/container/esm/package.json b/integration_tests/container/esm/package.json index 214889175..29e2e5db3 100644 --- a/integration_tests/container/esm/package.json +++ b/integration_tests/container/esm/package.json @@ -2,5 +2,8 @@ "name": "container-esm-test", "version": "1.0.0", "private": true, - "type": "module" + "type": "module", + "dependencies": { + "dd-trace": "5.105.0" + } } diff --git a/integration_tests/snapshots/logs/container-cjs_node18.log b/integration_tests/snapshots/logs/container-cjs_node18.log new file mode 100644 index 000000000..0cb71ca81 --- /dev/null +++ b/integration_tests/snapshots/logs/container-cjs_node18.log @@ -0,0 +1,947 @@ +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node18", + "resource:integration-tests-js-XXXX-container-cjs_node18", + "memorysize:1024", + "cold_start:true", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.apigateway", + "resource": "GET /{proxy+}", + "service": "remappedApiGatewayServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedApiGatewayServiceName", + "runtime-id":"XXXX", + "http.url": "https://undefined", + "resource_names": "GET /{proxy+}", + "request_id":"XXXX", + "span.kind": "server", + "apiid":"XXXX", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "sync", + "http.method": "GET", + "stage": "test", + "domain_name": "", + "dd_resource_key": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k", + "http.status_code": "200", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node18", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "true", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node18", + "functionname": "integration-tests-js-XXXX-container-cjs_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k/stages/test", + "http.method": "GET", + "http.route": "/{proxy+}", + "http.status_code": "200", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms (init: XXXX ms) Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node18", + "resource:integration-tests-js-XXXX-container-cjs_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "MODIFY someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "MODIFY someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "MODIFY", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node18", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node18", + "functionname": "integration-tests-js-XXXX-container-cjs_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node18", + "resource:integration-tests-js-XXXX-container-cjs_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "REMOVE someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "REMOVE someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "REMOVE", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node18", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node18", + "functionname": "integration-tests-js-XXXX-container-cjs_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node18", + "resource:integration-tests-js-XXXX-container-cjs_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "INSERT someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"843472b4a65c45fcc3f14939c6cae6d1\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "INSERT someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "INSERT", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node18", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node18", + "functionname": "integration-tests-js-XXXX-container-cjs_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node18", + "resource:integration-tests-js-XXXX-container-cjs_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"5e945cd2009d743bdef019835b237969\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:CompleteMultipartUpload", + "object_key": "multipart_object.txt", + "object_etag": "09876543210987654321098765432109-2", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 8388608, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node18", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node18", + "functionname": "integration-tests-js-XXXX-container-cjs_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node18", + "resource:integration-tests-js-XXXX-container-cjs_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"9b03fa9d6a34c7b40a2a2907eb0db1f6\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Copy", + "object_key": "copied_object.txt", + "object_etag": "01234567890123456789012345678901", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node18", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node18", + "functionname": "integration-tests-js-XXXX-container-cjs_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node18", + "resource:integration-tests-js-XXXX-container-cjs_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"b2229b8289f3e49de4f01af8d228ebd8\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Put", + "object_key": "test_object.txt", + "object_etag": "abcdef0123456789abcdef01234567890", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node18", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node18", + "functionname": "integration-tests-js-XXXX-container-cjs_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node18", + "resource:integration-tests-js-XXXX-container-cjs_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sns", + "resource": "sns-lambda", + "service": "remappedSnsServiceName", + "type": "sns", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSnsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sns", + "resource_names": "sns-lambda", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "type": "Notification", + "subject": "TestInvoke", + "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", + "topicname": "sns-lambda", + "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "event_subscription_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node18", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node18", + "functionname": "integration-tests-js-XXXX-container-cjs_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sns", + "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node18", + "resource:integration-tests-js-XXXX-container-cjs_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sqs", + "resource": "my-queue", + "service": "remappedSqsServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSqsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sqs", + "resource_names": "my-queue", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "queuename": "my-queue", + "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", + "sender_id": "AIDAIENQZJOLO23YVJ4VO", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "retry_count": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node18", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node18", + "functionname": "integration-tests-js-XXXX-container-cjs_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sqs", + "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB diff --git a/integration_tests/snapshots/logs/container-cjs_node20.log b/integration_tests/snapshots/logs/container-cjs_node20.log new file mode 100644 index 000000000..79dfe1392 --- /dev/null +++ b/integration_tests/snapshots/logs/container-cjs_node20.log @@ -0,0 +1,947 @@ +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node20", + "resource:integration-tests-js-XXXX-container-cjs_node20", + "memorysize:1024", + "cold_start:true", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.apigateway", + "resource": "GET /{proxy+}", + "service": "remappedApiGatewayServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedApiGatewayServiceName", + "runtime-id":"XXXX", + "http.url": "https://undefined", + "resource_names": "GET /{proxy+}", + "request_id":"XXXX", + "span.kind": "server", + "apiid":"XXXX", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "sync", + "http.method": "GET", + "stage": "test", + "domain_name": "", + "dd_resource_key": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k", + "http.status_code": "200", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node20", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "true", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node20", + "functionname": "integration-tests-js-XXXX-container-cjs_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k/stages/test", + "http.method": "GET", + "http.route": "/{proxy+}", + "http.status_code": "200", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms (init: XXXX ms) Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node20", + "resource:integration-tests-js-XXXX-container-cjs_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "MODIFY someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "MODIFY someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "MODIFY", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node20", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node20", + "functionname": "integration-tests-js-XXXX-container-cjs_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node20", + "resource:integration-tests-js-XXXX-container-cjs_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "REMOVE someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "REMOVE someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "REMOVE", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node20", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node20", + "functionname": "integration-tests-js-XXXX-container-cjs_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node20", + "resource:integration-tests-js-XXXX-container-cjs_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "INSERT someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"843472b4a65c45fcc3f14939c6cae6d1\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "INSERT someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "INSERT", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node20", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node20", + "functionname": "integration-tests-js-XXXX-container-cjs_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node20", + "resource:integration-tests-js-XXXX-container-cjs_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"5e945cd2009d743bdef019835b237969\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:CompleteMultipartUpload", + "object_key": "multipart_object.txt", + "object_etag": "09876543210987654321098765432109-2", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 8388608, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node20", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node20", + "functionname": "integration-tests-js-XXXX-container-cjs_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node20", + "resource:integration-tests-js-XXXX-container-cjs_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"9b03fa9d6a34c7b40a2a2907eb0db1f6\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Copy", + "object_key": "copied_object.txt", + "object_etag": "01234567890123456789012345678901", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node20", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node20", + "functionname": "integration-tests-js-XXXX-container-cjs_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node20", + "resource:integration-tests-js-XXXX-container-cjs_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"b2229b8289f3e49de4f01af8d228ebd8\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Put", + "object_key": "test_object.txt", + "object_etag": "abcdef0123456789abcdef01234567890", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node20", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node20", + "functionname": "integration-tests-js-XXXX-container-cjs_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node20", + "resource:integration-tests-js-XXXX-container-cjs_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sns", + "resource": "sns-lambda", + "service": "remappedSnsServiceName", + "type": "sns", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSnsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sns", + "resource_names": "sns-lambda", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "type": "Notification", + "subject": "TestInvoke", + "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", + "topicname": "sns-lambda", + "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "event_subscription_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node20", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node20", + "functionname": "integration-tests-js-XXXX-container-cjs_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sns", + "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node20", + "resource:integration-tests-js-XXXX-container-cjs_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sqs", + "resource": "my-queue", + "service": "remappedSqsServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSqsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sqs", + "resource_names": "my-queue", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "queuename": "my-queue", + "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", + "sender_id": "AIDAIENQZJOLO23YVJ4VO", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "retry_count": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node20", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node20", + "functionname": "integration-tests-js-XXXX-container-cjs_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sqs", + "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB diff --git a/integration_tests/snapshots/logs/container-cjs_node22.log b/integration_tests/snapshots/logs/container-cjs_node22.log new file mode 100644 index 000000000..e80299010 --- /dev/null +++ b/integration_tests/snapshots/logs/container-cjs_node22.log @@ -0,0 +1,947 @@ +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node22", + "resource:integration-tests-js-XXXX-container-cjs_node22", + "memorysize:1024", + "cold_start:true", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.apigateway", + "resource": "GET /{proxy+}", + "service": "remappedApiGatewayServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedApiGatewayServiceName", + "runtime-id":"XXXX", + "http.url": "https://undefined", + "resource_names": "GET /{proxy+}", + "request_id":"XXXX", + "span.kind": "server", + "apiid":"XXXX", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "sync", + "http.method": "GET", + "stage": "test", + "domain_name": "", + "dd_resource_key": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k", + "http.status_code": "200", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node22", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "true", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node22", + "functionname": "integration-tests-js-XXXX-container-cjs_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k/stages/test", + "http.method": "GET", + "http.route": "/{proxy+}", + "http.status_code": "200", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms (init: XXXX ms) Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node22", + "resource:integration-tests-js-XXXX-container-cjs_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "MODIFY someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "MODIFY someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "MODIFY", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node22", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node22", + "functionname": "integration-tests-js-XXXX-container-cjs_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node22", + "resource:integration-tests-js-XXXX-container-cjs_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "REMOVE someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "REMOVE someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "REMOVE", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node22", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node22", + "functionname": "integration-tests-js-XXXX-container-cjs_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node22", + "resource:integration-tests-js-XXXX-container-cjs_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "INSERT someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"843472b4a65c45fcc3f14939c6cae6d1\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "INSERT someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "INSERT", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node22", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node22", + "functionname": "integration-tests-js-XXXX-container-cjs_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node22", + "resource:integration-tests-js-XXXX-container-cjs_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"5e945cd2009d743bdef019835b237969\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:CompleteMultipartUpload", + "object_key": "multipart_object.txt", + "object_etag": "09876543210987654321098765432109-2", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 8388608, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node22", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node22", + "functionname": "integration-tests-js-XXXX-container-cjs_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node22", + "resource:integration-tests-js-XXXX-container-cjs_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"9b03fa9d6a34c7b40a2a2907eb0db1f6\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Copy", + "object_key": "copied_object.txt", + "object_etag": "01234567890123456789012345678901", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node22", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node22", + "functionname": "integration-tests-js-XXXX-container-cjs_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node22", + "resource:integration-tests-js-XXXX-container-cjs_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"b2229b8289f3e49de4f01af8d228ebd8\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Put", + "object_key": "test_object.txt", + "object_etag": "abcdef0123456789abcdef01234567890", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node22", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node22", + "functionname": "integration-tests-js-XXXX-container-cjs_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node22", + "resource:integration-tests-js-XXXX-container-cjs_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sns", + "resource": "sns-lambda", + "service": "remappedSnsServiceName", + "type": "sns", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSnsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sns", + "resource_names": "sns-lambda", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "type": "Notification", + "subject": "TestInvoke", + "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", + "topicname": "sns-lambda", + "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "event_subscription_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node22", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node22", + "functionname": "integration-tests-js-XXXX-container-cjs_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sns", + "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node22", + "resource:integration-tests-js-XXXX-container-cjs_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sqs", + "resource": "my-queue", + "service": "remappedSqsServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSqsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sqs", + "resource_names": "my-queue", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "queuename": "my-queue", + "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", + "sender_id": "AIDAIENQZJOLO23YVJ4VO", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "retry_count": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node22", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node22", + "functionname": "integration-tests-js-XXXX-container-cjs_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sqs", + "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB diff --git a/integration_tests/snapshots/logs/container-cjs_node24.log b/integration_tests/snapshots/logs/container-cjs_node24.log new file mode 100644 index 000000000..47534f9c4 --- /dev/null +++ b/integration_tests/snapshots/logs/container-cjs_node24.log @@ -0,0 +1,948 @@ +INIT_REPORT Init Duration: XXXX ms Phase: init Status: timeout +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node24", + "resource:integration-tests-js-XXXX-container-cjs_node24", + "memorysize:1024", + "cold_start:true", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.apigateway", + "resource": "GET /{proxy+}", + "service": "remappedApiGatewayServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedApiGatewayServiceName", + "runtime-id":"XXXX", + "http.url": "https://undefined", + "resource_names": "GET /{proxy+}", + "request_id":"XXXX", + "span.kind": "server", + "apiid":"XXXX", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "sync", + "http.method": "GET", + "stage": "test", + "domain_name": "", + "dd_resource_key": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k", + "http.status_code": "200", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node24", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "true", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node24", + "functionname": "integration-tests-js-XXXX-container-cjs_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k/stages/test", + "http.method": "GET", + "http.route": "/{proxy+}", + "http.status_code": "200", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node24", + "resource:integration-tests-js-XXXX-container-cjs_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "MODIFY someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "MODIFY someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "MODIFY", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node24", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node24", + "functionname": "integration-tests-js-XXXX-container-cjs_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node24", + "resource:integration-tests-js-XXXX-container-cjs_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "REMOVE someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "REMOVE someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "REMOVE", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node24", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node24", + "functionname": "integration-tests-js-XXXX-container-cjs_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node24", + "resource:integration-tests-js-XXXX-container-cjs_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "INSERT someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"843472b4a65c45fcc3f14939c6cae6d1\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "INSERT someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "INSERT", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node24", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node24", + "functionname": "integration-tests-js-XXXX-container-cjs_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node24", + "resource:integration-tests-js-XXXX-container-cjs_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"5e945cd2009d743bdef019835b237969\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:CompleteMultipartUpload", + "object_key": "multipart_object.txt", + "object_etag": "09876543210987654321098765432109-2", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 8388608, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node24", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node24", + "functionname": "integration-tests-js-XXXX-container-cjs_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node24", + "resource:integration-tests-js-XXXX-container-cjs_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"9b03fa9d6a34c7b40a2a2907eb0db1f6\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Copy", + "object_key": "copied_object.txt", + "object_etag": "01234567890123456789012345678901", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node24", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node24", + "functionname": "integration-tests-js-XXXX-container-cjs_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node24", + "resource:integration-tests-js-XXXX-container-cjs_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"b2229b8289f3e49de4f01af8d228ebd8\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Put", + "object_key": "test_object.txt", + "object_etag": "abcdef0123456789abcdef01234567890", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node24", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node24", + "functionname": "integration-tests-js-XXXX-container-cjs_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node24", + "resource:integration-tests-js-XXXX-container-cjs_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sns", + "resource": "sns-lambda", + "service": "remappedSnsServiceName", + "type": "sns", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSnsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sns", + "resource_names": "sns-lambda", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "type": "Notification", + "subject": "TestInvoke", + "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", + "topicname": "sns-lambda", + "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "event_subscription_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node24", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node24", + "functionname": "integration-tests-js-XXXX-container-cjs_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sns", + "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-cjs_node24", + "resource:integration-tests-js-XXXX-container-cjs_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sqs", + "resource": "my-queue", + "service": "remappedSqsServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-cjs-test,svc.auto:integration-tests-js-XXXX-container-cjs_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSqsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sqs", + "resource_names": "my-queue", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "queuename": "my-queue", + "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", + "sender_id": "AIDAIENQZJOLO23YVJ4VO", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-cjs_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "retry_count": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-cjs_node24", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-cjs_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-cjs_node24", + "functionname": "integration-tests-js-XXXX-container-cjs_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sqs", + "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB diff --git a/integration_tests/snapshots/logs/container-esm_node18.log b/integration_tests/snapshots/logs/container-esm_node18.log new file mode 100644 index 000000000..2c9436c62 --- /dev/null +++ b/integration_tests/snapshots/logs/container-esm_node18.log @@ -0,0 +1,947 @@ +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node18", + "resource:integration-tests-js-XXXX-container-esm_node18", + "memorysize:1024", + "cold_start:true", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.apigateway", + "resource": "GET /{proxy+}", + "service": "remappedApiGatewayServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedApiGatewayServiceName", + "runtime-id":"XXXX", + "http.url": "https://undefined", + "resource_names": "GET /{proxy+}", + "request_id":"XXXX", + "span.kind": "server", + "apiid":"XXXX", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "sync", + "http.method": "GET", + "stage": "test", + "domain_name": "", + "dd_resource_key": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k", + "http.status_code": "200", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node18", + "service": "integration-tests-js-XXXX-container-esm_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "true", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node18", + "functionname": "integration-tests-js-XXXX-container-esm_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k/stages/test", + "http.method": "GET", + "http.route": "/{proxy+}", + "http.status_code": "200", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms (init: XXXX ms) Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node18", + "resource:integration-tests-js-XXXX-container-esm_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "MODIFY someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "MODIFY someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "MODIFY", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node18", + "service": "integration-tests-js-XXXX-container-esm_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node18", + "functionname": "integration-tests-js-XXXX-container-esm_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node18", + "resource:integration-tests-js-XXXX-container-esm_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "REMOVE someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "REMOVE someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "REMOVE", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node18", + "service": "integration-tests-js-XXXX-container-esm_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node18", + "functionname": "integration-tests-js-XXXX-container-esm_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node18", + "resource:integration-tests-js-XXXX-container-esm_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "INSERT someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"843472b4a65c45fcc3f14939c6cae6d1\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "INSERT someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "INSERT", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node18", + "service": "integration-tests-js-XXXX-container-esm_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node18", + "functionname": "integration-tests-js-XXXX-container-esm_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node18", + "resource:integration-tests-js-XXXX-container-esm_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"5e945cd2009d743bdef019835b237969\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:CompleteMultipartUpload", + "object_key": "multipart_object.txt", + "object_etag": "09876543210987654321098765432109-2", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 8388608, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node18", + "service": "integration-tests-js-XXXX-container-esm_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node18", + "functionname": "integration-tests-js-XXXX-container-esm_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node18", + "resource:integration-tests-js-XXXX-container-esm_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"9b03fa9d6a34c7b40a2a2907eb0db1f6\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Copy", + "object_key": "copied_object.txt", + "object_etag": "01234567890123456789012345678901", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node18", + "service": "integration-tests-js-XXXX-container-esm_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node18", + "functionname": "integration-tests-js-XXXX-container-esm_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node18", + "resource:integration-tests-js-XXXX-container-esm_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"b2229b8289f3e49de4f01af8d228ebd8\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Put", + "object_key": "test_object.txt", + "object_etag": "abcdef0123456789abcdef01234567890", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node18", + "service": "integration-tests-js-XXXX-container-esm_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node18", + "functionname": "integration-tests-js-XXXX-container-esm_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node18", + "resource:integration-tests-js-XXXX-container-esm_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sns", + "resource": "sns-lambda", + "service": "remappedSnsServiceName", + "type": "sns", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSnsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sns", + "resource_names": "sns-lambda", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "type": "Notification", + "subject": "TestInvoke", + "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", + "topicname": "sns-lambda", + "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "event_subscription_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node18", + "service": "integration-tests-js-XXXX-container-esm_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node18", + "functionname": "integration-tests-js-XXXX-container-esm_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sns", + "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node18", + "resource:integration-tests-js-XXXX-container-esm_node18", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs18.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sqs", + "resource": "my-queue", + "service": "remappedSqsServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node18", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSqsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sqs", + "resource_names": "my-queue", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "queuename": "my-queue", + "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", + "sender_id": "AIDAIENQZJOLO23YVJ4VO", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node18", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "retry_count": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node18", + "service": "integration-tests-js-XXXX-container-esm_node18", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node18", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node18", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node18", + "functionname": "integration-tests-js-XXXX-container-esm_node18", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sqs", + "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB diff --git a/integration_tests/snapshots/logs/container-esm_node20.log b/integration_tests/snapshots/logs/container-esm_node20.log new file mode 100644 index 000000000..574289d9b --- /dev/null +++ b/integration_tests/snapshots/logs/container-esm_node20.log @@ -0,0 +1,947 @@ +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node20", + "resource:integration-tests-js-XXXX-container-esm_node20", + "memorysize:1024", + "cold_start:true", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.apigateway", + "resource": "GET /{proxy+}", + "service": "remappedApiGatewayServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedApiGatewayServiceName", + "runtime-id":"XXXX", + "http.url": "https://undefined", + "resource_names": "GET /{proxy+}", + "request_id":"XXXX", + "span.kind": "server", + "apiid":"XXXX", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "sync", + "http.method": "GET", + "stage": "test", + "domain_name": "", + "dd_resource_key": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k", + "http.status_code": "200", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node20", + "service": "integration-tests-js-XXXX-container-esm_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "true", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node20", + "functionname": "integration-tests-js-XXXX-container-esm_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k/stages/test", + "http.method": "GET", + "http.route": "/{proxy+}", + "http.status_code": "200", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms (init: XXXX ms) Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node20", + "resource:integration-tests-js-XXXX-container-esm_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "MODIFY someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "MODIFY someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "MODIFY", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node20", + "service": "integration-tests-js-XXXX-container-esm_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node20", + "functionname": "integration-tests-js-XXXX-container-esm_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node20", + "resource:integration-tests-js-XXXX-container-esm_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "REMOVE someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "REMOVE someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "REMOVE", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node20", + "service": "integration-tests-js-XXXX-container-esm_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node20", + "functionname": "integration-tests-js-XXXX-container-esm_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node20", + "resource:integration-tests-js-XXXX-container-esm_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "INSERT someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"843472b4a65c45fcc3f14939c6cae6d1\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "INSERT someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "INSERT", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node20", + "service": "integration-tests-js-XXXX-container-esm_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node20", + "functionname": "integration-tests-js-XXXX-container-esm_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node20", + "resource:integration-tests-js-XXXX-container-esm_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"5e945cd2009d743bdef019835b237969\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:CompleteMultipartUpload", + "object_key": "multipart_object.txt", + "object_etag": "09876543210987654321098765432109-2", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 8388608, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node20", + "service": "integration-tests-js-XXXX-container-esm_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node20", + "functionname": "integration-tests-js-XXXX-container-esm_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node20", + "resource:integration-tests-js-XXXX-container-esm_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"9b03fa9d6a34c7b40a2a2907eb0db1f6\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Copy", + "object_key": "copied_object.txt", + "object_etag": "01234567890123456789012345678901", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node20", + "service": "integration-tests-js-XXXX-container-esm_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node20", + "functionname": "integration-tests-js-XXXX-container-esm_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node20", + "resource:integration-tests-js-XXXX-container-esm_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"b2229b8289f3e49de4f01af8d228ebd8\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Put", + "object_key": "test_object.txt", + "object_etag": "abcdef0123456789abcdef01234567890", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node20", + "service": "integration-tests-js-XXXX-container-esm_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node20", + "functionname": "integration-tests-js-XXXX-container-esm_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node20", + "resource:integration-tests-js-XXXX-container-esm_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sns", + "resource": "sns-lambda", + "service": "remappedSnsServiceName", + "type": "sns", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSnsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sns", + "resource_names": "sns-lambda", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "type": "Notification", + "subject": "TestInvoke", + "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", + "topicname": "sns-lambda", + "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "event_subscription_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node20", + "service": "integration-tests-js-XXXX-container-esm_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node20", + "functionname": "integration-tests-js-XXXX-container-esm_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sns", + "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node20", + "resource:integration-tests-js-XXXX-container-esm_node20", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs20.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sqs", + "resource": "my-queue", + "service": "remappedSqsServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node20", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSqsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sqs", + "resource_names": "my-queue", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "queuename": "my-queue", + "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", + "sender_id": "AIDAIENQZJOLO23YVJ4VO", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node20", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "retry_count": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node20", + "service": "integration-tests-js-XXXX-container-esm_node20", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node20", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node20", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node20", + "functionname": "integration-tests-js-XXXX-container-esm_node20", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sqs", + "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB diff --git a/integration_tests/snapshots/logs/container-esm_node22.log b/integration_tests/snapshots/logs/container-esm_node22.log new file mode 100644 index 000000000..307697a4c --- /dev/null +++ b/integration_tests/snapshots/logs/container-esm_node22.log @@ -0,0 +1,947 @@ +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node22", + "resource:integration-tests-js-XXXX-container-esm_node22", + "memorysize:1024", + "cold_start:true", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.apigateway", + "resource": "GET /{proxy+}", + "service": "remappedApiGatewayServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedApiGatewayServiceName", + "runtime-id":"XXXX", + "http.url": "https://undefined", + "resource_names": "GET /{proxy+}", + "request_id":"XXXX", + "span.kind": "server", + "apiid":"XXXX", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "sync", + "http.method": "GET", + "stage": "test", + "domain_name": "", + "dd_resource_key": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k", + "http.status_code": "200", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node22", + "service": "integration-tests-js-XXXX-container-esm_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "true", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node22", + "functionname": "integration-tests-js-XXXX-container-esm_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k/stages/test", + "http.method": "GET", + "http.route": "/{proxy+}", + "http.status_code": "200", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms (init: XXXX ms) Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node22", + "resource:integration-tests-js-XXXX-container-esm_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "MODIFY someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "MODIFY someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "MODIFY", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node22", + "service": "integration-tests-js-XXXX-container-esm_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node22", + "functionname": "integration-tests-js-XXXX-container-esm_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node22", + "resource:integration-tests-js-XXXX-container-esm_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "REMOVE someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "REMOVE someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "REMOVE", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node22", + "service": "integration-tests-js-XXXX-container-esm_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node22", + "functionname": "integration-tests-js-XXXX-container-esm_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node22", + "resource:integration-tests-js-XXXX-container-esm_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "INSERT someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"843472b4a65c45fcc3f14939c6cae6d1\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "INSERT someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "INSERT", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node22", + "service": "integration-tests-js-XXXX-container-esm_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node22", + "functionname": "integration-tests-js-XXXX-container-esm_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node22", + "resource:integration-tests-js-XXXX-container-esm_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"5e945cd2009d743bdef019835b237969\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:CompleteMultipartUpload", + "object_key": "multipart_object.txt", + "object_etag": "09876543210987654321098765432109-2", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 8388608, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node22", + "service": "integration-tests-js-XXXX-container-esm_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node22", + "functionname": "integration-tests-js-XXXX-container-esm_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node22", + "resource:integration-tests-js-XXXX-container-esm_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"9b03fa9d6a34c7b40a2a2907eb0db1f6\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Copy", + "object_key": "copied_object.txt", + "object_etag": "01234567890123456789012345678901", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node22", + "service": "integration-tests-js-XXXX-container-esm_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node22", + "functionname": "integration-tests-js-XXXX-container-esm_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node22", + "resource:integration-tests-js-XXXX-container-esm_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"b2229b8289f3e49de4f01af8d228ebd8\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Put", + "object_key": "test_object.txt", + "object_etag": "abcdef0123456789abcdef01234567890", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node22", + "service": "integration-tests-js-XXXX-container-esm_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node22", + "functionname": "integration-tests-js-XXXX-container-esm_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node22", + "resource:integration-tests-js-XXXX-container-esm_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sns", + "resource": "sns-lambda", + "service": "remappedSnsServiceName", + "type": "sns", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSnsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sns", + "resource_names": "sns-lambda", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "type": "Notification", + "subject": "TestInvoke", + "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", + "topicname": "sns-lambda", + "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "event_subscription_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node22", + "service": "integration-tests-js-XXXX-container-esm_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node22", + "functionname": "integration-tests-js-XXXX-container-esm_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sns", + "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node22", + "resource:integration-tests-js-XXXX-container-esm_node22", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs22.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sqs", + "resource": "my-queue", + "service": "remappedSqsServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node22", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSqsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sqs", + "resource_names": "my-queue", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "queuename": "my-queue", + "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", + "sender_id": "AIDAIENQZJOLO23YVJ4VO", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node22", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "retry_count": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node22", + "service": "integration-tests-js-XXXX-container-esm_node22", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node22", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node22", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node22", + "functionname": "integration-tests-js-XXXX-container-esm_node22", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sqs", + "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB diff --git a/integration_tests/snapshots/logs/container-esm_node24.log b/integration_tests/snapshots/logs/container-esm_node24.log new file mode 100644 index 000000000..445209c25 --- /dev/null +++ b/integration_tests/snapshots/logs/container-esm_node24.log @@ -0,0 +1,947 @@ +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node24", + "resource:integration-tests-js-XXXX-container-esm_node24", + "memorysize:1024", + "cold_start:true", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.apigateway", + "resource": "GET /{proxy+}", + "service": "remappedApiGatewayServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedApiGatewayServiceName", + "runtime-id":"XXXX", + "http.url": "https://undefined", + "resource_names": "GET /{proxy+}", + "request_id":"XXXX", + "span.kind": "server", + "apiid":"XXXX", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "sync", + "http.method": "GET", + "stage": "test", + "domain_name": "", + "dd_resource_key": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k", + "http.status_code": "200", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node24", + "service": "integration-tests-js-XXXX-container-esm_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "true", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node24", + "functionname": "integration-tests-js-XXXX-container-esm_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "api-gateway", + "function_trigger.event_source_arn": "arn:aws:apigateway:eu-west-1::/restapis/wt6mne2s9k/stages/test", + "http.method": "GET", + "http.route": "/{proxy+}", + "http.status_code": "200", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms (init: XXXX ms) Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node24", + "resource:integration-tests-js-XXXX-container-esm_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "MODIFY someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "MODIFY someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "MODIFY", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node24", + "service": "integration-tests-js-XXXX-container-esm_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node24", + "functionname": "integration-tests-js-XXXX-container-esm_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node24", + "resource:integration-tests-js-XXXX-container-esm_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "REMOVE someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"a23821b540813527937fbe833d70a005\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "REMOVE someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "REMOVE", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node24", + "service": "integration-tests-js-XXXX-container-esm_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node24", + "functionname": "integration-tests-js-XXXX-container-esm_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node24", + "resource:integration-tests-js-XXXX-container-esm_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.dynamodb", + "resource": "INSERT someTableName", + "service": "remappedDynamoDbServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.dynamodb.item\",\"ptr.dir\":\"u\",\"ptr.hash\":\"843472b4a65c45fcc3f14939c6cae6d1\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedDynamoDbServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.dynamodb", + "tablename": "someTableName", + "resource_names": "INSERT someTableName", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "event_name": "INSERT", + "event_version": "1.1", + "event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "event_id": "0123456789abcdef09123456789abcdef", + "stream_view_type": "KEYS_ONLY", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "size_bytes": 37, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node24", + "service": "integration-tests-js-XXXX-container-esm_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node24", + "functionname": "integration-tests-js-XXXX-container-esm_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "dynamodb", + "function_trigger.event_source_arn": "arn:aws:dynamodb:us-east-1:1234567890:table/someTableName/stream/2024-12-11T20:00:00.000", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node24", + "resource:integration-tests-js-XXXX-container-esm_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"5e945cd2009d743bdef019835b237969\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:CompleteMultipartUpload", + "object_key": "multipart_object.txt", + "object_etag": "09876543210987654321098765432109-2", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 8388608, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node24", + "service": "integration-tests-js-XXXX-container-esm_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node24", + "functionname": "integration-tests-js-XXXX-container-esm_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node24", + "resource:integration-tests-js-XXXX-container-esm_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"9b03fa9d6a34c7b40a2a2907eb0db1f6\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Copy", + "object_key": "copied_object.txt", + "object_etag": "01234567890123456789012345678901", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node24", + "service": "integration-tests-js-XXXX-container-esm_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node24", + "functionname": "integration-tests-js-XXXX-container-esm_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node24", + "resource:integration-tests-js-XXXX-container-esm_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.s3", + "resource": "my-bucket-name", + "service": "remappedS3ServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.span_links": "[{\"trace_id\":\"00000000000000000000000000000000\",\"span_id\":\"0000000000000000\",\"attributes\":{\"ptr.kind\":\"aws.s3.object\",\"ptr.dir\":\"u\",\"ptr.hash\":\"b2229b8289f3e49de4f01af8d228ebd8\",\"link.kind\":\"span-pointer\"}}]", + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedS3ServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.s3", + "resource_names": "my-bucket-name", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "bucketname": "my-bucket-name", + "bucket_arn": "arn:aws:s3:::my-bucket-name", + "event_name": "ObjectCreated:Put", + "object_key": "test_object.txt", + "object_etag": "abcdef0123456789abcdef01234567890", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "object_size": 100, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node24", + "service": "integration-tests-js-XXXX-container-esm_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node24", + "functionname": "integration-tests-js-XXXX-container-esm_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "s3", + "function_trigger.event_source_arn": "arn:aws:s3:::my-bucket-name", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node24", + "resource:integration-tests-js-XXXX-container-esm_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sns", + "resource": "sns-lambda", + "service": "remappedSnsServiceName", + "type": "sns", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSnsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sns", + "resource_names": "sns-lambda", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "type": "Notification", + "subject": "TestInvoke", + "message_id": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", + "topicname": "sns-lambda", + "topic_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "event_subscription_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda:21be56ed-a058-49f5-8c98-aedd2564c486", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node24", + "service": "integration-tests-js-XXXX-container-esm_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node24", + "functionname": "integration-tests-js-XXXX-container-esm_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sns", + "function_trigger.event_source_arn": "arn:aws:sns:us-east-2:123456789012:sns-lambda", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB +START +{ + "e": XXXX, + "m": "aws.lambda.enhanced.invocations", + "t": [ + "region:eu-west-1", + "account_id:XXXX", + "functionname:integration-tests-js-XXXX-container-esm_node24", + "resource:integration-tests-js-XXXX-container-esm_node24", + "memorysize:1024", + "cold_start:false", + "datadog_lambda:vX.X.X", + "runtime:nodejs24.x" + ], + "v": 1 +} +{ + "traces": [ + [ + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.sqs", + "resource": "my-queue", + "service": "remappedSqsServiceName", + "type": "web", + "error": 0, + "meta": { + "_dd.tags.process": "entrypoint.type:script,entrypoint.workdir:task,package.json.name:container-esm-test,svc.auto:integration-tests-js-XXXX-container-esm_node24", + "_dd.p.tid": "XXXX", + "_dd.p.dm": "-0", + "_dd.origin": "lambda", + "service": "remappedSqsServiceName", + "runtime-id":"XXXX", + "operation_name": "aws.sqs", + "resource_names": "my-queue", + "request_id":"XXXX", + "span.kind": "server", + "_inferred_span.tag_source": "self", + "_inferred_span.synchronicity": "async", + "queuename": "my-queue", + "event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "receipt_handle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...", + "sender_id": "AIDAIENQZJOLO23YVJ4VO", + "_dd.integration": "opentracing", + "_dd.svc_src": "m", + "_dd.base_service": "integration-tests-js-XXXX-container-esm_node24", + "language": "javascript" + }, + "metrics": { + "_dd.agent_psr": 1, + "_dd.top_level": 1, + "_dd.measured": 1, + "retry_count": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + }, + { + "trace_id":"XXXX", + "span_id":"XXXX", + "parent_id":"XXXX", + "name": "aws.lambda", + "resource": "integration-tests-js-XXXX-container-esm_node24", + "service": "integration-tests-js-XXXX-container-esm_node24", + "type": "serverless", + "error": 0, + "meta": { + "_dd.origin": "lambda", + "version": "1.0.0", + "service": "integration-tests-js-XXXX-container-esm_node24", + "runtime-id":"XXXX", + "span.kind": "server", + "cold_start": "false", + "function_arn":"XXXX_node24", + "function_version": "$LATEST", + "request_id":"XXXX", + "resource_names": "integration-tests-js-XXXX-container-esm_node24", + "functionname": "integration-tests-js-XXXX-container-esm_node24", + "datadog_lambda":"XXXX", + "dd_trace": "", + "function_trigger.event_source": "sqs", + "function_trigger.event_source_arn": "arn:aws:sqs:us-east-2:123456789012:my-queue", + "_dd.integration": "opentracing", + "language": "javascript" + }, + "metrics": { + "_dd.measured": 1, + "process_id":XXXX, + "_sampling_priority_v1": 1 + }, + "start":XXXX, + "duration":XXXX, + "links": [] + } + ] + ] +} +END Duration: XXXX ms Memory Used: XXXX MB diff --git a/integration_tests/snapshots/return_values/container-cjs_node18_api-gateway-get.json b/integration_tests/snapshots/return_values/container-cjs_node18_api-gateway-get.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node18_api-gateway-get.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node18_dynamodb-one-key-table.json b/integration_tests/snapshots/return_values/container-cjs_node18_dynamodb-one-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node18_dynamodb-one-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node18_dynamodb-remove.json b/integration_tests/snapshots/return_values/container-cjs_node18_dynamodb-remove.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node18_dynamodb-remove.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node18_dynamodb-two-key-table.json b/integration_tests/snapshots/return_values/container-cjs_node18_dynamodb-two-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node18_dynamodb-two-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node18_s3-completemultipartupload.json b/integration_tests/snapshots/return_values/container-cjs_node18_s3-completemultipartupload.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node18_s3-completemultipartupload.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node18_s3-copyobject.json b/integration_tests/snapshots/return_values/container-cjs_node18_s3-copyobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node18_s3-copyobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node18_s3-putobject.json b/integration_tests/snapshots/return_values/container-cjs_node18_s3-putobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node18_s3-putobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node18_sns.json b/integration_tests/snapshots/return_values/container-cjs_node18_sns.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node18_sns.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node18_sqs.json b/integration_tests/snapshots/return_values/container-cjs_node18_sqs.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node18_sqs.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node20_api-gateway-get.json b/integration_tests/snapshots/return_values/container-cjs_node20_api-gateway-get.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node20_api-gateway-get.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node20_dynamodb-one-key-table.json b/integration_tests/snapshots/return_values/container-cjs_node20_dynamodb-one-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node20_dynamodb-one-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node20_dynamodb-remove.json b/integration_tests/snapshots/return_values/container-cjs_node20_dynamodb-remove.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node20_dynamodb-remove.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node20_dynamodb-two-key-table.json b/integration_tests/snapshots/return_values/container-cjs_node20_dynamodb-two-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node20_dynamodb-two-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node20_s3-completemultipartupload.json b/integration_tests/snapshots/return_values/container-cjs_node20_s3-completemultipartupload.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node20_s3-completemultipartupload.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node20_s3-copyobject.json b/integration_tests/snapshots/return_values/container-cjs_node20_s3-copyobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node20_s3-copyobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node20_s3-putobject.json b/integration_tests/snapshots/return_values/container-cjs_node20_s3-putobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node20_s3-putobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node20_sns.json b/integration_tests/snapshots/return_values/container-cjs_node20_sns.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node20_sns.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node20_sqs.json b/integration_tests/snapshots/return_values/container-cjs_node20_sqs.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node20_sqs.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node22_api-gateway-get.json b/integration_tests/snapshots/return_values/container-cjs_node22_api-gateway-get.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node22_api-gateway-get.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node22_dynamodb-one-key-table.json b/integration_tests/snapshots/return_values/container-cjs_node22_dynamodb-one-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node22_dynamodb-one-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node22_dynamodb-remove.json b/integration_tests/snapshots/return_values/container-cjs_node22_dynamodb-remove.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node22_dynamodb-remove.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node22_dynamodb-two-key-table.json b/integration_tests/snapshots/return_values/container-cjs_node22_dynamodb-two-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node22_dynamodb-two-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node22_s3-completemultipartupload.json b/integration_tests/snapshots/return_values/container-cjs_node22_s3-completemultipartupload.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node22_s3-completemultipartupload.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node22_s3-copyobject.json b/integration_tests/snapshots/return_values/container-cjs_node22_s3-copyobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node22_s3-copyobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node22_s3-putobject.json b/integration_tests/snapshots/return_values/container-cjs_node22_s3-putobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node22_s3-putobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node22_sns.json b/integration_tests/snapshots/return_values/container-cjs_node22_sns.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node22_sns.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node22_sqs.json b/integration_tests/snapshots/return_values/container-cjs_node22_sqs.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node22_sqs.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node24_api-gateway-get.json b/integration_tests/snapshots/return_values/container-cjs_node24_api-gateway-get.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node24_api-gateway-get.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node24_dynamodb-one-key-table.json b/integration_tests/snapshots/return_values/container-cjs_node24_dynamodb-one-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node24_dynamodb-one-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node24_dynamodb-remove.json b/integration_tests/snapshots/return_values/container-cjs_node24_dynamodb-remove.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node24_dynamodb-remove.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node24_dynamodb-two-key-table.json b/integration_tests/snapshots/return_values/container-cjs_node24_dynamodb-two-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node24_dynamodb-two-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node24_s3-completemultipartupload.json b/integration_tests/snapshots/return_values/container-cjs_node24_s3-completemultipartupload.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node24_s3-completemultipartupload.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node24_s3-copyobject.json b/integration_tests/snapshots/return_values/container-cjs_node24_s3-copyobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node24_s3-copyobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node24_s3-putobject.json b/integration_tests/snapshots/return_values/container-cjs_node24_s3-putobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node24_s3-putobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node24_sns.json b/integration_tests/snapshots/return_values/container-cjs_node24_sns.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node24_sns.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-cjs_node24_sqs.json b/integration_tests/snapshots/return_values/container-cjs_node24_sqs.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-cjs_node24_sqs.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node18_api-gateway-get.json b/integration_tests/snapshots/return_values/container-esm_node18_api-gateway-get.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node18_api-gateway-get.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node18_dynamodb-one-key-table.json b/integration_tests/snapshots/return_values/container-esm_node18_dynamodb-one-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node18_dynamodb-one-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node18_dynamodb-remove.json b/integration_tests/snapshots/return_values/container-esm_node18_dynamodb-remove.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node18_dynamodb-remove.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node18_dynamodb-two-key-table.json b/integration_tests/snapshots/return_values/container-esm_node18_dynamodb-two-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node18_dynamodb-two-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node18_s3-completemultipartupload.json b/integration_tests/snapshots/return_values/container-esm_node18_s3-completemultipartupload.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node18_s3-completemultipartupload.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node18_s3-copyobject.json b/integration_tests/snapshots/return_values/container-esm_node18_s3-copyobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node18_s3-copyobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node18_s3-putobject.json b/integration_tests/snapshots/return_values/container-esm_node18_s3-putobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node18_s3-putobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node18_sns.json b/integration_tests/snapshots/return_values/container-esm_node18_sns.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node18_sns.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node18_sqs.json b/integration_tests/snapshots/return_values/container-esm_node18_sqs.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node18_sqs.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node20_api-gateway-get.json b/integration_tests/snapshots/return_values/container-esm_node20_api-gateway-get.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node20_api-gateway-get.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node20_dynamodb-one-key-table.json b/integration_tests/snapshots/return_values/container-esm_node20_dynamodb-one-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node20_dynamodb-one-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node20_dynamodb-remove.json b/integration_tests/snapshots/return_values/container-esm_node20_dynamodb-remove.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node20_dynamodb-remove.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node20_dynamodb-two-key-table.json b/integration_tests/snapshots/return_values/container-esm_node20_dynamodb-two-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node20_dynamodb-two-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node20_s3-completemultipartupload.json b/integration_tests/snapshots/return_values/container-esm_node20_s3-completemultipartupload.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node20_s3-completemultipartupload.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node20_s3-copyobject.json b/integration_tests/snapshots/return_values/container-esm_node20_s3-copyobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node20_s3-copyobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node20_s3-putobject.json b/integration_tests/snapshots/return_values/container-esm_node20_s3-putobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node20_s3-putobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node20_sns.json b/integration_tests/snapshots/return_values/container-esm_node20_sns.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node20_sns.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node20_sqs.json b/integration_tests/snapshots/return_values/container-esm_node20_sqs.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node20_sqs.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node22_api-gateway-get.json b/integration_tests/snapshots/return_values/container-esm_node22_api-gateway-get.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node22_api-gateway-get.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node22_dynamodb-one-key-table.json b/integration_tests/snapshots/return_values/container-esm_node22_dynamodb-one-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node22_dynamodb-one-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node22_dynamodb-remove.json b/integration_tests/snapshots/return_values/container-esm_node22_dynamodb-remove.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node22_dynamodb-remove.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node22_dynamodb-two-key-table.json b/integration_tests/snapshots/return_values/container-esm_node22_dynamodb-two-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node22_dynamodb-two-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node22_s3-completemultipartupload.json b/integration_tests/snapshots/return_values/container-esm_node22_s3-completemultipartupload.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node22_s3-completemultipartupload.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node22_s3-copyobject.json b/integration_tests/snapshots/return_values/container-esm_node22_s3-copyobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node22_s3-copyobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node22_s3-putobject.json b/integration_tests/snapshots/return_values/container-esm_node22_s3-putobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node22_s3-putobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node22_sns.json b/integration_tests/snapshots/return_values/container-esm_node22_sns.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node22_sns.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node22_sqs.json b/integration_tests/snapshots/return_values/container-esm_node22_sqs.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node22_sqs.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node24_api-gateway-get.json b/integration_tests/snapshots/return_values/container-esm_node24_api-gateway-get.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node24_api-gateway-get.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node24_dynamodb-one-key-table.json b/integration_tests/snapshots/return_values/container-esm_node24_dynamodb-one-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node24_dynamodb-one-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node24_dynamodb-remove.json b/integration_tests/snapshots/return_values/container-esm_node24_dynamodb-remove.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node24_dynamodb-remove.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node24_dynamodb-two-key-table.json b/integration_tests/snapshots/return_values/container-esm_node24_dynamodb-two-key-table.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node24_dynamodb-two-key-table.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node24_s3-completemultipartupload.json b/integration_tests/snapshots/return_values/container-esm_node24_s3-completemultipartupload.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node24_s3-completemultipartupload.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node24_s3-copyobject.json b/integration_tests/snapshots/return_values/container-esm_node24_s3-copyobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node24_s3-copyobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node24_s3-putobject.json b/integration_tests/snapshots/return_values/container-esm_node24_s3-putobject.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node24_s3-putobject.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node24_sns.json b/integration_tests/snapshots/return_values/container-esm_node24_sns.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node24_sns.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/integration_tests/snapshots/return_values/container-esm_node24_sqs.json b/integration_tests/snapshots/return_values/container-esm_node24_sqs.json new file mode 100644 index 000000000..eb1e9d310 --- /dev/null +++ b/integration_tests/snapshots/return_values/container-esm_node24_sqs.json @@ -0,0 +1,3 @@ +{ + "message": "hello, dog!" +} diff --git a/scripts/run_integration_tests.sh b/scripts/run_integration_tests.sh index 07e00dd7f..027a545c3 100755 --- a/scripts/run_integration_tests.sh +++ b/scripts/run_integration_tests.sh @@ -8,6 +8,12 @@ set -e +# AWS Lambda only accepts Docker v2 image manifests, not the OCI manifests that +# buildx produces by default (with provenance attestations). Disabling default +# attestations makes buildx emit Docker v2 manifests, which Lambda will accept +# as the source image for the container-* test functions. +export BUILDX_NO_DEFAULT_ATTESTATIONS=1 + # These values need to be in sync with serverless.yml, where there needs to be a function # defined for every handler_runtime combination LAMBDA_HANDLERS=("async-metrics" "esm" "sync-metrics" "http-requests" "process-input-traced" "throw-error-traced" "status-code-500s" "container-cjs" "container-esm") From 90fa204eaa01c210a849afdecb6ff74be7f9f225 Mon Sep 17 00:00:00 2001 From: Jordan Gonzalez <30836115+duncanista@users.noreply.github.com> Date: Thu, 18 Jun 2026 15:20:10 -0400 Subject: [PATCH 8/9] fix(integration): install devDeps before host-side yarn build `yarn build` runs `tsc` which needs the root devDeps (@types/node, @types/aws-lambda, typescript, etc.). In CI the script is invoked without BUILD_LAYERS=true, so the layer-build Docker path that would otherwise hide the host install isn't reached, and tsc blew up with ~150 missing-type errors before getting to npm pack. Add `yarn install --frozen-lockfile` before the build so the host node_modules is populated regardless of which path the caller took. --- scripts/run_integration_tests.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/run_integration_tests.sh b/scripts/run_integration_tests.sh index 027a545c3..4eaaba0ad 100755 --- a/scripts/run_integration_tests.sh +++ b/scripts/run_integration_tests.sh @@ -80,6 +80,11 @@ fi # tests install the version under test (not the published one) via npm. echo "Packing local datadog-lambda-js for container tests" cd $repo_dir +# Ensure root-level devDeps (TypeScript, @types/*) are installed before tsc. +# In CI the script is typically invoked without BUILD_LAYERS=true, so the +# Docker-internal yarn install that path would do isn't reached, and the host +# repo would otherwise tsc against an empty node_modules. +yarn install --frozen-lockfile yarn build npm pack mv datadog-lambda-js-*.tgz $integration_tests_dir/container/cjs/datadog-lambda-js-local.tgz From 91f793b0e4a8cc20c314a37ebf3f61f0fa6d7da4 Mon Sep 17 00:00:00 2001 From: Jordan Gonzalez <30836115+duncanista@users.noreply.github.com> Date: Thu, 18 Jun 2026 15:49:04 -0400 Subject: [PATCH 9/9] ci(gitlab): route integration tests to docker-in-docker runner The `arch:amd64` tag only provides the docker CLI; the daemon isn't running, so the container-image integration tests blow up with "Cannot connect to the Docker daemon at unix:///var/run/docker.sock" when serverless tries to build the ECR images. Switch to `docker-in-docker:amd64`, matching the pattern used by serverless-self-monitoring's `.deploy-lod-base` job for Docker- dependent steps. Other jobs (lint, unit test, layer build, etc.) don't need a daemon and stay on the cheaper plain runner. --- .gitlab/input_files/build.yaml.tpl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitlab/input_files/build.yaml.tpl b/.gitlab/input_files/build.yaml.tpl index 527308bb6..369baaf6e 100644 --- a/.gitlab/input_files/build.yaml.tpl +++ b/.gitlab/input_files/build.yaml.tpl @@ -81,7 +81,11 @@ unit test ({{ $runtime.name }}): integration test ({{ $runtime.name }}): stage: test - tags: ["arch:amd64"] + # `docker-in-docker:` routes the job to a runner with a live Docker + # daemon (vs. plain `arch:amd64` which only has the docker CLI). Required by + # the container-image integration tests, which build & push ECR images for + # the `container-{cjs,esm}_node*` functions. + tags: ["docker-in-docker:amd64"] image: ${CI_DOCKER_TARGET_IMAGE}:${CI_DOCKER_TARGET_VERSION} needs: - build layer ({{ $runtime.name }})