I work as SRE at a company which runs Ruby on Rails application deployed 
with Unicorn. Not so long time ago, we started to migrate from StatsD 
(https://github.com/statsd/statsd) based metrics to Prometheus. We wrote 
wrapper library which uses 
https://gitlab.com/gitlab-org/prometheus-client-mmap (which also is fork of 
https://github.com/prometheus/client_ruby) and so far so good, everything 
went as planned during PoC.

But recently we found some limitation which we are banging head on how to 
solve. Many people are used to StatD and in application code they used just 
to increase gauges values (from multiple locations) and aggregating such 
values gives you "current" value. 

Now with Prometheus, we have multiple muti-thread workers which updates 
their own gauge values (workers are labeled e.g. with id). So let's say one 
process stores 10 in gauge and after some minutes another worker stores 5. 
How we shall know what value is the latest?

Prometheus client_ruby added most_recent aggregations 
https://github.com/prometheus/client_ruby/pull/172, which helps on single 
Unicorn, but let's say we want to know what is the latest value between two 
multiworker Unicorns?

Few proposed solutions:

1. Use Pushgateway https://prometheus.io/docs/practices/pushing/ - we 
really want to avoid running it, if we can, as it will become single point 
of failure, and probably we also will have some performance issues due to 
high rate of pushes.
2. Use https://github.com/discourse/prometheus_exporter - that would run as 
separate instance and seems to be option. But sill how to find what is the 
latest value between Unicorns?

Maybe someone had similar issues and come up with some different solutions? 
Any feedback is very welcome.

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to prometheus-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/47ab2eb3-6ee4-4f2e-9da1-f60412ada1d3n%40googlegroups.com.

Reply via email to