grafana / grafana/pyroscope-java
Propagating Pyroscope labels to async worker threads in Java
- Lenguaje dominante
- Java
- Estrellas
- 126
- Forks
- 48
- Merge medio
- 4 d 14 h
- PR fusionados (30 d)
- 5
Descripción
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.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza revisando el comportamiento de LabelsWrapper en el Java agent y cómo las operaciones asíncronas activadas por doStuff() trasladan el trabajo a otros hilos. Determina si se puede admitir la propagación de labels sin envolver manualmente cada llamada asíncrona; se considera completado cuando el profiling del hilo de trabajo conserva los labels de la operación de origen.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- observability-sre
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 30/100