Skip to content

fix: Updated nodejs/publish-layers.sh to install the agent with the default install strategy of hoisted to reduce the size of the Node.js lambda layer - #555

Open
bizob2828 wants to merge 1 commit into
newrelic:masterfrom
bizob2828:reduce-node-layer-size
Open

bizob2828 wants to merge 1 commit into
newrelic:masterfrom
bizob2828:reduce-node-layer-size

Conversation

@bizob2828

@bizob2828 bizob2828 commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

It looks like this was introduced in #384. Which ironically was to create a slim build to avoid the opentelemetry deps for customers who have no intention of using the hybrid agent. By adding --install-strategy=nested the dependency tree grew significantly for slim and non-slim layers. This is because the nested strategy does not dedupe dependencies of the same versions but instead replicates the same packages for every child that depends on it. See the doc for more information.

What this meant is our agent is currently 98MB when installed was instead 195MB, causes some issues with customers who also had a lot of code in their lambda function. AWS imposes a limit of 250mb unzipped and since the agent itself is 195MB there isn't much room, see doc

Before fix:

❯ du -h NewRelicNodeJS-42.zip
 42M	NewRelicNodeJS-42.zip

du -h nodejs/node_modules/
195M	nodejs/node_modules/

After fix:

❯ du -h nodejs.x86_64.zip
 23M	nodejs.x86_64.zip

❯ du -h nodejs/node_modules/
 41M	nodejs/node_modules/

… default install strategy of hoisted to reduce the size of the Node.js lambda layer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant