public static void monitorPipe(GraphManager gm, int pipeId, File targetFile) { try { final PrintWriter target = new PrintWriter(targetFile); new ConsoleJSONDumpStage(gm, PipeMonitor.addMonitor(getPipe(gm, pipeId)), target) { @Override public void shutdown() { super.shutdown(); target.close(); } }; } catch (FileNotFoundException e) { throw new RuntimeException(e); } }
private final long amountOfWork(int stageId) { int[] rings = GraphManager.getInputRingIdsForStage(graphManager, stageId); int index = rings.length; int totalWork = 0; while((index > 0) && (rings[index] >= 0)) { Pipe ring = GraphManager.getPipe(graphManager, rings[index]); totalWork += Pipe.contentRemaining(ring); --index; } return totalWork; }
public static void monitorPipe(GraphManager gm, int pipeId, Appendable target) { ConsoleJSONDumpStage.newInstance(gm, PipeMonitor.addMonitor(getPipe(gm, pipeId)), target); }
private boolean isValidToCombine(int ringId, int consumerId, int producerId, GraphManager graphManager) { Pipe p = GraphManager.getPipe(graphManager, ringId);
Pipe p = GraphManager.getPipe(graphManager, ringId); if (Pipe.schemaName(p).contains("Ack") || Pipe.schemaName(p).contains("Release") ) { return false;//never use an Ack connection as the primary data flow.