This is an automated email from the ASF dual-hosted git repository.

upthewaterspout pushed a commit to branch feature/redis-performance-testing
in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git

commit 23703f4702a47a59df82269812e9698f5875726a
Author: Dan Smith <[email protected]>
AuthorDate: Tue Mar 16 14:26:38 2021 -0700

    Cleaning up benchmark logging
    
    Reducing the noise in the logging from our benchmark framework.
    
    Printing test log messages to stdout when running a benchmark, to watch the
    progress.
---
 geode-benchmarks/build.gradle                      |  5 +++-
 .../infrastructure/local/LocalInfrastructure.java  |  5 +++-
 .../infrastructure/ssh/QuietSshLoggingConfig.java  | 31 ++++++++++++++++++++++
 .../infrastructure/ssh/SshInfrastructure.java      |  8 +++---
 .../geode/perftest/jvms/RemoteJVMFactory.java      |  2 +-
 infrastructure/scripts/aws/run_tests.sh            |  7 ++---
 6 files changed, 48 insertions(+), 10 deletions(-)

diff --git a/geode-benchmarks/build.gradle b/geode-benchmarks/build.gradle
index 6bae20c..ee9e188 100644
--- a/geode-benchmarks/build.gradle
+++ b/geode-benchmarks/build.gradle
@@ -80,7 +80,10 @@ task benchmark(type: Test) {
   testClassesDirs = project.sourceSets.main.output.classesDirs
   classpath = project.sourceSets.main.runtimeClasspath
   useJUnitPlatform()
-  testLogging { exceptionFormat = 'full' }
+  testLogging {
+    exceptionFormat = 'full'
+    showStandardStreams = true
+  }
 
   exclude "**/NoopBenchmark.class"
 
diff --git 
a/harness/src/main/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructure.java
 
b/harness/src/main/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructure.java
index 596d99d..d5687d2 100644
--- 
a/harness/src/main/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructure.java
+++ 
b/harness/src/main/java/org/apache/geode/perftest/infrastructure/local/LocalInfrastructure.java
@@ -34,6 +34,8 @@ import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.function.Function;
 
 import org.apache.commons.io.FileUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import org.apache.geode.perftest.infrastructure.Infrastructure;
 
@@ -42,6 +44,7 @@ import 
org.apache.geode.perftest.infrastructure.Infrastructure;
  * on the local computer, in their own working directories.
  */
 public class LocalInfrastructure implements Infrastructure {
+  private static final Logger logger = 
LoggerFactory.getLogger(LocalInfrastructure.class);
 
   private final Set<LocalNode> nodes = new LinkedHashSet<>();
   private final List<Process> processList = new CopyOnWriteArrayList<>();
@@ -66,7 +69,7 @@ public class LocalInfrastructure implements Infrastructure {
     builder.inheritIO();
     builder.directory(((LocalNode) node).getWorkingDir());
 
-    System.out.println(String.format("Launching %s>%s", ((LocalNode) 
node).getWorkingDir(),
+    logger.debug(String.format("Launching %s>%s", ((LocalNode) 
node).getWorkingDir(),
         String.join(" ", shellCommand)));
     Process process = builder.start();
     processList.add(process);
diff --git 
a/harness/src/main/java/org/apache/geode/perftest/infrastructure/ssh/QuietSshLoggingConfig.java
 
b/harness/src/main/java/org/apache/geode/perftest/infrastructure/ssh/QuietSshLoggingConfig.java
new file mode 100644
index 0000000..fe83672
--- /dev/null
+++ 
b/harness/src/main/java/org/apache/geode/perftest/infrastructure/ssh/QuietSshLoggingConfig.java
@@ -0,0 +1,31 @@
+package org.apache.geode.perftest.infrastructure.ssh;
+
+import net.schmizz.sshj.DefaultConfig;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.helpers.NOPLogger;
+
+class QuietSshLoggingConfig extends DefaultConfig {
+  private static final Logger logger = 
LoggerFactory.getLogger(QuietSshLoggingConfig.class);
+
+  @Override
+  public net.schmizz.sshj.common.LoggerFactory getLoggerFactory() {
+    if(logger.isDebugEnabled()) {
+      return super.getLoggerFactory();
+    } else {
+      return new NOPLoggerFactory();
+    }
+  }
+
+  private static class NOPLoggerFactory implements 
net.schmizz.sshj.common.LoggerFactory {
+    @Override
+    public Logger getLogger(String name) {
+      return NOPLogger.NOP_LOGGER;
+    }
+
+    @Override
+    public Logger getLogger(Class<?> clazz) {
+      return NOPLogger.NOP_LOGGER;
+    }
+  }
+}
diff --git 
a/harness/src/main/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructure.java
 
b/harness/src/main/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructure.java
index 16765de..db19776 100644
--- 
a/harness/src/main/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructure.java
+++ 
b/harness/src/main/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructure.java
@@ -37,7 +37,6 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import net.schmizz.sshj.Config;
-import net.schmizz.sshj.DefaultConfig;
 import net.schmizz.sshj.SSHClient;
 import net.schmizz.sshj.connection.channel.direct.Session;
 import net.schmizz.sshj.connection.channel.direct.Signal;
@@ -54,7 +53,7 @@ public class SshInfrastructure implements Infrastructure {
   private final Set<SshNode> hosts;
   private final String user;
   private final int port;
-  public static final Config CONFIG = new DefaultConfig();
+  public static final Config CONFIG = new QuietSshLoggingConfig();
   private ExecutorService streamReaderThreadPool = 
Executors.newCachedThreadPool();
 
   public SshInfrastructure(Collection<String> hosts, String user) {
@@ -87,7 +86,7 @@ public class SshInfrastructure implements Infrastructure {
     try (final SSHClient client = getSSHClient(node.getAddress());
         final Session session = client.startSession()) {
       final String script = "'" + String.join("' '", shellCommand) + "'";
-      logger.info("Executing {} on {}", script, node.getAddress());
+      logger.debug("Executing {} on {}", script, node.getAddress());
       try (final Session.Command cmd = session.exec(script)) {
         final CompletableFuture<Void> copyStdout =
             copyStreamAsynchronously(cmd.getInputStream(), System.out);
@@ -170,7 +169,7 @@ public class SshInfrastructure implements Infrastructure {
           }
 
           for (File file : files) {
-            logger.info("Copying " + file + " to " + address);
+            logger.debug("Copying " + file + " to " + address);
             client.newSCPFileTransfer().upload(new FileSystemFile(file), 
destDir);
           }
         } catch (IOException e) {
@@ -209,4 +208,5 @@ public class SshInfrastructure implements Infrastructure {
       return host;
     }
   }
+
 }
diff --git 
a/harness/src/main/java/org/apache/geode/perftest/jvms/RemoteJVMFactory.java 
b/harness/src/main/java/org/apache/geode/perftest/jvms/RemoteJVMFactory.java
index 665d726..b14817f 100644
--- a/harness/src/main/java/org/apache/geode/perftest/jvms/RemoteJVMFactory.java
+++ b/harness/src/main/java/org/apache/geode/perftest/jvms/RemoteJVMFactory.java
@@ -161,7 +161,7 @@ public class RemoteJVMFactory {
     X509Certificate[] chain = new X509Certificate[1];
     chain[0] = keyGen.getSelfCertificate(new X500Name("CN=ROOT"), 
DAYS.toSeconds(365));
 
-    logger.info("Certificate : {}", chain[0]);
+    logger.debug("Certificate : {}", chain[0]);
 
     KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
     ks.load(null, null);
diff --git a/infrastructure/scripts/aws/run_tests.sh 
b/infrastructure/scripts/aws/run_tests.sh
index f1332b7..250d23c 100755
--- a/infrastructure/scripts/aws/run_tests.sh
+++ b/infrastructure/scripts/aws/run_tests.sh
@@ -17,7 +17,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-set -x -e -o pipefail
+set -e -o pipefail
 
 DEFAULT_BENCHMARK_REPO='https://github.com/apache/geode-benchmarks'
 BENCHMARK_REPO=${DEFAULT_BENCHMARK_REPO}
@@ -224,6 +224,7 @@ remoteShell \
 
 mkdir -p ${OUTPUT}
 
-scp ${SSH_OPTIONS} -r 
geode@${FIRST_INSTANCE}:geode-benchmarks/geode-benchmarks/build/reports 
${OUTPUT}/reports
+scp ${SSH_OPTIONS} -q -r 
geode@${FIRST_INSTANCE}:geode-benchmarks/geode-benchmarks/build/reports 
${OUTPUT}/reports
 BENCHMARK_DIRECTORY="$(remoteShell ls -l 
geode-benchmarks/geode-benchmarks/build/ | grep benchmark | awk 'NF>1{print 
$NF}')"
-scp ${SSH_OPTIONS} -r 
geode@${FIRST_INSTANCE}:geode-benchmarks/geode-benchmarks/build/${BENCHMARK_DIRECTORY}
 ${OUTPUT}
+scp ${SSH_OPTIONS} -q -r 
geode@${FIRST_INSTANCE}:geode-benchmarks/geode-benchmarks/build/${BENCHMARK_DIRECTORY}
 ${OUTPUT}
+echo "Benchmark results saved in ${OUTPUT}"

Reply via email to