You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by jf...@apache.org on 2018/11/24 20:57:42 UTC
[incubator-plc4x] 04/11: [plc4j-scraper] Improvements.
This is an automated email from the ASF dual-hosted git repository.
jfeinauer pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
commit 57efa48226070eeb5b231d12de6975c2eb1ef549
Author: Julian Feinauer <j....@pragmaticminds.de>
AuthorDate: Sat Nov 24 10:11:44 2018 +0100
[plc4j-scraper] Improvements.
---
.../apache/plc4x/java/s7/ManualS7PlcDriverMT.java | 28 +++++++++++++++-------
plc4j/utils/scraper/src/test/resources/logback.xml | 2 +-
2 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/s7/ManualS7PlcDriverMT.java b/plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/s7/ManualS7PlcDriverMT.java
index 54770a7..073c221 100644
--- a/plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/s7/ManualS7PlcDriverMT.java
+++ b/plc4j/utils/scraper/src/test/java/org/apache/plc4x/java/s7/ManualS7PlcDriverMT.java
@@ -27,20 +27,23 @@ import org.apache.plc4x.java.api.messages.PlcReadResponse;
import org.apache.plc4x.java.utils.connectionpool.PooledPlcDriverManager;
import org.junit.Test;
import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import org.junit.jupiter.params.provider.ValueSource;
import java.util.Locale;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Stream;
public class ManualS7PlcDriverMT {
public static final String CONN_STRING = "s7://10.10.64.22/0/1";
public static final String FIELD_STRING = "%DB225:DBW0:INT";
+
// public static final String CONN_STRING = "s7://10.10.64.20/0/1";
// public static final String FIELD_STRING = "%DB3:DBD32:DINT";
-
@Test
public void simpleLoop() {
PlcDriverManager plcDriverManager = new PooledPlcDriverManager();
@@ -76,14 +79,23 @@ public class ManualS7PlcDriverMT {
executorService.awaitTermination(100, TimeUnit.SECONDS);
}
- @Test
- public void scheduledCancellingLoop() throws InterruptedException, PlcConnectionException {
+ private static Stream<Arguments> periodAndRus() {
+ return Stream.of(
+ Arguments.of(10, 100),
+ Arguments.of(10, 1000),
+ Arguments.of(100, 100),
+ Arguments.of(100, 1000)
+ );
+ }
+
+ @ParameterizedTest
+ @MethodSource("periodAndRus")
+ public void scheduledCancellingLoop(int period, int numberOfRuns) throws InterruptedException, PlcConnectionException {
+ System.out.println("Starting iteration with period " + period + " and " + numberOfRuns + " runs.");
PlcDriverManager plcDriverManager = new PooledPlcDriverManager();
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(10);
DescriptiveStatistics statistics = new DescriptiveStatistics();
- final int period = 10;
- int numberOfRuns = 1000;
AtomicInteger counter = new AtomicInteger(0);
// Warmup
@@ -92,16 +104,16 @@ public class ManualS7PlcDriverMT {
Runnable iteration = new Runnable() {
@Override
public void run() {
- System.out.println("Setting a request / guard...");
+// System.out.println("Setting a request / guard...");
CompletableFuture<Double> requestFuture = CompletableFuture.supplyAsync(
() -> ManualS7PlcDriverMT.this.runSingleRequest(plcDriverManager)
);
executorService.schedule(() -> {
if (!requestFuture.isDone()) {
requestFuture.cancel(true);
- System.err.println("Cancel a future!");
+ System.out.print("!");
} else {
- System.out.println("Request finished successfully");
+ System.out.print(".");
try {
statistics.addValue(requestFuture.get());
} catch (InterruptedException | ExecutionException e) {
diff --git a/plc4j/utils/scraper/src/test/resources/logback.xml b/plc4j/utils/scraper/src/test/resources/logback.xml
index c562020..f0f2b2e 100644
--- a/plc4j/utils/scraper/src/test/resources/logback.xml
+++ b/plc4j/utils/scraper/src/test/resources/logback.xml
@@ -29,7 +29,7 @@
</encoder>
</appender>
- <root level="INFO">
+ <root level="ERROR">
<appender-ref ref="STDOUT"/>
</root>