Как создать метрику в Sping-boot? - PullRequest
0 голосов
/ 23 апреля 2019

Как создать метрику в SpringBoot2.1.4.RELEASE?

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Если вы используете spring-boot-starter-actuator, будет создан компонент типа MeterRegistry. После автоматического подключения это позволяет создавать несколько метрик, таких как счетчики, датчики и метрики. У каждого из них есть свободный конструктор, который вы можете использовать для настройки, например:

Счетчики

A Counter может использоваться для простого увеличения метрик, например, количество раз, которое метод был вызван.

Counter customCounter = Counter
    .builder("my.custom.metric.counter")
    .register(meterRegistry);

Используя customCounter.increment(), вы можете увеличить значение.

Манометры

A Gauge, с другой стороны, является динамическим / текущим значением, которое следует измерять напрямую. Примером этого является размер пула соединений:

 Gauge
      .builder("my.custom.metric.gauge", () -> connectionPool.size())
      .register(meterRegistry);

Строитель позволяет вам передать Supplier для измерения того, что вы хотите.

Таймеры

Как следует из названия, это можно использовать для измерения времени, которое требуется, чтобы сделать что-то, например:

Timer customTimer = Timer
     .builder("my.custom.metric.timer")
     .register(meterRegistry);

Используя customTimer.record(() -> myMethod()), вы можете добавить метрику о том, сколько времени требуется для вызова myMethod().


Вы должны иметь доступ к этим метрикам при запуске приложения. Если вы хотите видеть их через HTTP, вы можете включить конечную точку метрик следующим образом:

management.endpoints.web.exposure.include=metrics # Enable metrics endpoint

После этого вы сможете посетить http://localhost:8080/actuator, чтобы увидеть список включенных конечных точек, который должен содержать http://localhost:8080/actuator/metrics.

Этот API должен возвращать список доступных метрик, к которым можно получить доступ как http://localhost:8080/actuator/metrics/my.custom.metric.counter.

0 голосов
/ 23 апреля 2019

Вы можете использовать микрометр:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
        </dependency>

Это даст вам конечную точку: /actuator/prometheus

...