Node.js --cpu-prof 标志:无法将 CPU 配置文件消息转换为 V8 字符串

问题描述 投票:0回答:1

我正在使用

--cpu-prof
标志生成 Node.js 18.16.0 应用程序的
cpuprofile
。当我尝试启动
cpuprofile
的创建时,出现此错误:
Failed to convert CPU profile message to V8 string

我将我的应用程序托管在 Azure 应用服务内的 Docker 容器中。此错误在互联网上的其他任何地方都没有出现过 - 这意味着什么,我该如何解决它?

Dockerfile:

FROM node:18-alpine AS builder
WORKDIR /build

COPY . .

RUN npm ci

RUN npm run compile

CMD ["npm", "start"]
node.js azure docker profiling
1个回答
0
投票

如果您在 Docker 容器中运行 Node 应用程序,要使用

--cpu-prof
,您需要在
Dockerfile
中给出命令。

这对我有用:

我正在使用一个简单的 Node Express 应用程序。

Dockerfile
:

FROM  node:lts-alpine

ENV  NODE_ENV=production

WORKDIR  /usr/src/app

COPY  ["package.json",  "package-lock.json*",  "npm-shrinkwrap.json*",  "./"]

RUN  npm  install  --production  --silent  &&  mv  node_modules  ../

COPY  .  .

EXPOSE  3000

RUN  chown  -R  node  /usr/src/app

USER  node

CMD  ["node","--cpu-prof","--prof",  "app.js"]

OUTPUT

我可以在容器内看到我的 cpu 配置文件

要访问文件,请使用以下命令:

打开互动单元:

docker exec -it <container_name_or_id> sh

要从容器复制文件,您可以运行此命令

docker cp 938843ef2767:/usr/src/app/isolate-0x7fdafe318690-1-v8.log .

注意:使用

.
复制到当前文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.