On Fri, 10 Apr 2020 at 10:27, Vidur <[email protected]> wrote:
> > > On Friday, April 10, 2020 at 7:55:54 AM UTC, Brian Brazil wrote: >> >> 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. >> > > But all different metrics have different interval which can be changed , > thats why I'm using pushgateway .Otherwise i have to store those states > somewhere else and create endpoint in my system for prometheus to pull. > Metrics don't have an interval, events do. The frequency prometheus samples at is independent of when metrics are updated. > >> >>> *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. >> > > Are you suggessting me to use labels to distinguish between different type > of metric. > could you share more info on direct instrumentation & other types. > Use a normal static gauge and expose it out over http. Brian > >> 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/44269654-2d97-484f-bbb4-dd0096e602cc%40googlegroups.com > <https://groups.google.com/d/msgid/prometheus-users/44269654-2d97-484f-bbb4-dd0096e602cc%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/CAHJKeLox323dALKSAdyTTH_gBOangtFLo_9GcEVfN9ia-4GFvA%40mail.gmail.com.

