> A metric does not have an open comma at the end A optional trailing comma is explicitly allowed in the BNF specification of the text exposition format: https://prometheus.io/docs/instrumenting/exposition_formats/#text-format-details
So there's nothing wrong. On Wednesday, 14 December 2022 at 22:07:53 UTC Stuart Clark wrote: > It is a requirement that counters end with _total which is likely why it > is being added for you. > > On 14 December 2022 17:50:32 GMT, "[email protected]" <[email protected]> > wrote: >> >> Hi, >> >> I am exposing two counter metrics from my spring boot application. The >> metrics are getting generated and the counters increase by 1 when the >> requests succeed. I am facing 2 issues - 1) The name of the counter is >> getting appended by "_total" even though I did not add that and I don't >> want it to be added, 2) The last label ends with an open ','. I want to >> remove this last ','. Here is my code: >> public class PrometheusUtility { >> private PrometheusUtility(){ } >> >> static CollectorRegistry registry = CollectorRegistry.defaultRegistry; >> static final Counter counter = >> Counter.build().name("http_request").help("help").labelNames("method","status","api", >> >> "component").register(registry); >> static final Counter dsCounter = >> Counter.build().name("http_downstream_request").help("Records the >> downstream request count").labelNames("method","status","api", "component", >> "downstream").register(registry); >> >> public static void incrementCounter(String method, String status, >> String apiName, String component){ >> counter.labels(method,status,apiName,component).inc(); >> } >> public static void incrementDownstreamCounter(String method, String >> status, String apiName, String component, String downstream){ >> dsCounter.labels(method,status,apiName,component, downstream).inc(); >> } >> } >> >> I am calling these functions from the business class: >> PrometheusUtility.incrementCounter("Post", >> String.valueOf(HttpStatus.SC_OK), "newMail", "mx"); >> PrometheusUtility.incrementDownstreamCounter("Post", >> String.valueOf(HttpStatus.SC_OK), "newMail", "mx", "mwi"); >> >> The pom.xml has this dependency added >> <dependency> <groupId>io.prometheus</groupId> >> <artifactId>simpleclient_spring_boot</artifactId> <version>0.16.0</version> >> </dependency> >> >> The output I am checking in the browser where my application is up and >> running (not in Prometheus): >> http_request_total{method="Post",status="200",api="newMail",component="mx",} >> 1.0 >> http_downstream_request_total{method="Post",status="200",api="newMail",component="mx",downstream="mwi",} >> >> 1.0 >> >> Issue: >> >> 1. >> >> Both metric names are getting an additional "_total" appended to it. >> I don't want this to be added by default. It should be same as the name I >> have put in the Utility class. >> 2. >> >> Both metrics have an open ',' or comma at the end. Ideally this >> should not be there. A metric does not have an open comma at the end. Not >> sure why it's adding this comma. I have specified the correct number of >> labels at the creation time of the counter and populating the labels >> correctly for incrementing. Not sure where this comma is coming from. >> >> Please let me know how I could fix these issues. >> >> -- > Sent from my Android device with K-9 Mail. Please excuse my brevity. > -- 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/b4e9a91c-ee7e-47a7-817d-6be11bd3fb61n%40googlegroups.com.

