From 812f95743d50aadd3c081e7e19284ed8a1a38588 Mon Sep 17 00:00:00 2001 From: Krzysztof Ryk Date: Tue, 9 Apr 2019 09:56:00 +0200 Subject: [PATCH] Refactor of RequestMonitoringCollector Implement an additional Collector and Comparator that will allow one to sum the transferred data of the responses for the given/filtered requests. Added a simple report that shows the information about the overall amount of the transferred data and the table of ordered requests (desc) and their attributes (URL as a link, Size in kilobytes) https://github.com/Cognifide/aet/issues/501 I hereby agree to the terms of the AET Contributor License Agreement. --- .../requestmonitoring/RequestMonitoringCollector.java | 7 +++---- .../requestmonitoring/utils/RequestMonitoringResults.java | 4 +++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/requestmonitoring/RequestMonitoringCollector.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/requestmonitoring/RequestMonitoringCollector.java index 625646f4f..f614f2e13 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/requestmonitoring/RequestMonitoringCollector.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/collectors/requestmonitoring/RequestMonitoringCollector.java @@ -21,7 +21,6 @@ import com.cognifide.aet.job.api.collector.WebCommunicationWrapper; import com.cognifide.aet.job.api.exceptions.ParametersException; import com.cognifide.aet.job.api.exceptions.ProcessingException; -import com.cognifide.aet.job.common.comparators.requestmonitoring.utils.RequestMonitoringResultBuilder; import com.cognifide.aet.job.common.comparators.requestmonitoring.utils.RequestMonitoringResults; import com.cognifide.aet.vs.ArtifactsDAO; import org.apache.commons.lang3.StringUtils; @@ -55,18 +54,18 @@ public RequestMonitoringCollector(WebCommunicationWrapper webCommunicationWrappe public CollectorStepResult collect() throws ProcessingException { final CollectorStepResult stepResult; - RequestMonitoringResults result = new RequestMonitoringResults(); + RequestMonitoringResults results = new RequestMonitoringResults(); HarLog log = webCommunicationWrapper.getProxyServer().getHar().getLog(); for (final HarEntry harLogEntry : log.getEntries()) { String url = harLogEntry.getRequest().getUrl(); if (url.matches(urlPattern)) { long bodySize = harLogEntry.getResponse().getBodySize(); - result.addItem(new RequestMonitoringResultBuilder().setUrl(url).setSize(bodySize).build()); + results.addItem(url, bodySize); } } - final String artifactId = artifactsDAO.saveArtifactInJsonFormat(properties, result); + final String artifactId = artifactsDAO.saveArtifactInJsonFormat(properties, results); stepResult = CollectorStepResult.newCollectedResult(artifactId); return stepResult; diff --git a/core/jobs/src/main/java/com/cognifide/aet/job/common/comparators/requestmonitoring/utils/RequestMonitoringResults.java b/core/jobs/src/main/java/com/cognifide/aet/job/common/comparators/requestmonitoring/utils/RequestMonitoringResults.java index 58526b851..2a2cbdaa2 100644 --- a/core/jobs/src/main/java/com/cognifide/aet/job/common/comparators/requestmonitoring/utils/RequestMonitoringResults.java +++ b/core/jobs/src/main/java/com/cognifide/aet/job/common/comparators/requestmonitoring/utils/RequestMonitoringResults.java @@ -29,7 +29,9 @@ public RequestMonitoringResults() { this.totalSize = 0d; } - public final void addItem(RequestMonitoringResult item) { + public final void addItem(String url, long bodySize) { + RequestMonitoringResult item = new RequestMonitoringResultBuilder().setUrl(url) + .setSize(bodySize).build(); results.add(item); totalSize += item.getSize(); }