prometheus应用Counter&&Gauge

综述

一、Counter

错误写法

复制代码
Counter.builder("api_request_total")
                    .description("Total number of API requests")
                    .tag("uri", request.getRequestURI())
                    .tag("method", request.getMethod())
                    .tag("status", String.valueOf(responseWrapper.getStatus()))
                    .register(meterRegistry)
                    .increment();

jakarta.servlet.ServletException: Request processing failed: java.lang.IllegalArgumentException: Failed to register Collector of type MicrometerCollector: repository_method_list_elements_sum is already in use by another Collector of type MicrometerCollector

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1022) ~[spring-webmvc-6.1.5.jar:6.1.5]

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.1.5.jar:6.1.5]

不应该重复注册,正确写法:

复制代码
 Counter requestCounter = meterRegistry.find("api_request_total")
                    .tag("uri", request.getRequestURI())
                    .tag("method", request.getMethod())
                    .tag("status", String.valueOf(responseWrapper.getStatus()))
                    .counter();
            if (requestCounter == null) {
                requestCounter = Counter.builder("api_request_total")
                        .description("Total number of API requests")
                        .tag("uri", request.getRequestURI())
                        .tag("method", request.getMethod())
                        .tag("status", String.valueOf(responseWrapper.getStatus()))
                        .register(meterRegistry);
            }
            requestCounter.increment();

二、Gauge

相关推荐
L.EscaRC19 分钟前
Spring Boot 自定义组件深度解析
java·spring boot·后端
pengzhuofan25 分钟前
IntelliJ IDEA 常用快捷键
java·ide·intellij-idea
ANGLAL27 分钟前
17.MyBatis动态SQL语法整理
java·sql·mybatis
SheepHappy41 分钟前
MyBatis-Plus 源码阅读(二)代码生成器原理深度剖析
java·源码阅读
雨白1 小时前
重识 Java IO、NIO 与 OkIO
android·java
light_in_hand1 小时前
内存区域划分——垃圾回收
java·jvm·算法
金銀銅鐵1 小时前
[Java] JDK 9 新变化之 Convenience Factory Methods for Collections
java·后端
用户7406696136252 小时前
入门并理解Java模块化系统(JPMS)
java
金銀銅鐵2 小时前
[Java] 用 Swing 生成一个最大公约数计算器
java·后端
小安同学iter2 小时前
SQL50+Hot100系列(11.7)
java·算法·leetcode·hot100·sql50