grafana / grafana/pyroscope-java

Add an ability to not start the agent on some instances

Abierto
#154 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
126
Forks
48
Merge medio
4 d 14 h
PR fusionados (30 d)
5

Descripción

We are currently integrating the Pyroscope Java agent into our infrastructure, and it works great. However, we have encountered a problem: In cases of a large fleet of pods (1000+) and aggressive sampling, we generate too much profiling data for the server to handle. Additionally, the 2-3% profiling overhead becomes a significant resource drain.

I propose adding an option (both in the SDK and as an environment variable) named **PYROSCOPE_CLUSTER_RATIO** with a value in percentage (0-100). This feature would enable the agent only if a randomly generated value in an inclusive range 0-100 **is less than the provided percentage**.

This feature will allow users to save resources on both the server and client sides while still maintaining statistically viable continuous profiling data for large deployments.

I would be glad to help implement this feature if you consider it appropriate.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza en el punto de entrada de configuración del Java agent SDK y en su gestión de variables de entorno. Traza cómo se habilita el inicio del agente, define después el comportamiento de PYROSCOPE_CLUSTER_RATIO para valores de 0 a 100 y verifica que el agente solo se habilite cuando la selección aleatoria sea inferior al porcentaje configurado, cubriendo tanto la configuración del SDK como la de la variable de entorno.

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
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.