Thanks Brian! Your recommendations are helpful. What I said regarding community-made collectors w.r.t. client_ruby was considering Ruby/Rails specific collectors, such as the ones that `prometheus_exporter` has for Rails, Puma, Resque etc.
I'm trying to weigh the value of the initial time savings of starting with those out-of-the-box collectors vs the feeling that `prometheus_exporter` is kind of an island of it's own. On Thursday, August 5, 2021 at 3:23:49 AM UTC-4 Brian Candler wrote: > If you're considering the "sidecar exporter" approach, then also look at > statsd_exporter <https://github.com/prometheus/statsd_exporter> > (maintained in Prometheus org), and use a simple statsd client to fire > updates to it. > > In general, I'd say that the ideal approach is to instrument your > application directly: it will have direct access to application state on > every scrape. However if your application is deployed as multiple > processes, then having a sidecar might make things simpler: otherwise, as > you've already noted, you need to access shared state in files or redis etc. > > *"Doesn't seem to have many community collectors built on top"* may > simply reflect that ruby isn't the go-to language for writing low-level > collectors. The go-to language is go :-) > > On Wednesday, 4 August 2021 at 23:22:41 UTC+1 [email protected] wrote: > >> >> Hello, >> >> Want to add Prometheus metric to a few Rails applications. I'm having a >> hard time choosing between the two primary client libraries. I'm looking >> for thoughts from other folks. >> >> >> >> prometheus/client_ruby <https://github.com/prometheus/client_ruby> VS >> discourse/prometheus_exporter >> <https://github.com/discourse/prometheus_exporter> >> >> >> Here's my current assessment: >> >> *client_ruby* >> + maintained in Prometheus org >> + doesn't require running a sidecar process >> ? handles multi-process using files >> - doesn't come with many collectors >> ? doesn't seem to have many community collectors built on top >> + more mature project >> >> *prometheus_eporter* >> + has lots of useful built-in collectors >> ? handles multi-process using a sidecar process with streaming JSON. >> Basically a PushGateway >> - completely incompatible with client_ruby >> - younger project >> >> Any thoughts or suggestions are much appreciated! >> > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-users/aea28c66-4057-493c-aab7-6f17014c8f0fn%40googlegroups.com.

