JavaMelody和Spring

时间:2014-02-04 17:32:15

标签: java spring java-melody

我已使用STS提供的指南设置了休息服务:http://spring.io/guides/gs/rest-service/

我正处于开发阶段,但我想确保有适当的工具来衡量绩效。

我感兴趣的关键绩效指标是:

  • HTTP请求计数器
  • 可配置时间段内的HTTP请求率
  • HTTP平均延迟
  • 以及更多

最后,我很有兴趣收集这里的统计数据:http://ruleoftech.com/2013/monitoring-java-ee-application-with-javamelody

我找不到任何描述执行此类操作所涉及步骤的文档。在https://code.google.com/p/javamelody/wiki/UserGuide上的JavaMelody文档讨论了在WEB-INF / lib中复制相关的jar,但AFAIK在Spring中没有等效的,或者至少在我使用它的方式。我不是春天的专家。

我正在寻求有关如何设置的帮助。

提前谢谢。

3 个答案:

答案 0 :(得分:3)

将java旋律依赖项添加到pom.xml:

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

将监控弹簧上下文添加到Application类:

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

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

使用“@MonitoredWithSpring”Java旋律注释来监控弹簧对象:

@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));
        }
    }

答案 1 :(得分:0)

你不知道自己是怎样的&#34;使用&#34; Spring,但我很快就看到了STS指南的休息服务,它使用Gradle或Maven管理依赖项(jar)并提供两者的示例。 Rule of Tech示例使用Maven(as shown in JavaMelody docs)来获取JavaMelody jar(到WEB-INF / lib),因此您可以按照该文章为您的应用程序配置JavaMelody统计信息。

答案 2 :(得分:0)

现在有一个javamelody spring-boot-starter,它是用于弹簧引导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