From 4fc666b28fd64369355fda9b2d5f91f54294914b Mon Sep 17 00:00:00 2001 From: deiflaender Date: Tue, 7 Jun 2022 13:33:38 +0200 Subject: [PATCH] RED-4014: Added metrics --- search-service-v1/search-service-server-v1/pom.xml | 4 ++++ .../iqser/red/service/search/v1/server/Application.java | 9 +++++++++ .../search/v1/server/queue/IndexingMessageReceiver.java | 2 ++ .../search/v1/server/service/DocumentIndexService.java | 3 +++ .../search/v1/server/service/DocumentUpdateService.java | 3 +++ .../service/search/v1/server/service/SearchService.java | 3 +++ .../search/v1/server/service/TextStorageService.java | 3 +++ 7 files changed, 27 insertions(+) diff --git a/search-service-v1/search-service-server-v1/pom.xml b/search-service-v1/search-service-server-v1/pom.xml index e76c562..401168e 100644 --- a/search-service-v1/search-service-server-v1/pom.xml +++ b/search-service-v1/search-service-server-v1/pom.xml @@ -57,6 +57,10 @@ org.springframework.cloud spring-cloud-starter-openfeign + + org.springframework.boot + spring-boot-starter-aop + org.springframework.boot diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/Application.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/Application.java index 6e81d1a..fbb2ace 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/Application.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/Application.java @@ -15,6 +15,9 @@ import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Import; +import io.micrometer.core.aop.TimedAspect; +import io.micrometer.core.instrument.MeterRegistry; + @Import({DefaultWebMvcConfiguration.class}) @EnableFeignClients(basePackageClasses = FileStatusClient.class) @EnableConfigurationProperties({ElasticsearchSettings.class, SearchServiceSettings.class}) @@ -34,4 +37,10 @@ public class Application { return new ElasticsearchClient(elasticsearchSettings); } + + @Bean + public TimedAspect timedAspect(MeterRegistry registry) { + return new TimedAspect(registry); + } + } diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/IndexingMessageReceiver.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/IndexingMessageReceiver.java index 5f48919..d0ac321 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/IndexingMessageReceiver.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/queue/IndexingMessageReceiver.java @@ -30,6 +30,7 @@ import com.iqser.red.service.search.v1.server.service.IndexDeleteService; import com.iqser.red.service.search.v1.server.service.IndexInformationService; import com.iqser.red.service.search.v1.server.service.TextStorageService; +import io.micrometer.core.annotation.Timed; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -125,6 +126,7 @@ public class IndexingMessageReceiver { } + @Timed("redactmanager_indexFile") private void indexFile(Dossier dossier, FileModel file) { fileStatusProcessingUpdateClient.indexing(dossier.getId(), file.getId()); diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentIndexService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentIndexService.java index a7fc45d..33a1523 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentIndexService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentIndexService.java @@ -7,6 +7,8 @@ import com.iqser.red.service.search.v1.server.client.ElasticsearchClient; import com.iqser.red.service.search.v1.server.exception.IndexException; import com.iqser.red.service.search.v1.server.model.*; import com.iqser.red.service.search.v1.server.settings.ElasticsearchSettings; + +import io.micrometer.core.annotation.Timed; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.opensearch.action.index.IndexRequest; @@ -33,6 +35,7 @@ public class DocumentIndexService { private final ObjectMapper objectMapper; + @Timed("redactmanager_indexDocument") public void indexDocument(String dossierTemplateId, String dossierId, String fileId, String filename, Text text, String assignee, boolean deleted, boolean archived, WorkflowStatus workflowStatus, Map fileAttributes) { diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentUpdateService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentUpdateService.java index 65ab087..8910a37 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentUpdateService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/DocumentUpdateService.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.search.v1.server.client.ElasticsearchClient; import com.iqser.red.service.search.v1.server.model.IndexDocumentUpdate; import com.iqser.red.service.search.v1.server.model.IndexFileAttribute; + +import io.micrometer.core.annotation.Timed; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import org.opensearch.action.update.UpdateRequest; @@ -26,6 +28,7 @@ public class DocumentUpdateService { private final ElasticsearchClient client; @SneakyThrows + @Timed("redactmanager_updateDocument") public void updateDocument(String fileId, String assignee, boolean deleted, boolean archived, String workflowStatus, Map fileAttributes) { var indexUpdateRequest = IndexDocumentUpdate.builder() diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/SearchService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/SearchService.java index 1174ca8..27f2483 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/SearchService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/SearchService.java @@ -8,6 +8,8 @@ import com.iqser.red.service.search.v1.server.client.ElasticsearchClient; import com.iqser.red.service.search.v1.server.exception.IndexException; import com.iqser.red.service.search.v1.server.model.Query; import com.iqser.red.service.search.v1.server.utils.QueryStringConverter; + +import io.micrometer.core.annotation.Timed; import io.micrometer.core.instrument.util.StringUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -40,6 +42,7 @@ public class SearchService { private final ElasticsearchClient client; + @Timed("redactmanager_search") public SearchResult search( String queryString, List dossierTemplateIds, diff --git a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/TextStorageService.java b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/TextStorageService.java index 7993766..8585ea8 100644 --- a/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/TextStorageService.java +++ b/search-service-v1/search-service-server-v1/src/main/java/com/iqser/red/service/search/v1/server/service/TextStorageService.java @@ -5,6 +5,8 @@ import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.do import com.iqser.red.service.search.v1.server.model.Text; import com.iqser.red.storage.commons.exception.StorageObjectDoesNotExist; import com.iqser.red.storage.commons.service.StorageService; + +import io.micrometer.core.annotation.Timed; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.core.io.InputStreamResource; @@ -21,6 +23,7 @@ public class TextStorageService { private final ObjectMapper objectMapper; + @Timed("redactmanager_getText-search") public Text getText(String dossierId, String fileId) { InputStreamResource inputStreamResource;