Wall profiler event doesn't like remote JDB session made via Cloudflare WARP
まだ誰も着手していません。
評価
- 難易度
- 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 にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
grafana/pyroscope-java のほかの issue
-
Clean up dead publishing repository config and credentials in subproject build files対応中かも @arnabnandy7 が 25 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
grafana/pyroscope-java#294 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 54/100
grafana/pyroscope-java#371 · リアクション 2 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
grafana/pyroscope-java#368 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
grafana/pyroscope-java#283 ·
-
libasyncProfiler-linux-x64.so dump in /tmp再び着手できるかも @korniltsev-grafanista が 263 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
grafana/pyroscope-java#250 · コメント 1 件 · 担当者 1 名 ·
grafana/pyroscope-java の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
apache/rocketmq-dashboard#6896 ·
メンテナーはふだん 3 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
OpenIntegrationEngine/engine#496 ·
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
SasanLabs/VulnerableApp#836 ·
メンテナーはふだん 1 日以内に返信
-
enhancement frontend
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
Albertinesilva/backend-engineering-journey-java-springboot#46 ·
-
Snyk: vulnerabilities in jackson-databind 2.21.5対応中かも @harrywu23 が今日担当しました。 オープンbug
難易度 1/5 1〜3時間 初心者へのやさしさ 80/100
SOFTENG-310-Group-4/Project-A1-310-Group-4#115 ·
メンテナーはふだん 1 日以内に返信