Pull request #53: RED-4014: Added metrics

Merge in RED/search-service from RED-4014 to master

* commit '4fc666b28fd64369355fda9b2d5f91f54294914b':
  RED-4014: Added metrics
This commit is contained in:
Dominique Eiflaender 2022-06-07 13:42:37 +02:00
commit 6861261983
7 changed files with 27 additions and 0 deletions

View File

@ -57,6 +57,10 @@
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>

View File

@ -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);
}
}

View File

@ -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());

View File

@ -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<String, String> fileAttributes) {

View File

@ -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<String, String> fileAttributes) {
var indexUpdateRequest = IndexDocumentUpdate.builder()

View File

@ -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<String> dossierTemplateIds,

View File

@ -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;