gpt4 book ai didi

spring-boot - 有什么方法可以知道 Java 应用程序的加载时间?

转载 作者:行者123 更新时间:2023-12-02 00:52:55 32 4
gpt4 key购买 nike

我正在尝试比较 SpringBoot 和 Micronaut 的性能。

我有一些应用程序是用这两个框架实现的,并且可以使用 Micrometer 获得一些关于 JVM 的信息,但是我缺少关于这些框架中的每一个需要从头加载并开始工作的时间的信息。

有什么办法可以得到吗?

谢谢。

最佳答案

Spring Boot 以以下格式记录启动时间:

在 {time} 秒内启动了 {applicationName}(JVM 运行了 {jvmTime})

例如

2019-05-18 20:50:07.099  INFO 6904 --- [           main] c.e.demo.DemoApplication     : Started DemoApplication in 2.156 seconds (JVM running for 3.164)

如果您想在应用程序中以编程方式访问启动时间,您可以在 ApplicationStartedEvent 上使用 JVM 运行时间:

@Component
public class StartupListener {

@EventListener
public void onStartup(ApplicationStartedEvent event) {
double startupTime = ManagementFactory.getRuntimeMXBean().getUptime() / 1000.0;
System.out.println("Application started in: " + startupTime);
}
}

只是为了用 Micronaut 部分完成答案:

@Singleton
@Requires(notEnv = Environment.TEST)
@Slf4j
public class InitialEventListener implements ApplicationEventListener<ServiceStartedEvent> {

@Getter
private long currentTimeMillis;

@Async
@Override
public void onApplicationEvent(ServiceStartedEvent event) {
currentTimeMillis = System.currentTimeMillis();
log.info("ServiceStartedEvent at " + currentTimeMillis + ":" + event);
}
}

关于spring-boot - 有什么方法可以知道 Java 应用程序的加载时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56199134/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com