测量运行时的度量情况也可以做一个快照,这对评估应用程序的健康情况很有帮助
- /metrics
查看应用程序的度量值
/metrics 端点报告的度量值和计数器
分类 | 前缀 | 报告内容 |
垃圾收集器 | gc.* |
),适用于标记-清理垃圾收集器和并行垃圾收集器(数据源自 java.lang.management.GarbageCollectorMXBean) |
内存 | mem.* | 分配给应用程序的内存数量和空闲的内存数量(数据源自java.lang.Runtime) |
堆 | Heap.* | 当前内存用量(数据源自java.lang.management.MemoryUsage) |
类加载器 | classes.* | JVM类加载器加载与卸载的类的数量(数据源自java.lang.management.ClassLoadingMXBean) |
系统 | processors、uptimeinstance、uptime、systemload.averagethreads.* | 系统信息,例如处理器数量(数据源自java.lang.Runtime)、运行时间(数据源自java.lang.management.RuntimeMXBean)、平均负载(数据源自java.lang.management.OperatingSystemMXBean) |
线程池 | threads.* | 线程、守护线程的数量,以及JVM 启动后的线程数量峰值(数据源自java.lang.manager.ThreadMXBean) |
数据源 | datasource.* | 数据源连接的数量(源自数据源的元数据,仅当Spring 应用程序上下文里存在DataSource Bean 的时候才会有这个信息) |
Tomcat会话 | httpsessions.* | Tomcat 的活跃会话数和最大会话数(数据源自嵌入式Tomcat 的Bean,仅在使用嵌入式Tomcat 服务器运行应用程序时才会有这个信息) |
HTTP | counter.status.* gaugu.response.* | 多种应用程序服务HTTP 请求的度量值与计数器 |
也可以只返回某个度量值如:/metrics/mem.free
/trace 端点能报告所有 Web 请求的详细信息,包括请求方法、路径、时间戳、以及请求和响应的头信息。能显示最近 100 个请求的信息。
/dump 在确认应用程序的运行情况时,除了跟踪请求,了解线程活动也会很有帮助。/dump端点会生成当前线程活动的快照。
我这里给大家截个图分享出来吧:
其中的部分
如果想知道自己的应用程序是否在运行,可以直接访问/health 端点。
关闭应用程序 需要往/shutdown发送一个 post 请求。这个端点默认是关闭的。
可以做出如下配置
endpoints.shutdown.enabled = true
这是我发送请求后的截图:
但是为确保安全,我把这个配置给关掉了。。。以后我会和大家分享怎么样授权给特定的用户关闭应用程序。
获取应用信息 /info,可以展示各种你希望发布的应用信息:如下: