RED-4928: Added timing of report generation when on debug level
This commit is contained in:
parent
1d44820a8c
commit
6a21722fcc
@ -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<String> 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(),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user