阅读背景:

是否有可能采取CloudDataflow java进程的线程转储?

来源:互联网 

After I ssh using cloud console I used docker ps to list the containers

在使用云控制台进行ssh之后,我使用了docker ps来列出容器

then did the following docker exec -it jstack, but it throws the following error

然后执行以下docker exec -it jstack,但它抛出以下错误

rpc error: code = 2 desc = "oci runtime error: exec failed: exec: \"jstack\": executable file not found in $PATH

rpc错误:代码= 2 desc =“oci运行时错误:exec失败:exec:\”jstack \“:$ PATH中找不到可执行文件

Also I don't find jstack inside the container. So Is there an easy way to take a thread dump of a cloud dataflow javastreaming process.

另外我在容器里面找不到jstack。那么有一种简单的方法来获取云数据流javastreaming流程的线程转储。

1 个解决方案

#1


2  

Dataflow workers host a local debugging http server on port 8081. When you ssh to the worker, you can do curl https://localhost:8081/threadz and it should give you the thread stacks.

数据流工作者在端口8081上托管本地调试http服务器。当你ssh到worker时,你可以做curl http:// localhost:8081 / threadz,它应该给你线程堆栈。

We're working on providing better ways to surface worker stuckness to the users, but for now this is the only way.

我们正在努力提供更好的方法来表明员工对用户的坚持,但目前这是唯一的方法。


分享到: