Wall profiler event doesn't like remote JDB session made via Cloudflare WARP
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 25/100
- Issue 类型
- 缺陷
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- java, kubernetes
- 领域
- devops, networking, performance
调研方向
未识别出项目文件或测试。使用 Java 17、Pyroscope agent v0.14.0 以及运行在 EKS 中的 Spring Boot 应用进行复现,比较通过 Cloudflare WARP 使用 remote jdb 与 kubectl exec 或 pod-to-pod attachment 的方式,并比较 wall 与 cpu 或 itimer 事件;完成标准是确定失败的 handshake 的原因,或记录一个已确认的 fix。
由索引模型根据 Issue 内容生成。
描述
Hi Pyroscope JAVA,
I have the following setup:
- AWS EKS cluster with two namespaces
devandtest - Both namespaces consist of a bunch of Java Spring Boot applications
- Applications in the
devnamespace use Pyroscope agent, thePYROSCOPE_PROFILER_EVENTis set towall - The connection from local computers to the EKS PODs' network is done via Cloudflare WARP (WiteGuard)
- The connection can be made directly to the POD's IP or via
kubectl port-forward
- The connection can be made directly to the POD's IP or via
What I have observed is that
- Java Debugger attachment from inside the POD i.e.
kubectl exec+jdb -attach localhost:4001works like a charm - It also works from namespace to namespace or from POD to POD, meaning that it can jump from one EKS node to another
- What does't work is Java Debugger attachment from the local computers to the applications in the
devnamespace whenPYROSCOPE_PROFILER_EVENTis set towall. If I setcpuoritimerit does work.
The below error is shown:
jdb -attach IP_ADDRESS:4001
java.io.IOException: handshake failed - connection prematurally closed
at jdk.jdi/com.sun.tools.jdi.SocketTransportService.handshake(SocketTransportService.java:137)
at jdk.jdi/com.sun.tools.jdi.SocketTransportService.attach(SocketTransportService.java:271)
at jdk.jdi/com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:119)
at jdk.jdi/com.sun.tools.jdi.SocketAttachingConnector.attach(SocketAttachingConnector.java:83)
at jdk.jdi/com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:557)
at jdk.jdi/com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:367)
at jdk.jdi/com.sun.tools.example.debug.tty.Env.init(Env.java:63)
at jdk.jdi/com.sun.tools.example.debug.tty.TTY.main(TTY.java:1113)
I'm wondering if you folks have some ideas about the potential issue here, I do appreciate any feedback on this.
I found similar issue in async-profiler, but I'm not sure if related https://github.com/async-profiler/async-profiler/issues/769
Java Version
openjdk 17.0.13 2024-10-15 LTS
OpenJDK Runtime Environment Corretto-17.0.13.11.1 (build 17.0.13+11-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.13.11.1 (build 17.0.13+11-LTS, mixed mode, sharing)
Pyroscope agent version is v0.14.0
EKS node run on Amazon Linux 2 x86_64
Best regards,
Pawel
- 主要语言
- Java
- 星标
- 125
- 派生
- 48
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
grafana/pyroscope-java 的其他 Issue
-
Clean up dead publishing repository config and credentials in subproject build files可能已有人在做 @arnabnandy7 于 24 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
grafana/pyroscope-java#294 ·
-
难度 4/5 3-5 天 新手友好度 54/100
grafana/pyroscope-java#371 · 2 个 reaction ·
-
难度 4/5 3-5 天 新手友好度 45/100
grafana/pyroscope-java#368 · 1 条评论 ·
-
难度 5/5 一周以上 新手友好度 25/100
grafana/pyroscope-java#283 ·
-
libasyncProfiler-linux-x64.so dump in /tmp可能重新可做 @korniltsev-grafanista 于 263 天前认领,目前没有进行中的 PR。 未关闭
grafana/pyroscope-java#250 · 1 条评论 · 已指派 1 人 ·
查看 grafana/pyroscope-java 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
apache/rocketmq-dashboard#6872 ·
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
ADORSYS-GIS/token-status-link#168 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
ADORSYS-GIS/keycloak-oid4vp-plugin#232 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 2 天内回复
-
documentation
难度 2/5 1-3 小时 新手友好度 62/100
devops-thiago/ThrillhouseBot#1132 ·
维护者通常 1 天内回复