spring-boot - 使用 Spring Boot Actuator 计算每秒的请求数
问题描述
我想计算来自 Spring Boot 2 应用程序的特定 URL 的每秒请求数,以及每个请求(延迟)所花费的时间(以毫秒为单位)。我们可以从 Actuator/Prometheus 中看到以下指标:
http_server_request_config_seconds_count
http_server_request_config_seconds_sum
我很困惑如何在 Prometheus 中绘制它以获得我的结果。我需要添加直方图或分位数吗?
解决方案
如果您只关心每秒请求数,则不需要与分位数相关的任何内容。
irate(http_server_requests_seconds_count{uri="/your-uri"}[5m])
如果您对整体响应时间感兴趣:
irate(http_server_request_duration_seconds_sum{exception="None", uri = "/your-url"}[5m]) / irate(http_server_requests_duration_seconds_count{exception="None", uri = "/your-url"}[5m])
如果您想要更精确的指标(分位数),可以参考 [Prometheus 文档][1]。[1]:https://prometheus.io/docs/practices/histograms/#quantiles 例如:
histogram_quantile(0.99, sum(rate(http_server_requests_seconds_bucket{exception="None", uri = "/your-uri"}[5m])) by (le))
推荐阅读
- spring - 内存中 SQL (HSQL) 的 JUnit 4 不工作
- html - 在Angular2中的两个按钮之间切换类
- java - 使用 vavr 中的索引迭代列表
- edi - EDI 864:如何识别父文件类型?(810、856 或任何其他)
- css - Chrome 上的伪 ::before ::after 内联标题
- python-import - Jython:itertools 在哪里?
- git - git clone 接收对象和结帐是否相同
- javascript - 如何在 Choices.js 中禁用按字母顺序对项目进行自动排序?
- python - python pandas将多年的yyyy-mm-dd分配给累积的周数
- php - 用于插入和更新数据的单一表单