You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by tm...@apache.org on 2019/08/10 15:08:14 UTC
[plc4x] 05/05: adjusted logging to lower level
This is an automated email from the ASF dual-hosted git repository.
tmitsch pushed a commit to branch feature/improve-scraper-tim
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit f4ace2c8c24287cf1a4577cace62ada4e849dd51
Author: Tim Mitsch <t....@pragmaticindustries.de>
AuthorDate: Sat Jun 22 02:23:11 2019 +0200
adjusted logging to lower level
---
.../triggeredscraper/TriggeredScraperImpl.java | 20 ++++---
.../triggeredscraper/TriggeredScraperTask.java | 61 ++++++++++++++++------
.../triggerhandler/TriggerConfiguration.java | 17 ++++--
.../collector/TriggerCollectorImpl.java | 4 +-
.../plc4x/java/scraper/TriggeredScraperRunner.java | 2 +-
5 files changed, 72 insertions(+), 32 deletions(-)
diff --git a/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImpl.java b/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImpl.java
index 29cd7f4..d3e8a19 100644
--- a/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImpl.java
+++ b/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperImpl.java
@@ -165,11 +165,13 @@ public class TriggeredScraperImpl implements Scraper, TriggeredScraperMBean {
for(ScrapeJob job:jobs){
//iterate over all source the jobs shall performed on
for(Map.Entry<String,String> sourceEntry:job.getSourceConnections().entrySet()){
- LOGGER.debug("Register task for job {} for conn {} ({}) at rate {} ms",
- job.getJobName(),
- sourceEntry.getKey(),
- sourceEntry.getValue(),
- job.getScrapeRate());
+ if(LOGGER.isDebugEnabled()) {
+ LOGGER.debug("Register task for job {} for conn {} ({}) at rate {} ms",
+ job.getJobName(),
+ sourceEntry.getKey(),
+ sourceEntry.getValue(),
+ job.getScrapeRate());
+ }
//create the regarding triggered scraper task
TriggeredScraperTask triggeredScraperTask;
@@ -187,7 +189,9 @@ public class TriggeredScraperImpl implements Scraper, TriggeredScraperMBean {
triggerCollector);
// Add task to internal list
- LOGGER.info("Task {} added to scheduling", triggeredScraperTask);
+ if(LOGGER.isInfoEnabled()) {
+ LOGGER.info("Task {} added to scheduling", triggeredScraperTask);
+ }
registerTaskMBean(triggeredScraperTask);
tasks.put(job, triggeredScraperTask);
ScheduledFuture<?> future = scheduler.scheduleAtFixedRate(triggeredScraperTask, 0, job.getScrapeRate(), TimeUnit.MILLISECONDS);
@@ -211,7 +215,9 @@ public class TriggeredScraperImpl implements Scraper, TriggeredScraperMBean {
entry.getValue().getPercentageFailed(),
statistics.apply(new PercentageAboveThreshold(entry.getKey().getScrapeRate() * 1e6)),
statistics.getMin() * 1e-6, statistics.getMean() * 1e-6, statistics.getPercentile(50) * 1e-6);
- LOGGER.debug(msg);
+ if(LOGGER.isDebugEnabled()) {
+ LOGGER.debug(msg);
+ }
}
}, 1_000, 1_000, TimeUnit.MILLISECONDS);
}
diff --git a/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperTask.java b/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperTask.java
index dc0d676..92cfcd9 100644
--- a/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperTask.java
+++ b/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperTask.java
@@ -48,9 +48,7 @@ import java.util.stream.Collectors;
* performs the triggered task from a job for one device based on the TriggerHandler as defined in Configuration
* ToDo Implement the monitoring as well: PLC4X-90
*/
-public class TriggeredScraperTask implements ScraperTask {
-
-
+public class TriggeredScraperTask implements ScraperTask, TriggeredScraperTaskMBean {
private static final Logger LOGGER = LoggerFactory.getLogger(TriggeredScraperTask.class);
private final PlcDriverManager driverManager;
@@ -93,9 +91,14 @@ public class TriggeredScraperTask implements ScraperTask {
@Override
//ToDo code-refactoring and improved testing --> PLC4X-90
public void run() {
+ if(LOGGER.isTraceEnabled()) {
+ LOGGER.trace("Check condition for task of job {} for connection {}", jobName, connectionAlias);
+ }
if(this.triggerHandler.checkTrigger()) {
// Does a single fetch only when trigger is valid
- LOGGER.info("Trigger for job {} and device {} is met ... scraping desired data",jobName,connectionAlias);
+ if(LOGGER.isDebugEnabled()) {
+ LOGGER.debug("Trigger for job {} and device {} is met ... scraping desired data", jobName, connectionAlias);
+ }
if(LOGGER.isTraceEnabled()) {
LOGGER.trace("Start new scrape of task of job {} for connection {}", jobName, connectionAlias);
}
@@ -139,7 +142,9 @@ public class TriggeredScraperTask implements ScraperTask {
// Handle response (Async)
CompletableFuture.runAsync(() -> resultHandler.handle(jobName, connectionAlias, TriggeredScraperImpl.convertPlcResponseToMap(response)), executorService);
} catch (Exception e) {
- LOGGER.debug("Exception during scrape", e);
+ if(LOGGER.isDebugEnabled()) {
+ LOGGER.debug("Exception during scrape", e);
+ }
handleException(e);
} finally {
if (connection != null) {
@@ -174,42 +179,37 @@ public class TriggeredScraperTask implements ScraperTask {
@Override
public String getJobName() {
- return null;
+ return this.jobName;
}
@Override
public String getConnectionAlias() {
- return null;
+ return this.connectionAlias;
}
@Override
public long getRequestCounter() {
- return 0;
+ return this.requestCounter.get();
}
@Override
public long getSuccessfullRequestCounter() {
- return 0;
+ return this.successCounter.get();
}
@Override
public DescriptiveStatistics getLatencyStatistics() {
- return null;
- }
-
- @Override
- public double getPercentageFailed() {
- return 0;
+ return this.latencyStatistics;
}
@Override
public void handleException(Exception e) {
-
+ // TODO Implement this
}
@Override
public void handleErrorResponse(Map<String, PlcResponseCode> failed) {
-
+ // TODO Implement this
}
public PlcDriverManager getDriverManager() {
@@ -241,4 +241,31 @@ public class TriggeredScraperTask implements ScraperTask {
", triggerHandler=" + triggerHandler +
'}';
}
+
+ //---------------------------------
+ // JMX Monitoring
+ //---------------------------------
+ @Override
+ public long getScrapesTotal() {
+ return requestCounter.get();
+ }
+
+ @Override
+ public long getScrapesSuccess() {
+ return successCounter.get();
+ }
+
+ @Override
+ public double getPercentageFailed() {
+ return 100.0 - (double)this.getScrapesSuccess()/this.getScrapesTotal() * 100.0;
+ }
+
+ @Override
+ public String[] getPercentiles() {
+ String[] percentiles = new String[10];
+ for (int i = 1; i <= 10; i += 1) {
+ percentiles[i - 1] = String.format("%d%%: %s ms", 10 * i, latencyStatistics.getPercentile(10.0 * i) * 1e-6);
+ }
+ return percentiles;
+ }
}
diff --git a/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfiguration.java b/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfiguration.java
index 0e74682..6fbd234 100644
--- a/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfiguration.java
+++ b/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/TriggerConfiguration.java
@@ -325,7 +325,9 @@ public class TriggerConfiguration{
return false;
}
if(triggerResultList.size()>1) {
- logger.trace("{}",triggerResultList);
+ if(logger.isTraceEnabled()) {
+ logger.trace("{}", triggerResultList);
+ }
boolean combinedResult=triggerResultList.get(0);
for (int countElements = 1; countElements < acquiredValuesList.size(); countElements++) {
switch (triggerElementList.get(countElements).getConcatType()){
@@ -368,8 +370,9 @@ public class TriggerConfiguration{
if(matcher.matches()){
String triggerStrategy = matcher.group("strategy");
String scheduledMs = matcher.group("scheduledInterval");
-
- logger.debug("Strategy: {}, scheduled ms: {}",triggerStrategy,scheduledMs);
+ if(logger.isDebugEnabled()) {
+ logger.debug("Strategy: {}, scheduled ms: {}", triggerStrategy, scheduledMs);
+ }
String triggerVar = matcher.group("triggerVar");
String comparatorString = matcher.group("comp");
@@ -434,7 +437,9 @@ public class TriggerConfiguration{
private void handleException(Exception e){
//push up if needed
- logger.debug("Exception: ", e);
+ if(logger.isDebugEnabled()) {
+ logger.debug("Exception: ", e);
+ }
}
TriggerType getTriggerType() {
@@ -696,7 +701,9 @@ public class TriggerConfiguration{
void overrideCompareValue(){
if(this.previousMode && this.reservedCompareValue!=null){
- logger.info("Compare value overridden, before: {}, now: {}; for Trigger {}",this.compareValue,this.reservedCompareValue,this.triggerJob);
+ if(logger.isDebugEnabled()) {
+ logger.debug("Compare value overridden, before: {}, now: {}; for Trigger {}", this.compareValue, this.reservedCompareValue, this.triggerJob);
+ }
this.compareValue = this.reservedCompareValue;
}
}
diff --git a/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/collector/TriggerCollectorImpl.java b/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/collector/TriggerCollectorImpl.java
index e4be70a..02d158b 100644
--- a/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/collector/TriggerCollectorImpl.java
+++ b/plc4j/utils/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/triggerhandler/collector/TriggerCollectorImpl.java
@@ -94,8 +94,8 @@ public class TriggerCollectorImpl implements TriggerCollector {
RequestElement requestElement = new RequestElement(plcConnectionString,plcField,interval, uuid);
if(!currentRequestElements.containsValue(requestElement)){
currentRequestElements.put(uuid,requestElement);
- if(logger.isInfoEnabled()) {
- logger.info("Received request to: {} for PLC: {}", plcField, plcConnectionString);
+ if(logger.isDebugEnabled()) {
+ logger.debug("Received request to: {} for PLC: {}", plcField, plcConnectionString);
}
return uuid;
}
diff --git a/plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/TriggeredScraperRunner.java b/plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/TriggeredScraperRunner.java
index b9072d9..5c22893 100644
--- a/plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/TriggeredScraperRunner.java
+++ b/plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/scraper/TriggeredScraperRunner.java
@@ -41,7 +41,7 @@ public class TriggeredScraperRunner {
* testing of TriggeredScraper vs real device
*/
public static void main(String[] args) throws IOException, ScraperException {
- TriggeredScraperConfiguration configuration = TriggeredScraperConfiguration.fromFile("plc4j/utils/scraper/src/test/resources/example_triggered_scraper2.yml");
+ TriggeredScraperConfiguration configuration = TriggeredScraperConfiguration.fromFile("plc4j/utils/scraper/src/test/resources/example_triggered_scraper.yml");
PlcDriverManager plcDriverManager = new PooledPlcDriverManager();
TriggerCollector triggerCollector = new TriggerCollectorImpl(plcDriverManager);