Skip to content

Commit 7ad7181

Browse files
committed
better logging
1 parent 3f7b17b commit 7ad7181

17 files changed

Lines changed: 516 additions & 259 deletions

File tree

src/main/java/org/apache/sysds/hops/DataOp.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,14 @@
1919

2020
package org.apache.sysds.hops;
2121

22+
import static org.apache.sysds.parser.DataExpression.FED_RANGES;
23+
2224
import java.util.HashMap;
2325
import java.util.Map.Entry;
2426

25-
import org.apache.commons.logging.Log;
26-
import org.apache.commons.logging.LogFactory;
2727
import org.apache.sysds.api.DMLScript;
2828
import org.apache.sysds.common.Types.DataType;
29+
import org.apache.sysds.common.Types.ExecType;
2930
import org.apache.sysds.common.Types.FileFormat;
3031
import org.apache.sysds.common.Types.OpOpData;
3132
import org.apache.sysds.common.Types.ValueType;
@@ -35,22 +36,21 @@
3536
import org.apache.sysds.lops.Data;
3637
import org.apache.sysds.lops.Federated;
3738
import org.apache.sysds.lops.Lop;
38-
import org.apache.sysds.common.Types.ExecType;
3939
import org.apache.sysds.lops.LopsException;
4040
import org.apache.sysds.lops.Sql;
4141
import org.apache.sysds.lops.Tee;
4242
import org.apache.sysds.parser.DataExpression;
43-
import static org.apache.sysds.parser.DataExpression.FED_RANGES;
4443
import org.apache.sysds.runtime.controlprogram.caching.MatrixObject.UpdateType;
4544
import org.apache.sysds.runtime.meta.DataCharacteristics;
4645
import org.apache.sysds.runtime.util.LocalFileUtils;
46+
import org.apache.sysds.utils.ParameterizedLogger;
4747

