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

相关推荐
2601_953824617 分钟前
基于SSM的水果超市管理系统
java·tomcat·maven
guo_wen_qiang9 分钟前
springboot如何自定义一个启动器starter
java·spring boot·intellij-idea
许彰午13 分钟前
55-字典缓存与通知SPI
java·低代码·架构
captain37618 分钟前
HTTP(2)
java·网络·http·java-ee
徐子童20 分钟前
介绍MVCC机制
java·mysql·面试题·秋招·并发·mvcc
Wang's Blog21 分钟前
Java 项目实战: 外卖平台-启用禁用员工账号与Long精度丢失修复
java·服务器
乌暮26 分钟前
Java 抽象类与接口详解:半成品图纸 vs 能力合同
java·开发语言·后端·学习
一条泥憨鱼33 分钟前
苍穹外卖【day12| 工作台,通过Apache POI导入/导出运营数据】
java·后端·苍穹外卖
心平气和量大福大37 分钟前
android-权限
android·java
006_44 分钟前
ruoyi-vue-plus项目 minio外网访问配置
java