From 2756689179fc9c56cd8a14a7ac65dbc93288bc6a Mon Sep 17 00:00:00 2001
From: Peter Powers <pmpowers@usgs.gov>
Date: Thu, 3 Feb 2022 17:41:42 -0700
Subject: [PATCH] batch logging update

---
 .../java/gov/usgs/earthquake/nshmp/DisaggCalc.java   |  4 ++--
 .../java/gov/usgs/earthquake/nshmp/HazardCalc.java   | 12 +++++++++++-
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/main/java/gov/usgs/earthquake/nshmp/DisaggCalc.java b/src/main/java/gov/usgs/earthquake/nshmp/DisaggCalc.java
index 59387fcd4..dd59717af 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/DisaggCalc.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/DisaggCalc.java
@@ -301,7 +301,7 @@ public class DisaggCalc {
     Files.createDirectory(disaggDir);
 
     Stopwatch stopwatch = Stopwatch.createStarted();
-    int logInterval = sites.size() > 1000 ? 100 : sites.size() > 100 ? 10 : 1;
+    int logInterval = sites.size() < 100 ? 1 : sites.size() < 1000 ? 10 : 100;
 
     for (int i = 0; i < sites.size(); i++) {
       Site site = sites.get(i);
@@ -397,7 +397,7 @@ public class DisaggCalc {
     Files.createDirectory(disaggDir);
 
     Stopwatch stopwatch = Stopwatch.createStarted();
-    int logInterval = sites.size() > 1000 ? 100 : sites.size() > 100 ? 10 : 1;
+    int logInterval = sites.size() < 100 ? 1 : sites.size() < 1000 ? 10 : 100;
 
     for (int i = 0; i < sites.size(); i++) {
 
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java b/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java
index 94b501ffb..9815cc2b2 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/HazardCalc.java
@@ -21,6 +21,7 @@ import java.util.concurrent.ThreadPoolExecutor;
 import java.util.logging.FileHandler;
 import java.util.logging.Logger;
 
+import com.google.common.base.Stopwatch;
 import com.google.common.base.Throwables;
 import com.google.common.util.concurrent.MoreExecutors;
 
@@ -175,10 +176,19 @@ public class HazardCalc {
     CalcTask.Builder calcTask = new CalcTask.Builder(model, config, exec);
     WriteTask.Builder writeTask = new WriteTask.Builder(handler);
 
+    Stopwatch stopwatch = Stopwatch.createStarted();
+    int logInterval = sites.size() < 100 ? 1 : sites.size() < 1000 ? 10 : 100;
+
     Future<Path> out = null;
-    for (Site site : sites) {
+    for (int i = 0; i < sites.size(); i++) {
+      Site site = sites.get(i);
       Hazard hazard = calcTask.withSite(site).call();
       out = exec.submit(writeTask.withResult(hazard));
+      if (i % logInterval == 0) {
+        log.info(String.format(
+            "     %s of %s sites completed in %s",
+            i + 1, sites.size(), stopwatch));
+      }
     }
     /* Block shutdown until last task is returned. */
     Path outputDir = out.get();
-- 
GitLab