I've used both Prometheus and the Telegraf / StatsD solutions; and, for a very long time, I've disliked everything from the standard "bugs"[0] in Prometheus to the entire design philosophy of their pull vs Telegraf and similar's push methodology.
What is the collective's general stance on Prometheus vs Telegraf; and why does the collective tend to end up preferring one over the other?
[0] For example, Prometheus clients does tend to consider a counter that hasn't been incremented to exist, so if you have an error counter, the sudden existence of the error counter is how you find an error. The 'increase' is 0, though, because it went from not existing to a value of 1. Citation: https://github.com/prometheus/prometheus/issues/1673
No, it's not technically a "bug", it's how it's designed; but, it speaks to how it's used and the work-arounds are unsatisfactory, in my opinion.