4848
/**
4949
* A DataOp can be either a persistent read/write or transient read/write - writes will always have at least one input,
5050
* but all types can have parameters (e.g., for csv literals of delimiter, header, etc).
5151
*/
5252
public class DataOp extends Hop {
53-
private static final Log LOG = LogFactory.getLog(DataOp.class.getName());
53+
private static final ParameterizedLogger LOG = ParameterizedLogger.getLogger(DataOp.class);
5454
private OpOpData _op;
5555
private String _fileName = null;
5656

@@ -130,9 +130,7 @@ public DataOp(String l, DataType dt, ValueType vt,
130130
String s = e.getKey();
131131
Hop input = e.getValue();
132132
getInput().add(input);
133-
if (LOG.isDebugEnabled()){
134-
LOG.debug(String.format("%15s - %s",s,input));
135-
}
133+
LOG.debug("{%15s} - {%s}", s, input);
136134
input.getParent().add(this);
137135

138136
_paramIndexMap.put(s, index);

src/main/java/org/apache/sysds/hops/cost/CostEstimator.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919

2020
package org.apache.sysds.hops.cost;
2121

22-
import org.apache.commons.logging.Log;
23-
import org.apache.commons.logging.LogFactory;
2422
import org.apache.sysds.common.Opcodes;
2523
import org.apache.sysds.conf.ConfigurationManager;
2624
import org.apache.sysds.hops.OptimizerUtils;
@@ -54,14 +52,15 @@
5452
import org.apache.sysds.runtime.matrix.operators.CMOperator;
5553
import org.apache.sysds.runtime.matrix.operators.CMOperator.AggregateOperationTypes;
5654
import org.apache.sysds.runtime.meta.DataCharacteristics;
55+
import org.apache.sysds.utils.ParameterizedLogger;
5756

5857
import java.util.ArrayList;
5958
import java.util.HashMap;
6059
import java.util.HashSet;
6160

6261
public abstract class CostEstimator
6362
{
64-
protected static final Log LOG = LogFactory.getLog(CostEstimator.class.getName());
63+
protected static final ParameterizedLogger LOG = ParameterizedLogger.getLogger(CostEstimator.class);
6564

6665
private static final int DEFAULT_NUMITER = 15;
6766

@@ -155,18 +154,16 @@ else if( pb instanceof BasicProgramBlock )
155154
//awareness of recursive functions, missing program
156155
if( !memoFunc.contains(fkey) && pb.getProgram()!=null )
157156
{
158-
if(LOG.isDebugEnabled())
159-
LOG.debug("Begin Function "+fkey);
160-
157+
LOG.debug("Begin Function {}", fkey);
158+
161159
memoFunc.add(fkey);
162160
Program prog = pb.getProgram();
163161
FunctionProgramBlock fpb = prog.getFunctionProgramBlock(
164162
finst.getNamespace(), finst.getFunctionName());
165163
ret += rGetTimeEstimate(fpb, stats, memoFunc, recursive);
166164
memoFunc.remove(fkey);
167-
168-
if(LOG.isDebugEnabled())
169-
LOG.debug("End Function "+fkey);
165+
166+
LOG.debug("End Function {}", fkey);
170167
}
171168
}
172169
}

src/main/java/org/apache/sysds/hops/cost/CostEstimatorStaticRuntime.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,8 @@ protected double getCPInstTimeEstimate( Instruction inst, VarStats[] vs, String[
8585
}
8686
vs[1]._inmem = true;
8787
}
88-
if( LOG.isDebugEnabled() && ltime!=0 ) {
89-
LOG.debug("Cost["+cpinst.getOpcode()+" - read] = "+ltime);
90-
}
88+
if(ltime != 0)
89+
LOG.debug("Cost[{} - read] = {}", cpinst.getOpcode(), ltime);
9190

9291
//exec time CP instruction
9392
String opcode = (cpinst instanceof FunctionCallCPInstruction) ? InstructionUtils.getOpCode(cpinst.toString()) : cpinst.getOpcode();
@@ -99,9 +98,8 @@ protected double getCPInstTimeEstimate( Instruction inst, VarStats[] vs, String[
9998
if( inst instanceof VariableCPInstruction && ((VariableCPInstruction)inst).getOpcode().equals(Opcodes.WRITE.toString()) )
10099
wtime += getHDFSWriteTime(vs[2].getRows(), vs[2].getCols(), vs[2].getSparsity(), ((VariableCPInstruction)inst).getInput3().getName() );
101100

102-
if( LOG.isDebugEnabled() && wtime!=0 ) {
103-
LOG.debug("Cost["+cpinst.getOpcode()+" - write] = "+wtime);
104-
}
101+
if(wtime != 0)
102+
LOG.debug("Cost[{} - write] = {}", cpinst.getOpcode(), wtime);
105103

106104
//total costs
107105
double costs = ltime + etime + wtime;
@@ -261,8 +259,8 @@ private static double getInstTimeEstimate( String opcode, boolean inMR, long d1m
261259
double nflops = getNFLOP(opcode, inMR, d1m, d1n, d1s, d2m, d2n, d2s, d3m, d3n, d3s, args);
262260
double time = nflops / DEFAULT_FLOPS;
263261

264-
if( LOG.isDebugEnabled() )
265-
LOG.debug("Cost["+opcode+"] = "+time+"s, "+nflops+" flops ("+d1m+","+d1n+","+d1s+","+d2m+","+d2n+","+d2s+","+d3m+","+d3n+","+d3s+").");
262+
LOG.debug("Cost[{}] = {}s, {} flops ({},{},{},{},{},{},{},{},{}).",
263+
opcode, time, nflops, d1m, d1n, d1s, d2m, d2n, d2s, d3m, d3n, d3s);
266264

267265
return time;
268266
}

src/main/java/org/apache/sysds/hops/rewrite/RewriteInjectOOCTee.java

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.apache.sysds.hops.Hop;
2727
import org.apache.sysds.hops.ReorgOp;
2828
import org.apache.sysds.parser.StatementBlock;
29+
import org.apache.sysds.utils.ParameterizedLogger;
2930

3031
import java.util.ArrayList;
3132
import java.util.HashMap;
@@ -51,6 +52,7 @@
5152
* {@code TeeOp}, and safely rewire the graph.
5253
*/
5354
public class RewriteInjectOOCTee extends StatementBlockRewriteRule {
55+
private static final ParameterizedLogger LOG = ParameterizedLogger.getLogger(RewriteInjectOOCTee.class);
5456

5557
public static boolean APPLY_ONLY_XtX_PATTERN = false;
5658

@@ -138,10 +140,7 @@ private void applyTopDownTeeRewrite(Hop sharedInput) {
138140
}
139141

140142
int consumerCount = sharedInput.getParent().size();
141-
if (LOG.isDebugEnabled()) {
142-
LOG.debug("Inject tee for hop " + sharedInput.getHopID() + " ("
143-
+ sharedInput.getName() + "), consumers=" + consumerCount);
144-
}
143+
LOG.debug("Inject tee for hop {} ({}), consumers={}", sharedInput.getHopID(), sharedInput.getName(), consumerCount);
145144

146145
// Take a defensive copy of consumers before modifying the graph
147146
ArrayList<Hop> consumers = new ArrayList<>(sharedInput.getParent());
@@ -161,10 +160,7 @@ private void applyTopDownTeeRewrite(Hop sharedInput) {
161160
handledHop.put(sharedInput.getHopID(), teeOp);
162161
rewrittenHops.add(sharedInput.getHopID());
163162

164-
if (LOG.isDebugEnabled()) {
165-
LOG.debug("Created tee hop " + teeOp.getHopID() + " -> "
166-
+ teeOp.getName());
167-
}
163+
LOG.debug("Created tee hop {} -> {}", teeOp.getHopID(), teeOp.getName());
168164
}
169165

170166
@SuppressWarnings("unused")
@@ -276,11 +272,8 @@ private void removeRedundantTeeChains(Hop hop) {
276272
if (HopRewriteUtils.isData(hop, OpOpData.TEE) && hop.getInput().size() == 1) {
277273
Hop teeInput = hop.getInput().get(0);
278274
if (HopRewriteUtils.isData(teeInput, OpOpData.TEE)) {
279-
if (LOG.isDebugEnabled()) {
280-
LOG.debug("Remove redundant tee hop " + hop.getHopID()
281-
+ " (" + hop.getName() + ") -> " + teeInput.getHopID()
282-
+ " (" + teeInput.getName() + ")");
283-
}
275+
LOG.debug("Remove redundant tee hop {} ({}) -> {} ({})",
276+
hop.getHopID(), hop.getName(), teeInput.getHopID(), teeInput.getName());
284277
HopRewriteUtils.rewireAllParentChildReferences(hop, teeInput);
285278
HopRewriteUtils.removeAllChildReferences(hop);
286279
}

0 commit comments

Comments
 (0)