前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务架构之Spring Boot(七十九)

微服务架构之Spring Boot(七十九)

作者头像
用户1289394
发布2022-05-23 15:45:56
7210
发布2022-05-23 15:45:56
举报
文章被收录于专栏:Java学习网Java学习网Java学习网

57.3支持的度量标准

Spring Boot在适用时注册以下核心指标:

JVM指标,报告利用率:

各种内存和缓冲池

与垃圾收集有关的统计

线程利用率

加载/卸载的类数

CPU指标

文件描述符指标

卡夫卡消费者指标

Log4j2指标:记录每个级别记录到Log4j2的事件数

Logback指标:记录每个级别记录到Logback的事件数

正常运行时间指标:报告正常运行时间表和表示应用程序绝对启动时间的固定计量表

Tomcat指标

Spring Integration指标

57.3.1 Spring MVC指标

自动配置可以对Spring MVC处理的请求进行检测。当 management.metrics.web.server.auto-time-requests 为 true 时,将对所有请求进

行此检测。或者,当设置为 false 时,您可以通过将 @Timed 添加到请求处理方法来启用检测:

@RestController

@Timed

public class MyController {

@GetMapping("/api/people")

@Timed(extraTags = { "region", "us-east-1" })

@Timed(value = "all.people", longTask = true)

public List<Person> listPeople() { ... }

}

一个控制器类,用于在控制器中的每个请求处理程序上启用计时。

一种启用单个端点的方法。如果您在类上拥有它,则不需要这样做,但可以用于进一步自定义此特定端点的计时器。

使用 longTask = true 的方法为该方法启用长任务计时器。长任务计时器需要单独的度量标准名称,并且可以使用短任务计时器进行堆

叠。

默认情况下,使用名称 http.server.requests 生成指标。可以通过设置 management.metrics.web.server.requests-metric-name 属性

来自定义名称

57.3.2 Spring WebFlux度量标准

自动配置支持WebFlux控制器和功能处理程序处理的所有请求的检测。

默认情况下,会生成名称为 http.server.requests 的指标。您可以通过设置 management.metrics.web.server.requests-metric-name

属性来自定义名称。

默认情况下,与WebFlux相关的指标标记有以下信息:

标签 描述

exception 处理请求时抛出的任何异常的简单类名。

method 请求的方法(例如, GET 或 POST )

outcome 根据响应的状态代码请求结果。1xx是 INFORMATIONAL ,2xx是 SUCCESS ,3xx是 REDIRECTION ,4xx CLIENT_ERROR ,

5xx是 SERVER_ERROR

status 响应的HTTP状态代码(例如, 200 或 500 )

uri 如果可能,在变量替换之前请求URI模板(例如, /api/person/{id} )

要自定义标记,请提供实现 WebFluxTagsProvider 的 @Bean 。

57.3.3 Jersey服务器度量标准

自动配置支持对Jersey JAX-RS实现处理的请求进行检测。当 management.metrics.web.server.auto-time-requests 为 true 时,此检测将

针对所有请求进行。或者,当设置为 false 时,您可以通过将 @Timed 添加到请求处理方法来启用检测:

@Component

@Path("/api/people")

@Timed

public class Endpoint {

@GET

@Timed(extraTags = { "region", "us-east-1" })

@Timed(value = "all.people", longTask = true)

public List<Person> listPeople() { ... }

}

在资源类上,为资源中的每个请求处理程序启用计时。

在启用单个端点的方法上。如果您在类上拥有它,则不需要这样做,但可以用于进一步自定义此特定端点的计时器。

在使用 longTask = true 的方法上为该方法启用长任务计时器。长任务计时器需要单独的度量标准名称,并且可以使用短任务计时器进行

堆叠。

默认情况下,使用名称 http.server.requests 生成度量标准。可以通过设置 management.metrics.web.server.requests-metric-name

属性来自定义名称。

默认情况下,Jersey服务器指标标记有以下信息:

标签 描述

exception 处理请求时抛出的任何异常的简单类名。

method 请求的方法(例如, GET 或 POST )

outcome 根据响应的状态代码请求结果。1xx是 INFORMATIONAL ,2xx是 SUCCESS ,3xx是 REDIRECTION ,4xx CLIENT_ERROR ,

5xx是 SERVER_ERROR

status 响应的HTTP状态代码(例如, 200 或 500 )

uri 如果可能,在变量替换之前请求URI模板(例如, /api/person/{id} )

要自定义标记,请提供实现 JerseyTagsProvider 的 @Bean 。

57.3.4 HTTP客户端度量标准

Spring Boot Actuator管理 RestTemplate 和 WebClient 的工具。为此,您必须注入一个自动配置的构建器并使用它来创建实例:

RestTemplateBuilder RestTemplate

WebClient.Builder WebClient

也可以手动应用负责此仪器的定制器,即 MetricsRestTemplateCustomizer 和 MetricsWebClientCustomizer 。

默认情况下,使用名称 http.client.requests 生成指标。可以通过设置 management.metrics.web.client.requests-metric-name 属性

来自定义名称。

默认情况下,已检测客户端生成的度量标准使用以下信息进行标记:

method ,请求的方法(例如, GET 或 POST )。

uri ,变量替换之前的请求URI模板(如果可能)(例如, /api/person/{id} )。

status ,响应的HTTP状态代码(例如, 200 或 500 )。

clientName ,URI的主机部分。

要自定义标记,并根据您选择的客户端,您可以提供 @Bean 来实现 RestTemplateExchangeTagsProvider

或 WebClientExchangeTagsProvider 。RestTemplateExchangeTags 和 WebClientExchangeTags 中有便利的静态函数。

57.3.5缓存度量标准

自动配置允许在启动时使用前缀为 cache 的度量标准检测所有可用的 Cache 。缓存检测针对一组基本指标进行了标准化。此外,还提供了特定

于缓存的指标。

支持以下缓存库:

Caffeine

EhCache 2

Hazelcast

任何兼容的JCache(JSR-107)实现

度量标准由缓存的名称和从bean名称派生的 CacheManager 的名称标记。

只有启动时可用的缓存才会绑定到注册表。对于在启动阶段之后即时或以编程方式创建的缓存,需要显式注

册。CacheMetricsRegistrar bean可用于简化此过程。

57.3.6数据源度量标准

自动配置使用名为 jdbc 的度量标准启用所有可用 DataSource 对象的检测。数据源检测会生成表示池中当前活动,最大允许和最小允许连接的

计量器。这些仪表中的每一个都有一个以 jdbc 为前缀的名称。

度量标准也由基于bean名称计算的 DataSource 的名称标记。

默认情况下,Spring Boot为所有支持的数据源提供元数据; 如果您不喜欢自己喜欢的数据源,则可以添加额外

的 DataSourcePoolMetadataProvider beans。有关示例,请参阅 DataSourcePoolMetadataProvidersConfiguration 。

此外,Hikari特定的指标以 hikaricp 前缀公开。每个度量标准都由池名称标记(可以使用 spring.datasource.name 控制)。

57.3.7 Hibernate度量标准

自动配置允许使用名为 hibernate 的度量标准启用统计信息的所有可用Hibernate EntityManagerFactory 实例的检测。

度量标准也由bean名称派生的 EntityManagerFactory 名称标记。

要启用统计信息,标准JPA属性 hibernate.generate_statistics 必须设置为 true 。您可以在自动配置的 EntityManagerFactory 上启用

它,如以下示例所示:

spring.jpa.properties.hibernate.generate_statistics=true

57.3.8 RabbitMQ指标

自动配置将使用名为 rabbitmq 的度量标准启用所有可用RabbitMQ连接工厂的检测

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档