From dcc3f86c41bb5a22d0011112ae38aa5e4639dac4 Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Mon, 16 Oct 2023 10:02:05 +0200 Subject: [PATCH] Add heap snapshot flag to serverless `Dockerfile` (#168099) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Adds the `--heapsnapshot-signal` to the `node.options` file in Kibana serverless docker builds so that we can capture heapsnapshots. So our `node.options` for serverless builds will look like: ``` kibana@docker-desktop:~$ cat config/node.options ## Node command line options ## See `node --help` and `node --v8-options` for available options ## Please note you should specify one option per line ## max size of old space in megabytes #--max-old-space-size=4096 ## do not terminate process on unhandled promise rejection --unhandled-rejections=warn ## restore < Node 16 default DNS lookup behavior --dns-result-order=ipv4first ## enable OpenSSL 3 legacy provider #--openssl-legacy-provider 👉🏻--heapsnapshot-signal=SIGUSR2👈🏻 ``` --- .../os_packages/docker_generator/templates/base/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/dev/build/tasks/os_packages/docker_generator/templates/base/Dockerfile b/src/dev/build/tasks/os_packages/docker_generator/templates/base/Dockerfile index dca3b04faba82e..8db4b419a184af 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/templates/base/Dockerfile +++ b/src/dev/build/tasks/os_packages/docker_generator/templates/base/Dockerfile @@ -126,6 +126,8 @@ COPY --chown=1000:0 config/serverless.yml /usr/share/kibana/config/serverless.ym COPY --chown=1000:0 config/serverless.es.yml /usr/share/kibana/config/serverless.es.yml COPY --chown=1000:0 config/serverless.oblt.yml /usr/share/kibana/config/serverless.oblt.yml COPY --chown=1000:0 config/serverless.security.yml /usr/share/kibana/config/serverless.security.yml +# Supportability enhancement: enable capturing heap snapshots. See https://nodejs.org/api/cli.html#--heapsnapshot-signalsignal +RUN echo '\n--heapsnapshot-signal=SIGUSR2' >> config/node.options {{/serverless}} {{^opensslLegacyProvider}} RUN sed 's/\(--openssl-legacy-provider\)/#\1/' -i config/node.options