Wall profiler event doesn't like remote JDB session made via Cloudflare WARP
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- java, kubernetes
- Domaine
- devops, networking, performance
Piste de recherche
Aucun fichier de projet ni test n’est identifié. Reproduire avec Java 17, Pyroscope agent v0.14.0 et une application Spring Boot dans EKS, en comparant remote jdb via Cloudflare WARP avec kubectl exec ou une pod-to-pod attachment, ainsi que les événements wall par rapport à cpu ou itimer ; c’est terminé lorsque la cause du handshake échoué est identifiée ou qu’un fix confirmé est documenté.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Java
- Étoiles
- 125
- Forks
- 48
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de grafana/pyroscope-java
-
Clean up dead publishing repository config and credentials in subproject build filesPeut-être pris @arnabnandy7 l’a pris il y a 25 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
grafana/pyroscope-java#294 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 54/100
grafana/pyroscope-java#371 · 2 réactions ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
grafana/pyroscope-java#368 · 1 commentaire ·
-
improve asprof extractionOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
grafana/pyroscope-java#283 ·
-
libasyncProfiler-linux-x64.so dump in /tmpPeut-être à nouveau libre @korniltsev-grafanista l’a pris il y a 263 jours, et aucune pull request n’est ouverte. Ouverte
grafana/pyroscope-java#250 · 1 commentaire · 1 personne assignée ·
Toutes les issues de grafana/pyroscope-java
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
OpenIntegrationEngine/engine#496 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
SasanLabs/VulnerableApp#836 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement frontend
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
Albertinesilva/backend-engineering-journey-java-springboot#46 ·
-
Snyk: vulnerabilities in jackson-databind 2.21.5Peut-être pris @harrywu23 l’a pris aujourd’hui. Ouvertebug
Difficulté 1/5 1-3 heures Accessibilité débutants 80/100
SOFTENG-310-Group-4/Project-A1-310-Group-4#115 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
carlos-emr/carlos#4833 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour