我在我的Profiling
应用上正在NodeJs
,我正在使用Google App Engine Flexible
,为此,我正在使用npm 0x,但问题是这个包正在制作我的NodeJs根目录文件夹中的flamegraph
,现在我怎么能retrieve this folder
(我的意思是get access
到这个文件夹)。我有SSH
到我的App Engine Flexible实例,但有两个文件夹vm-runtime-app
,vmagent
但是我的NodeJs源代码根目录不存在。
答案 0 :(得分:2)
这是因为GAE实例将应用启动到Docker container。在SSH到您的实例后,您需要将shell生成到运行您的应用程序的容器中
以下是 SSH到您的实例后的步骤:
sudo docker ps
docker exec -it [CONTAINER-NAME] /bin/bash
第一个命令将列出正在运行的Docker容器,其中包括节点运行时容器(可能名为gaeapp
);第二个命令将在容器中生成一个bash shell,您可以在ls
和cd
以及pwd
周围
一旦知道要下载哪个目录或文件,就可以退出容器shell并将文件从容器复制到GAE实例:
exit
docker cp [CONTAINER-NAME]:/app/package.json ./
从那里你可以使用gcloud shell在本地下载这个文件。你也可以简单地在Node中将它复制到api中的一个公开的http端点(即/debug/flamegraph.svg
),然后在节点中生成它,只需说'