diff --git a/Dockerfile b/Dockerfile index cf17c038..760b7ab8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,6 +32,8 @@ RUN rm -rf /nodejs/node_modules/aws-sdk RUN rm -rf /nodejs/node_modules/aws-xray-sdk-core/node_modules/aws-sdk # Remove heavy files from @datadog/pprof which aren't used in a lambda environment +# TODO: Ship individual bindings per platform and depend on that instead. +# TODO: Split x64 and ARM so that each image only has the binaries for its architecture. RUN rm -rf /nodejs/node_modules/@datadog/pprof/prebuilds/darwin-arm64 RUN rm -rf /nodejs/node_modules/@datadog/pprof/prebuilds/darwin-x64 RUN rm -rf /nodejs/node_modules/@datadog/pprof/prebuilds/linux-arm @@ -44,5 +46,12 @@ RUN rm -rf /nodejs/node_modules/@datadog/pprof/prebuilds/*/node-120.node RUN rm -rf /nodejs/node_modules/@datadog/pprof/prebuilds/*/node-131.node RUN rm -rf /nodejs/node_modules/@datadog/pprof/prebuilds/*/node-141.node +# Remove heavy files from @opentelemetry/api which aren't used in a lambda environment. +# TODO: Create a completely separate Datadog scoped package for OpenTelemetry instead. +RUN rm -rf /nodejs/node_modules/@opentelemetry/api/build/esm +RUN rm -rf /nodejs/node_modules/@opentelemetry/api/build/esnext +RUN rm -rf /nodejs/node_modules/@opentelemetry/api-logs/build/esm +RUN rm -rf /nodejs/node_modules/@opentelemetry/api-logs/build/esnext + FROM scratch COPY --from=builder /nodejs / diff --git a/package.json b/package.json index 0853f339..3a597ae6 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,8 @@ "@aws-sdk/client-kms": "^3.366.0", "@aws-sdk/client-secrets-manager": "^3.721.0", "@datadog/pprof": "*", + "@opentelemetry/api": "*", + "@opentelemetry/api-logs": "*", "@types/aws-lambda": "^8.10.136", "@types/aws-sdk": "^2.7.0", "@types/jest": "^27.5.2", diff --git a/scripts/move_ddtrace_dependency.js b/scripts/move_ddtrace_dependency.js index fb49f295..1e2f904f 100755 --- a/scripts/move_ddtrace_dependency.js +++ b/scripts/move_ddtrace_dependency.js @@ -7,6 +7,8 @@ const file = JSON.parse(process.argv[2]); moveDependency('dd-trace') moveDependency('@datadog/pprof') +moveDependency('@opentelemetry/api') +moveDependency('@opentelemetry/api-logs') console.log(JSON.stringify(file, null, 2)); diff --git a/yarn.lock b/yarn.lock index b8b820dd..84d9a24b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1429,14 +1429,14 @@ resolved "https://registry.yarnpkg.com/@openfeature/server-sdk/-/server-sdk-1.18.0.tgz#5fed5f1d0900b2535878db18a78295bbaebb997b" integrity sha512-uP8nqEGBS58s3iWXx6d8vnJ6ZVt3DACJL4PWADOAuwIS4xXpID91783e9f6zQ0i1ijQpj3yx+3ZuCB2LfQMUMA== -"@opentelemetry/api-logs@<1.0.0": +"@opentelemetry/api-logs@*", "@opentelemetry/api-logs@<1.0.0": version "0.208.0" resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.208.0.tgz#56d3891010a1fa1cf600ba8899ed61b43ace511c" integrity sha512-CjruKY9V6NMssL/T1kAFgzosF1v9o6oeN+aX5JB/C/xPNtmgIJqcXHG7fA82Ou1zCpWGl4lROQUKwUNE1pMCyg== dependencies: "@opentelemetry/api" "^1.3.0" -"@opentelemetry/api@>=1.0.0 <1.10.0", "@opentelemetry/api@^1.3.0": +"@opentelemetry/api@*", "@opentelemetry/api@>=1.0.0 <1.10.0", "@opentelemetry/api@^1.3.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.9.0.tgz#d03eba68273dc0f7509e2a3d5cba21eae10379fe" integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==