JavaMelody и Spring

Я настроил службу отдыха, используя руководство, предоставленное STS по адресу: http://spring.io/guides/gs/rest-service/

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

Ключевые показатели эффективности, которые мне интересны:

  • Счетчик HTTP-запросов
  • Скорость HTTP-запросов за настраиваемый период времени
  • Средняя задержка HTTP
  • И более

В конце мне интересно собрать статистику, как здесь: http://ruleoftech.com/2013/monitoring-java-ee-application-with-javamelody

Мне не удалось найти документацию, описывающую шаги, необходимые для выполнения таких действий. Документация по JavaMelody по адресу: https://code.google.com/p/javamelody/wiki/UserGuide говорит о копировании соответствующих jar-файлов в WEB-INF/lib, но, насколько мне известно, в Spring нет эквивалента или, по крайней мере, в том, как я его использую. Я не эксперт в Spring.

Я ищу помощь в том, как настроить это.

Спасибо заранее.


person isaac.hazan    schedule 04.02.2014    source источник


Ответы (3)


Добавьте зависимости Java-мелодии в ваш pom.xml:

<!-- javamelody-core -->
    <dependency>
        <groupId>net.bull.javamelody</groupId>
        <artifactId>javamelody-core</artifactId>
        <version>1.54.0</version>
    </dependency>

Добавьте контекст весны мониторинга в свой класс приложения:

@ComponentScan
@EnableAutoConfiguration
@ImportResource("classpath:net/bull/javamelody/monitoring-spring.xml")
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Используйте аннотацию мелодии Java "@MonitoredWithSpring" для мониторинга вашего объекта Spring:

@RestController
@MonitoredWithSpring
public class GreetingController {

    private static final String template = "Hello, %s!";
    private final AtomicLong counter = new AtomicLong();


    @RequestMapping("/greeting")
    public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) {
        return new Greeting(counter.incrementAndGet(),
                        String.format(template, name));
        }
    }
person gamerkore    schedule 11.02.2015
comment
Как мы можем сделать это в конфигурации на основе xml? - person Zeuzif; 02.02.2021

Вы не говорите, как вы «используете» Spring, но то, что я быстро просмотрел в руководстве STS для службы отдыха, управляет зависимостями (jar) с помощью Gradle или Maven и предоставляет примеры для обоих. В примере Rule of Tech используется Maven (как показано в документации JavaMelody ), чтобы получить jar-файлы JavaMelody (в WEB-INF/lib), чтобы вы могли следовать статье, чтобы настроить статистику JavaMelody для своего приложения.

person walokra    schedule 17.04.2014

Теперь существует javamelody spring-boot-starter, который является более простым решением для Spring- ботинок 2.

Добавьте зависимости javamelody spring-boot-starter в ваш pom.xml:

    <dependency>
        <groupId>net.bull.javamelody</groupId>
        <artifactId>javamelody-spring-boot-starter</artifactId>
        <version>1.76.0</version>
    </dependency>

И все готово (нет необходимости импортировать ресурс Monitoring-spring.xml и добавлять аннотации к контроллерам).

Spring-boot 1 или последнюю версию см. в doc.

person evernat    schedule 08.03.2019