Wall profiler event doesn't like remote JDB session made via Cloudflare WARP
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- java, kubernetes
- Ambito
- devops, networking, performance
Direzione di ricerca
Non sono stati identificati file di progetto o test. Riprodurre con Java 17, Pyroscope agent v0.14.0 e un’applicazione Spring Boot in EKS, confrontando remote jdb tramite Cloudflare WARP con kubectl exec o una pod-to-pod attachment e gli eventi wall rispetto a cpu o itimer; il lavoro è concluso quando viene identificata la causa dell’handshake fallito o viene documentato un fix confermato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Java
- Stelle
- 125
- Fork
- 48
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di grafana/pyroscope-java
-
Clean up dead publishing repository config and credentials in subproject build filesForse già presa @arnabnandy7 l’ha presa 28 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
grafana/pyroscope-java#294 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 54/100
grafana/pyroscope-java#371 · 2 reazioni ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
grafana/pyroscope-java#368 · 1 commento ·
-
improve asprof extractionAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
grafana/pyroscope-java#283 ·
-
libasyncProfiler-linux-x64.so dump in /tmpForse di nuovo libera @korniltsev-grafanista l’ha presa 266 giorni fa e non c’è nessuna pull request aperta. Aperta
grafana/pyroscope-java#250 · 1 commento · 1 assegnatario ·
Tutte le issue di grafana/pyroscope-java
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
apache/rocketmq-dashboard#7250 ·
I maintainer di solito rispondono entro 3 giorni
-
HttpMaxFrameSizeTest.sendOversizedMessageTest() passes silently when maxFrameSize is not enforcedAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
apache/activemq#2706 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
federicoiosue/Omni-Notes#1032 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
unitycatalog/unitycatalog#2025 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
krizaka/krizaka-notifications#22 ·
I maintainer di solito rispondono entro 1 giorno