grafana / grafana/pyroscope-java
Propagating Pyroscope labels to async worker threads in Java
- Vorherrschende Sprache
- Java
- Sterne
- 126
- Forks
- 48
- Ø Merge
- 4 T. 14 Std.
- Gemergte PRs (30 T.)
- 5
Beschreibung
Hello,
I'm using the Pyroscope Java profiling agent to profile a Java application which does a lot of async tasks. I have a method like this:
```java
public CompletableFuture method() {
return Pyroscope.LabelsWrapper.run(new LabelsSet(key, value), () -> doStuff());
}
```
The issue is that `doStuff()` triggers async operations executed on different worker threads. The labels set via LabelsWrapper.run() don't propagate to these worker threads, so the async work isn't profiled with the correct labels.
Is there a recommended way to handle this without adding significant verbosity to the existing code? I'm hoping to avoid manually wrapping every async call.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Start by reviewing the Java agent's LabelsWrapper behavior and how the async operations triggered by doStuff() move work to other threads. Determine whether label propagation can be supported without manually wrapping each async call; done means worker-thread profiling retains the labels from the originating operation.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- observability-sre
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 30/100