From 78248e8c9871c4afedc3a16848078cbff5a40375 Mon Sep 17 00:00:00 2001 From: Tobias Bruns <kontakt@tobias-bruns.de> Date: Fri, 4 Apr 2025 11:19:40 +0200 Subject: [PATCH] OZG-7942 add metrics --- .../java/de/ozgcloud/alfa/AlfaServerApplication.java | 8 ++++++++ alfa-server/src/main/resources/application-local.yml | 10 ++++++---- .../ozgcloud/alfa/common/LinkedResourceProcessor.java | 2 ++ .../de/ozgcloud/alfa/vorgang/VorgangController.java | 2 ++ 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/alfa-server/src/main/java/de/ozgcloud/alfa/AlfaServerApplication.java b/alfa-server/src/main/java/de/ozgcloud/alfa/AlfaServerApplication.java index a47711f6ba..c4e4ee46c7 100644 --- a/alfa-server/src/main/java/de/ozgcloud/alfa/AlfaServerApplication.java +++ b/alfa-server/src/main/java/de/ozgcloud/alfa/AlfaServerApplication.java @@ -37,6 +37,9 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.security.concurrent.DelegatingSecurityContextRunnable; import org.springframework.web.filter.ForwardedHeaderFilter; +import io.micrometer.core.aop.TimedAspect; +import io.micrometer.core.instrument.MeterRegistry; + @SpringBootApplication @EnableAsync @EnableAspectJAutoProxy(proxyTargetClass = true) @@ -73,4 +76,9 @@ public class AlfaServerApplication { BeanFactoryPostProcessor beanFactoryPostProcessor(CallScope callScope) { return new CallBeanFactoryPostProcessor(callScope); } + + @Bean + TimedAspect timedAspect(MeterRegistry registry) { + return new TimedAspect(registry); + } } \ No newline at end of file diff --git a/alfa-server/src/main/resources/application-local.yml b/alfa-server/src/main/resources/application-local.yml index 6c0f901bcd..32e3962c6f 100644 --- a/alfa-server/src/main/resources/application-local.yml +++ b/alfa-server/src/main/resources/application-local.yml @@ -36,7 +36,9 @@ ozgcloud: dms: enabled: true -keycloak: - auth-server-url: http://localhost:8088 - realm: by-kiel-dev - resource: by-kiel-dev-alfa \ No newline at end of file + oauth2: + auth-server-url: https://sso.dev.by.ozg-cloud.de + realm: by-kiel-dev + resource: alfa + principle-attribute: preferred_username + issuer-uri: ${ozgcloud.oauth2.auth-server-url}/realms/${ozgcloud.oauth2.realm} diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/common/LinkedResourceProcessor.java b/alfa-service/src/main/java/de/ozgcloud/alfa/common/LinkedResourceProcessor.java index 67cb22c470..68cb3823a6 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/common/LinkedResourceProcessor.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/common/LinkedResourceProcessor.java @@ -39,6 +39,7 @@ import org.springframework.hateoas.server.mvc.WebMvcLinkBuilder; import org.springframework.stereotype.Component; import de.ozgcloud.alfa.common.user.UserManagerUrlProvider; +import io.micrometer.core.annotation.Timed; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; @@ -49,6 +50,7 @@ public class LinkedResourceProcessor<T> implements RepresentationModelProcessor< private final UserManagerUrlProvider userManagerUrlProvider; + @Timed("linkedResourceProcessor_process") @Override public EntityModel<T> process(EntityModel<T> model) { addResourceLinks(model); diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangController.java b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangController.java index 865d83fb59..a15ba2c03d 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangController.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/vorgang/VorgangController.java @@ -45,6 +45,7 @@ import de.ozgcloud.alfa.common.clientattribute.ClientAttributeService; import de.ozgcloud.alfa.common.user.UserId; import de.ozgcloud.alfa.statistic.StatisticController; import de.ozgcloud.alfa.vorgang.Vorgang.VorgangStatus; +import io.micrometer.core.annotation.Timed; import lombok.RequiredArgsConstructor; @RestController @@ -71,6 +72,7 @@ public class VorgangController { private final StatisticController statisticController; + @Timed("http_vorgang_getAll") @GetMapping(params = { PARAM_PAGE, PARAM_LIMIT }) public RepresentationModel<EntityModel<EnhancedVorgang>> getAll(@RequestParam int page, @RequestParam Integer limit) { var requestCriteria = FindVorgaengeHeaderRequestCriteria.builder().page(page).limit(limit).build(); -- GitLab