On Fri, 10 Apr 2020 at 07:10, Vidur <[email protected]> wrote:
> > > On Wednesday, April 8, 2020 at 1:58:01 PM UTC, Brian Brazil wrote: >> >> On Wed, 8 Apr 2020 at 13:40, Vidur <[email protected]> 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 [email protected]. >>> 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 [email protected]. > 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-users/CAHJKeLrd8PwCP5qobr8gdWyzcYsdO0YCkCEmsx9GtxSqNr9GoQ%40mail.gmail.com.

