Great: I think you can drop the .Add(0) and the counters will still be created with a zero value.
On Wednesday, 3 May 2023 at 23:42:57 UTC+1 Johny wrote: > Thanks Brian. I was able to use <CounterVec>.withLabels(...).Add(0) in the > beginning to export the 0 value. > > On Wednesday, May 3, 2023 at 4:55:03 PM UTC-4 Brian Candler wrote: > >> Confirmed. Take the "Basic Example" from here: >> >> https://pkg.go.dev/github.com/prometheus/client_golang/prometheus#hdr-A_Basic_Example >> >> Remove the .Inc() from the "m.hdFailures.With" line >> >> $ curl -fsS localhost:8080/metrics | grep hd_errors >> # HELP hd_errors_total Number of hard-disk errors. >> # TYPE hd_errors_total counter >> hd_errors_total{device="/dev/sda"} 0 >> >> On Wednesday, 3 May 2023 at 21:51:53 UTC+1 Brian Candler wrote: >> >>> Is it a CounterVec you're using? >>> >>> If so, I think that v.With(labels...) should be sufficient to initialise >>> it. >>> >>> On Wednesday, 3 May 2023 at 20:52:57 UTC+1 Johny wrote: >>> >>>> Yes golang. I am using promauto to auto register my metrics with the >>>> default registry at the time of initialization. >>>> >>>> https://pkg.go.dev/github.com/prometheus/[email protected]/prometheus/promauto >>>> >>>> <https://pkg.go.dev/github.com/prometheus/[email protected]/prometheus/promauto> >>>> >>>> Do you recall a way to force export it always with a default initial >>>> value of 0? >>>> >>>> On Wednesday, May 3, 2023 at 3:33:38 PM UTC-4 Brian Candler wrote: >>>> >>>>> Yes, you should be able to create a counter which publishes its >>>>> initial value of zero. I'm fairly sure I've done this with the Golang >>>>> client some time in the past. What language and client library are you >>>>> using? >>>>> >>>>> You'll have to initialise the counters explicitly. If the first time >>>>> the client library knows about the counter is when you increment it, then >>>>> clearly it won't be able to export it until then. >>>>> >>>>> On Wednesday, 3 May 2023 at 20:19:27 UTC+1 Johny wrote: >>>>> >>>>>> I need to sum two separate counter metrics capturing request >>>>>> failures to compute ratio of error requests for an alerting signal. The >>>>>> code initializing and setting these counters sits in separate modules >>>>>> preventing reuse of one counter. >>>>>> >>>>>> The problem is when one of the counter is never incremented after a >>>>>> restart, service never exports the data point, prometheus will never get >>>>>> the time series and the summation will return nothing. >>>>>> >>>>>> Is there a way to "force" publish a counter to 0 always on service >>>>>> reboot during counter initialization to avoid this problem? >>>>>> >>>>>> (fail_count1 + fail_count2) / (total_count1 + total_count2) >>>>>> >>>>>> -- 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/ef9b8c43-bf00-4c28-b5d1-4ed5e452437an%40googlegroups.com.

