Bu endpoint ile uygulamayı başlatırken hangi bean'lerin daha çok vakit aldığını görmek mümkün. Web kullanımını etkinleştirmek için şöyle yaparız
Eğer yml kullanılyorsak şöyle yaparızmanagement.endpoints.web.exposure.include=startup
management: endpoints: web: exposure: include: 'startup'ApplicationStartup arayüzünü gerçekleştiren iki tane bean var
1. BufferingApplicationStartup Sınıfı
Örnek
Şöyle yaparız
Sonuçları almak için POST göndermek gerekir. Şöyle yaparızimport org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;@SpringBootApplicationpublic class Application {public static void main(String[] args) {SpringApplication application = new SpringApplication(Application.class);application.setApplicationStartup(new BufferingApplicationStartup(10000));application.run(args);}}
curl --location --request POST 'http://localhost:8080/actuator/startup'Çıktı olarak şunu alırız. Burada isimleri studentRepository ve studentsController olan iki tane bean için bilgiler görülebilir.
{"startupStep": {"name": "spring.beans.instantiate","id": 123,"parentId": 122,"tags": [{"key": "beanName","value": "studentRepository"}]},"startTime": "2021-01-26T06:38:09.234585991Z","endTime": "2021-01-26T06:38:09.380445297Z","duration": "PT0.145859306S"},{"startupStep": {"name": "spring.beans.instantiate","id": 122,"parentId": 5,"tags": [{"key": "beanName","value": "studentsController"}]},"startTime": "2021-01-26T06:38:09.231829732Z","endTime": "2021-01-26T06:38:09.382129262Z","duration": "PT0.15029953S"},
2. FlightRecordingApplicationStartup Sınıfı
Örnek
Şöyle yaparız
public static void main(String[] args) {SpringApplication application = new SpringApplication(Application.class);application.setApplicationStartup(new FlightRecorderApplicationStartup());application.run(args);}
Uygulamayı başlatmak için şöyle yaparız. myrecording.jfr dosyası oluşur. Bu dosyayı JDK Mission Control ile açabiliriz.
java -XX:+FlightRecorder \-XX:StartFlightRecording=duration=5s,filename=myrecording.jfr \-jar target/spring-boot-crud-jpa.jar
Hiç yorum yok:
Yorum Gönder