From a365d21258c785508144a7ae9ea3e936a89f7e6e Mon Sep 17 00:00:00 2001
From: Tobias Bruns <kontakt@tobias-bruns.de>
Date: Fri, 4 Apr 2025 09:44:26 +0200
Subject: [PATCH] add timing metric for loading vorgangs

---
 vorgang-manager-base/pom.xml                              | 5 +++++
 .../ozgcloud/vorgang/VorgangManagerServerApplication.java | 8 ++++++++
 .../de/ozgcloud/vorgang/vorgang/VorgangHeaderService.java | 2 ++
 3 files changed, 15 insertions(+)

diff --git a/vorgang-manager-base/pom.xml b/vorgang-manager-base/pom.xml
index 25afbf64a..1f00b9076 100644
--- a/vorgang-manager-base/pom.xml
+++ b/vorgang-manager-base/pom.xml
@@ -60,6 +60,11 @@
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-validation</artifactId>
 		</dependency>
+		
+		<dependency>
+			<groupId>io.micrometer</groupId>
+			<artifactId>micrometer-core</artifactId>
+		</dependency>
 
 		<!-- TEST -->
 		<dependency>
diff --git a/vorgang-manager-base/src/main/java/de/ozgcloud/vorgang/VorgangManagerServerApplication.java b/vorgang-manager-base/src/main/java/de/ozgcloud/vorgang/VorgangManagerServerApplication.java
index 484b85638..8f5044126 100644
--- a/vorgang-manager-base/src/main/java/de/ozgcloud/vorgang/VorgangManagerServerApplication.java
+++ b/vorgang-manager-base/src/main/java/de/ozgcloud/vorgang/VorgangManagerServerApplication.java
@@ -42,6 +42,9 @@ import org.springframework.security.authentication.AuthenticationTrustResolver;
 import org.springframework.security.authentication.AuthenticationTrustResolverImpl;
 import org.springframework.security.concurrent.DelegatingSecurityContextRunnable;
 
+import io.micrometer.core.aop.TimedAspect;
+import io.micrometer.core.instrument.MeterRegistry;
+
 @SpringBootApplication(scanBasePackages = { "de.ozgcloud" })
 @EnableAsync(proxyTargetClass = true)
 @EnableScheduling
@@ -83,4 +86,9 @@ public class VorgangManagerServerApplication {
 		return eventMulticaster;
 	}
 
+	@Bean
+	TimedAspect timedAspect(MeterRegistry registry) {
+		return new TimedAspect(registry);
+	}
+
 }
\ No newline at end of file
diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangHeaderService.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangHeaderService.java
index b2d141da3..67364ff25 100644
--- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangHeaderService.java
+++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/vorgang/VorgangHeaderService.java
@@ -34,6 +34,7 @@ import org.springframework.stereotype.Service;
 
 import de.ozgcloud.common.errorhandling.TechnicalException;
 import de.ozgcloud.vorgang.common.search.SearchService;
+import io.micrometer.core.annotation.Timed;
 
 @Service
 class VorgangHeaderService {
@@ -47,6 +48,7 @@ class VorgangHeaderService {
 	@Autowired(required = false)
 	private SearchService searchService;
 
+	@Timed("findAllVorgangs")
 	public Page<VorgangHeader> findAll(FindVorgangRequest request) {
 		if (nonNull(searchService) && nonNull(request.getSearchBy())) {
 			return removeUnpermitted(searchService.find(request));
-- 
GitLab