Hey Julius,
Thank you for your reply. Understood the difference between Add and Push.
Regarding the goroutine thing, I was trying something like this 

pushGateWayClient := push.New(endpoint, jobName)
ticker := time.NewTicker(10 * time.Second)
   go func() {
       for {
           select {
           case <-ticker.C:
               if err := pushGateWayClient.Add(); err != nil {
                   log.Error("Could not push to push gateway ", 
zap.Error(err))
               }
           }
       }
   }()

But this isn't working. I can not see the metrics when verifying on 
grafana. Can you help here?

On Tuesday, January 10, 2023 at 3:21:42 PM UTC+5:30 [email protected] 
wrote:

> Hi Achintya,
>
> On Tue, Jan 10, 2023 at 9:29 AM 'Achintya Kumar' via Prometheus Users <
> [email protected]> wrote:
>
>> Hey Guys,
>> I am using github.com/prometheus/client_golang/prometheus/push in my 
>> Golang code to push metrics to a push gateway.
>> But I wanted to understand the core difference between Add and Push. I am 
>> currently using Add to push the metrics but still have some confusions 
>> regarding which previous metrics will it 
>
>
> Add() will replace only any metrics with the same metric name and labels 
> (so the same time series identity) within a pushed group, if metrics with 
> the same name and labels have been pushed before. In contrast, Push() 
> completely removes all previous metrics in a pushed group and then only 
> adds the newly pushed ones. So you can use Add() instead if you are not 
> sending *all* possible metrics to a group every time, and you don't 
> want the old ones to disappear.
>  
>
>> replace? Also, I want to use the pusher.Add function to be run after 
>> every 10 seconds rather than pushing metrics right away. How can I achieve 
>> that? The prometheus/push package doesn't have this kind of functionality.
>>
>
> If you really want that you'll have to implement that yourself by just 
> having a goroutine running in the background that pushes your metrics every 
> 10 seconds. Just be aware of the general limitations of what the 
> Pushgateway should be used for at 
> https://prometheus.io/docs/practices/pushing/. Most of the time it's just 
> used to push metrics once, at the end of a batch job run, but in some cases 
> it can also make sense to push metrics on a more ongoing basis, like if you 
> want to report on the progress of an ongoing batch job while it's running.
>
> Julius
>  
>
>> Thank you. 
>> This message and its attachments are confidential (or legally privileged) 
>> information and are meant solely for the addressee of such message. Any 
>> unauthorized use of the message / its attachments is strictly prohibited. 
>>
>> -- 
>> 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/a1df943c-1146-4c39-9983-f077952d1f28n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/prometheus-users/a1df943c-1146-4c39-9983-f077952d1f28n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> -- 
> Julius Volz
> PromLabs - promlabs.com
>

-- 
This message and its
attachments are confidential (or legally privileged) 
information and are meant
solely for the addressee of such message. Any 
unauthorized use of the message /
its attachments is strictly prohibited.

-- 
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/d86405bd-2fa0-4582-b1e2-7da4ab47bb3bn%40googlegroups.com.

Reply via email to