diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/LicenseReportService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/LicenseReportService.java index abd567702..6610d1c86 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/LicenseReportService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/LicenseReportService.java @@ -1,5 +1,19 @@ package com.iqser.red.service.peristence.v1.server.service; +import static java.util.stream.Collectors.toList; + +import java.time.Duration; +import java.time.Instant; +import java.util.Comparator; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; + +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + import com.github.benmanes.caffeine.cache.Caffeine; import com.github.benmanes.caffeine.cache.LoadingCache; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; @@ -7,24 +21,15 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.Inter import com.iqser.red.service.persistence.service.v1.api.model.license.LicenseReport; import com.iqser.red.service.persistence.service.v1.api.model.license.LicenseReportRequest; import com.iqser.red.service.persistence.service.v1.api.model.license.ReportData; + import lombok.NonNull; import lombok.RequiredArgsConstructor; import lombok.Value; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import java.time.Instant; -import java.util.Comparator; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; - -import static java.util.stream.Collectors.toList; +import lombok.extern.slf4j.Slf4j; @Service @RequiredArgsConstructor +@Slf4j public class LicenseReportService { private final FileStatusService fileStatusService; @@ -38,6 +43,13 @@ public class LicenseReportService { public LicenseReport getLicenseReport(LicenseReportRequest licenseReportRequest, int offset, int limit) { + log.info("Generating licence-report"); + + Instant start = null; + if (log.isDebugEnabled()) { + start = Instant.now(); + } + if (StringUtils.isEmpty(licenseReportRequest.getRequestId())) { licenseReportRequest.setRequestId(UUID.randomUUID().toString()); } @@ -60,12 +72,22 @@ public class LicenseReportService { licenseReport.setEndDate(cachedReportData.getEndDate()); licenseReport.setRequestId(licenseReportRequest.getRequestId()); + if (start != null) { + log.debug("getLicenceReport took {} to process", Duration.between(start, Instant.now()).toString()); + } + return licenseReport; } private CachedReportData loadReport(LicenseReportRequest licenseReportRequest) { + log.debug("No licence-report found in cache, generating new report"); + Instant start = null; + if (log.isDebugEnabled()) { + start = Instant.now(); + } + List dossierIds = licenseReportRequest.getDossierIds(); if (CollectionUtils.isEmpty(licenseReportRequest.getDossierIds())) { dossierIds = dossierService.getAllDossiers().stream().map(DossierEntity::getId).collect(toList()); @@ -98,6 +120,10 @@ public class LicenseReportService { .sorted(Comparator.comparing(ReportData::getFileName)) .collect(toList()); + if (start != null) { + log.debug("loadReport took {} to process", Duration.between(start, Instant.now()).toString()); + } + return new CachedReportData(data, dossierIds.size(), totalNumberOfAnalyses.get(),