Prometheus how to handle counters on server
You generally don't want to look at the total of a counter the way that you are in your example, because it's not very meaningful once you actually try to use it analytically.
The idea is that you want to know increases over a period of time. For example, do you want to know the total amount of article views for the last 7 days, for this month so far, for the last 30 days, etc.
This answer and this article do an excellent job of explaining all this, but here are some examples. For demonstration purposes I use a counter called walks_started_total
.
The problem
Query: `walks_started_total`Solution 1
Seeing the total for the last week: `increase(walks_started_total[1w])`Solution 2
Over a 1 minute period: `increase(walks_started_total[1m])`Counters are allowed to be reset to 0, so there's no need to do anything special here to handle it. See http://www.robustperception.io/how-does-a-prometheus-counter-work/ for more detail.
It's recommended to use a client library which will handle all of this for you.
Also, by convention you should suffix counters with _total
so that metric should be news_reads_total
.