Wall profiler event doesn't like remote JDB session made via Cloudflare WARP
Maintainer antworten meist innerhalb von 4 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Bug
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- java, kubernetes
- Bereich
- devops, networking, performance
Rechercherichtung
Keine Projektdateien oder Tests wurden identifiziert. Reproduzieren Sie das Problem mit Java 17, Pyroscope agent v0.14.0 und einer Spring Boot-Anwendung in EKS, wobei remote jdb über Cloudflare WARP mit kubectl exec oder einer pod-to-pod attachment sowie wall- gegenüber cpu- oder itimer-Ereignissen verglichen wird; abgeschlossen ist die Aufgabe, wenn die Ursache des fehlgeschlagenen handshake identifiziert oder ein bestätigter fix dokumentiert wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- Java
- Sterne
- 124
- Forks
- 51
- Ø Merge
- 4 T. 15 Std.
- Gemergte PRs (30 T.)
- 5
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus grafana/pyroscope-java
-
Clean up dead publishing repository config and credentials in subproject build filesEvtl. vergeben @arnabnandy7 hat das vor 42 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
grafana/pyroscope-java#294 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 57/100
grafana/pyroscope-java#392 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Enabling multiple profiling event when using JFREvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 54/100
grafana/pyroscope-java#371 · 3 Reaktionen ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
grafana/pyroscope-java#368 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
grafana/pyroscope-java#283 ·
Maintainer antworten meist innerhalb von 4 Tagen
Alle Issues in grafana/pyroscope-java
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 3 Tagen
-
A proxy that fails to start logs a RejectedExecutionException stack trace from its shutdown hookOffenfollow-up
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Sanne/incus-spawn#1953 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
HexaHexes/ability-battlewills#37 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Shweit/EtherealPortals#30 ·