教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Spring Boot中的監(jiān)視器是什么?

更新時(shí)間:2023年04月26日09時(shí)35分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  Spring Boot中的監(jiān)視器(monitor)是指一組用于監(jiān)視應(yīng)用程序性能和運(yùn)行狀況的工具和指標(biāo)。Spring Boot包含了許多內(nèi)置的監(jiān)視器,可以讓同學(xué)們實(shí)時(shí)了解您的應(yīng)用程序的各種指標(biāo)。

  以下是一個(gè)簡(jiǎn)單的示例,演示如何使用Spring Boot內(nèi)置的監(jiān)視器:

  1.在您的Spring Boot項(xiàng)目中,確保已經(jīng)包含了actuator依賴。

  2.在您的application.properties中,添加以下屬性以啟用Spring Boot的監(jiān)視器:

management.endpoints.web.exposure.include=*

  3.創(chuàng)建一個(gè)REST控制器類,以便可以查看Spring Boot內(nèi)置的指標(biāo)。例如,以下代碼段演示了如何檢索當(dāng)前的內(nèi)存使用情況:

import org.springframework.boot.actuate.metrics.MetricsEndpoint;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MonitorController {
  
  private final MetricsEndpoint metricsEndpoint;

  public MonitorController(MetricsEndpoint metricsEndpoint) {
    this.metricsEndpoint = metricsEndpoint;
  }

  @GetMapping("/monitor/metrics/memory.used")
  public Double getMemoryUsed() {
    return metricsEndpoint.metric("jvm.memory.used", null)
        .getMeasurements().stream().findFirst()
        .map(MetricsEndpoint.Sample::getValue)
        .orElse(null);
  }

}

  在此示例中,我們注入了MetricsEndpoint,并創(chuàng)建了一個(gè)getMemoryUsed()方法,該方法返回當(dāng)前JVM內(nèi)存使用量的值。

  4.啟動(dòng)您的應(yīng)用程序,并訪問(wèn)/actuator端點(diǎn)。我們應(yīng)該能夠看到所有可用的監(jiān)視器端點(diǎn),包括我們剛剛創(chuàng)建的/monitor/metrics/memory.used端點(diǎn)。

  5.訪問(wèn)您的自定義監(jiān)視器端點(diǎn)(例如,http://localhost:8080/monitor/metrics/memory.used),以查看指標(biāo)的當(dāng)前值。

  值得說(shuō)明的是,筆者所列列舉的只是一個(gè)簡(jiǎn)單的示例,Spring Boot的監(jiān)視器具有許多更高級(jí)的功能,如記錄和警報(bào)。同學(xué)們可以查看Spring Boot的文檔以獲取更多信息。

0 分享到:

Java高級(jí)軟件工程師課程javaee

Python大數(shù)據(jù)課程python

web前端課程全薪升級(jí)V8.5web

AI+設(shè)計(jì)課程design

大數(shù)據(jù)培訓(xùn)班cloud

軟件測(cè)試培訓(xùn)課程test

c

新媒體運(yùn)營(yíng)培訓(xùn)課程netmarket

產(chǎn)品經(jīng)理培訓(xùn)課程pm

linux培訓(xùn)班Linux

影視制作培訓(xùn)movies

智能機(jī)器人開(kāi)發(fā)robot

電商視覺(jué)設(shè)計(jì)uids

人工智能培訓(xùn)課程Python

集成電路應(yīng)用開(kāi)發(fā)(嵌入式)培訓(xùn)課程jdbc

和我們?cè)诰€交談!