On Fri, 10 Apr 2020 at 07:10, Vidur <vidur.gu...@getfareye.com> wrote:

>
>
> On Wednesday, April 8, 2020 at 1:58:01 PM UTC, Brian Brazil wrote:
>>
>> On Wed, 8 Apr 2020 at 13:40, Vidur <vidur...@getfareye.com> wrote:
>>
>>> Hi
>>> I'm using prometheus simple client for collecting metrics in my system
>>> via a spring boot application
>>>
>>> void insertBatchJob(String request , String[] labelNames, String[] 
>>> labelValues,String counter) throws Exception {
>>>         CollectorRegistry registry = new CollectorRegistry();
>>>         Gauge inprogressRequests ;
>>>         if( !gaugeRegiseryMap.containsKey(request) ) {
>>>             inprogressRequests = Gauge.build()
>>>                     
>>> .name(request).labelNames(labelNames).help(request).register();
>>>
>>> You shouldn't be registering metrics to the default registry in a
>> typical method. Did you mean to register it to the custom registry you just
>> instantiated?
>>
>
>
> * My use case is something which sets gauge value for a same request in
> fixed interval, so is there no need to register the gauge ?*
>

In that case you're doing normal direct instrumentation, so you shouldn't
be using the pushgateway.


> *And Gauge are created real time with different request values , so i
> cannot make them static.*
>

Metric names in direct instrumentation should never be procedurally
generated. Most likely you should be using a label here, not a metric name.

Brian


>>>             gaugeRegiseryMap.put(request,inprogressRequests);
>>>
>>>
>> Nor should you need to track what metrics exist, see
>> https://www.robustperception.io/label-lookups-and-the-child
>>
>>
>>>
>>>         }else{
>>>             inprogressRequests = gaugeRegiseryMap.get(request);
>>>         }
>>>         try {
>>>             inprogressRequests.labels(labelValues[labelValues.length-4],
>>>                     labelValues[labelValues.length-2],
>>>                     labelValues[labelValues.length-3],
>>>                     
>>> labelValues[labelValues.length-1]).set(Double.parseDouble(counter));
>>>             registry.register(inprogressRequests);
>>>         } finally {
>>>
>>>
>> You shouldn't need a try-finally for this, it should never fail given the
>> above code.
>>
>> I suspect what you're looking for here is a custom collector by
>> subclassing Collector.
>>
>> Brian
>>
>>
>>>
>>>             PushGateway pg = new PushGateway("127.0.0.1:9091");
>>>             pg.pushAdd(registry, request);
>>>         }
>>>     }
>>>
>>>
>>> the following code is working ,
>>> but when i change inprogressRequests.labels() when i pass the array
>>> containing label values
>>> i.e.
>>>
>>>  void insertBatchJob(String request , String[] labelNames, String[] 
>>> labelValues,String counter) throws Exception {
>>>         CollectorRegistry registry = new CollectorRegistry();
>>>         Gauge inprogressRequests ;
>>>         if( !gaugeRegiseryMap.containsKey(request) ) {
>>>             inprogressRequests = Gauge.build()
>>>                     
>>> .name(request).labelNames(labelNames).help(request).register();
>>>             gaugeRegiseryMap.put(request,inprogressRequests);
>>>         }else{
>>>             inprogressRequests = gaugeRegiseryMap.get(request);
>>>         }
>>>         try {
>>>             
>>> inprogressRequests..labels(labelValues).set(Double.parseDouble(counter));
>>>
>>> *Did you check this part where I'm trying to set label values like this
> ? why is this not working but the above one is?*
>
>>
>>>             registry.register(inprogressRequests);
>>>         } finally {
>>>             PushGateway pg = new PushGateway("127.0.0.1:9091");
>>>             pg.pushAdd(registry, request);
>>>         }
>>>     }
>>>
>>> the same is giving me errror -
>>> Response code from http://127.0.0.1:9091/metrics/job/loop6_2 was 400,
>>> response body: pushed metrics are invalid or inconsistent with existing
>>> metrics: collected metric .
>>>
>>>
>>>
>>> This is my first time using prometheus , it will be good if someone can
>>> share light on this.
>>>
>>> --
>>> 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 promethe...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/prometheus-users/11440241-e4f6-40a3-9698-e65498d3db3a%40googlegroups.com
>>> <https://groups.google.com/d/msgid/prometheus-users/11440241-e4f6-40a3-9698-e65498d3db3a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
>>
>> --
>> Brian Brazil
>> www.robustperception.io
>>
> --
> 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 prometheus-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/prometheus-users/6a132978-c86e-4370-9dc5-51495e2c7956%40googlegroups.com
> <https://groups.google.com/d/msgid/prometheus-users/6a132978-c86e-4370-9dc5-51495e2c7956%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>


-- 
Brian Brazil
www.robustperception.io

-- 
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 prometheus-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/CAHJKeLrd8PwCP5qobr8gdWyzcYsdO0YCkCEmsx9GtxSqNr9GoQ%40mail.gmail.com.

Reply via email to