0

我已经使用提供的 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讨论了在 WEB-INF/lib 中复制相关 jars,但 AFAIK 在 Spring 中或至少在我的方式中没有等效项使用它。我不是 Spring 方面的专家。

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

提前谢谢。

4

3 回答 3

4

将 java melody 依赖项添加到您的 pom.xml:

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

将监控 spring 上下文添加到您的 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 melody 注解来监控你的 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));
        }
    }
于 2015-02-11T16:19:39.770 回答
0

您没有告诉您如何“使用” Spring,但我快速查看了 STS guide for rest service,它使用 Gradle 或 Maven 管理依赖项(jars)并为两者提供示例。技术规则示例使用 Maven(如 JavaMelody 文档中所示)获取 JavaMelody jars(到 WEB-INF/lib),因此您可以按照文章为您的应用程序配置 JavaMelody 统计信息。

于 2014-04-17T19:54:29.283 回答
0

现在有一个javamelody spring-boot-starter,它是 spring-boot 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

于 2019-03-08T00:01:59.847 回答