Open jaco opened 1 year ago
I have deleted service monitor for test purposes :)
Hey @jaco,
i guess solving this will require a breaking change, as we would need to store something like metadata. At the moment I would like to avoid making a breaking change. Maybe we can go a similar route like we did it with APC (APCNg). I guess this would be the best idea for now, or do you maybe have a better idea?
@jaco I have a working "RedisNG" ready. The tests pass locally but for the CI I still fight against them. You can find it in this MR: https://github.com/PromPHP/prometheus_client_php/pull/99
Would it be possible that you test it against your workload? It is a completely new storage engine as I changed the way how the summary keys are saved (this was basically the only part that used KEYS).
KEYS is very expensive command, according to manual:
I saw that there was an attempt to change KEYS to SCAN and performance dropped.
IMO redis storage should use some kind of list/set to keep track of used metrics.
In our deployment, keys command its responsible for 90%+ load of whole redis instance and we use redis storage ONLY for jobs (APCu for http requests).