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

baunsgaard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git


The following commit(s) were added to refs/heads/main by this push:
     new c018950443 [SYSTEMDS-3424] Federated Statistics print in non federated 
scenario
c018950443 is described below

commit c0189504432cecf09c6629442fab5e04c9edfc8a
Author: baunsgaard <[email protected]>
AuthorDate: Wed Aug 24 15:55:49 2022 +0200

    [SYSTEMDS-3424] Federated Statistics print in non federated scenario
---
 .../controlprogram/federated/FederatedRequest.java | 21 ++++++++++++----
 .../federated/FederatedStatistics.java             | 28 +++++++++++-----------
 .../monitoring/services/StatisticsService.java     | 27 +++++++++++++--------
 .../runtime/instructions/InstructionParser.java    | 13 ++++------
 4 files changed, 51 insertions(+), 38 deletions(-)

diff --git 
a/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.java
 
b/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.java
index 0ae8ac033c..163988f5f6 100644
--- 
a/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.java
+++ 
b/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedRequest.java
@@ -211,11 +211,22 @@ public class FederatedRequest implements Serializable {
        @Override
        public String toString() {
                StringBuilder sb = new StringBuilder("FederatedRequest[");
-               sb.append(_method); sb.append(";");
-               sb.append(_pid); sb.append(";");
-               sb.append(_id); sb.append(";");
-               sb.append("t"); sb.append(_tid); sb.append(";");
-               sb.append(_data.toString());
+               sb.append(_method);
+               sb.append(";");
+               sb.append(_pid);
+               sb.append(";");
+               sb.append(_id);
+               sb.append(";t");
+               sb.append(_tid);
+               if(_data.size() > 0) {
+                       sb.append(";[");
+                       for(Object o : _data) {
+                               sb.append(o.getClass().getSimpleName());
+                               sb.append(", ");
+                       }
+                       sb.delete(sb.length() - 2, sb.length());
+                       sb.append("]");
+               }
                sb.append("]");
                return sb.toString();
        }
diff --git 
a/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.java
 
b/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.java
index 32e85252d5..99a23fa753 100644
--- 
a/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.java
+++ 
b/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedStatistics.java
@@ -284,20 +284,20 @@ public class FederatedStatistics {
        }
 
        public static String displayFedWorkerStats() {
-               StringBuilder sb = new StringBuilder();
-               sb.append(displayFedLookupTableStats());
-               sb.append(displayFedReuseReadStats());
-               sb.append(displayFedPutLineageStats());
-               sb.append(displayFedSerializationReuseStats());
-               sb.append(displayFedTransfer());
-               //FIXME: the following statistics need guards to only show
-               // results if federated operations where executed, also the CPU
-               // and mem usage only probe once at the time of stats printing
-               //sb.append(displayFedTransfer());
-               //sb.append(displayCPUUsage());
-               //sb.append(displayMemoryUsage());
-    
-               return sb.toString();
+               if( readCount.longValue() > 0){ 
+                       StringBuilder sb = new StringBuilder();
+                       sb.append(displayFedLookupTableStats());
+                       sb.append(displayFedReuseReadStats());
+                       sb.append(displayFedPutLineageStats());
+                       sb.append(displayFedSerializationReuseStats());
+
+                       //sb.append(displayFedTransfer());
+                       //sb.append(displayCPUUsage());
+                       //sb.append(displayMemoryUsage());
+                
+                       return sb.toString();
+               }
+               return "";
        }
 
        public static String displayStatistics(int numHeavyHitters) {
diff --git 
a/src/main/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/services/StatisticsService.java
 
b/src/main/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/services/StatisticsService.java
index 0b05effce9..d60f7935a4 100644
--- 
a/src/main/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/services/StatisticsService.java
+++ 
b/src/main/java/org/apache/sysds/runtime/controlprogram/federated/monitoring/services/StatisticsService.java
@@ -19,25 +19,32 @@
 
 package org.apache.sysds.runtime.controlprogram.federated.monitoring.services;
 
-import org.apache.sysds.api.DMLScript;
+import java.net.InetSocketAddress;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.Future;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
 import org.apache.sysds.runtime.DMLRuntimeException;
 import org.apache.sysds.runtime.controlprogram.federated.FederatedData;
 import org.apache.sysds.runtime.controlprogram.federated.FederatedRequest;
 import org.apache.sysds.runtime.controlprogram.federated.FederatedResponse;
 import org.apache.sysds.runtime.controlprogram.federated.FederatedStatistics;
-import org.apache.sysds.runtime.controlprogram.federated.monitoring.models.*;
+import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.models.CoordinatorConnectionModel;
+import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.models.CoordinatorModel;
+import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.models.DataObjectModel;
+import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.models.EventModel;
+import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.models.EventStageModel;
+import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.models.RequestModel;
+import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.models.StatisticsModel;
+import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.models.StatisticsOptions;
+import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.models.TrafficModel;
+import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.models.UtilizationModel;
 import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.Constants;
 import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.DerbyRepository;
 import 
org.apache.sysds.runtime.controlprogram.federated.monitoring.repositories.IRepository;
 
-import java.net.InetSocketAddress;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.Future;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
 public class StatisticsService {
 
        private static final IRepository entityRepository = new 
DerbyRepository();
diff --git 
a/src/main/java/org/apache/sysds/runtime/instructions/InstructionParser.java 
b/src/main/java/org/apache/sysds/runtime/instructions/InstructionParser.java
index e5c9633d97..ccc97fd15c 100644
--- a/src/main/java/org/apache/sysds/runtime/instructions/InstructionParser.java
+++ b/src/main/java/org/apache/sysds/runtime/instructions/InstructionParser.java
@@ -26,7 +26,6 @@ import 
org.apache.sysds.runtime.instructions.fed.FEDInstruction;
 import 
org.apache.sysds.runtime.instructions.gpu.GPUInstruction.GPUINSTRUCTION_TYPE;
 import org.apache.sysds.runtime.instructions.spark.SPInstruction.SPType;
 
-
 public class InstructionParser 
 {
        public static Instruction parseSingleInstruction ( String str ) {
@@ -36,30 +35,26 @@ public class InstructionParser
                ExecType et = InstructionUtils.getExecType(str);
                switch( et ) {
                        case CP:
-                       case CP_FILE: {
+                       case CP_FILE: 
                                CPType cptype = InstructionUtils.getCPType(str);
                                if( cptype == null )
                                        throw new DMLRuntimeException("Unknown 
CP instruction: " + str);
                                return 
CPInstructionParser.parseSingleInstruction (cptype, str);
-                       }
-                       case SPARK: {
+                       case SPARK: 
                                SPType sptype = InstructionUtils.getSPType(str);
                                if( sptype == null )
                                        throw new DMLRuntimeException("Unknown 
SPARK instruction: " + str);
                                return 
SPInstructionParser.parseSingleInstruction (sptype, str);
-                       }
-                       case GPU: {
+                       case GPU: 
                                GPUINSTRUCTION_TYPE gputype = 
InstructionUtils.getGPUType(str);
                                if( gputype == null )
                                        throw new DMLRuntimeException("Unknown 
GPU instruction: " + str);
                                return 
GPUInstructionParser.parseSingleInstruction (gputype, str);
-                       }
-                       case FED: {
+                       case FED: 
                                FEDInstruction.FEDType fedtype = 
InstructionUtils.getFEDType(str);
                                if( fedtype == null )
                                        throw new DMLRuntimeException("Unknown 
FEDERATED instruction: " + str);
                                return 
FEDInstructionParser.parseSingleInstruction (fedtype, str);
-                       }
                        default:
                                throw new DMLRuntimeException("Unknown 
execution type in instruction: " + str);
                }

Reply via email to