elastic / elastic/apm-agent-python
Option to set Redis Leaf=False
- Lenguaje dominante
- Python
- Estrellas
- 431
- Forks
- 239
- Merge medio
- 5 d 10 h
- PR fusionados (30 d)
- 7
Descripción
Hello,
Just to mention that in some cases, Redis can be used as Lock mechanism. (ie https://pypi.org/project/python-redis-lock/).
In that case the code to monitor would look like follow :
```py
from redis_lock import Lock
with Lock("some key") :
#do something
```
In that case, you don't want Redis to be treated as a Leaf, so the rest can be tracked
Right now, all I have is a big redis span for the entire with.
I don't know what would be the best approach for this. perhaps having a class to handle BLPOP ?
https://github.com/ionelmc/python-redis-lock/blob/master/src/redis_lock/__init__.py#L249
https://github.com/redis/redis-py/blob/a87a750ed1a39138ba4526537335012fc95142c9/redis/commands/core.py#L1867
Thx
Guía de contribución
Línea de trabajo
Comienza leyendo la redis_lock/__init__.py referenciada alrededor de la línea 249 y redis-py core.py alrededor de la línea 1867 para entender la ruta del lock basada en BLPOP; después, localiza la instrumentación de Redis del agente para ver cómo se marcan los spans como leaves. La tarea estará terminada cuando el uso de locks de Redis pueda configurarse o reconocerse de modo que el trabajo dentro del bloque with se represente mediante spans hijos en lugar de un único span de Redis envolvente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python, redis
- Área
- databases, 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
- 35/100