int progressPercentage = (int) min(99, stats.getProgressPercentage().orElse(0.0)); reprintLine("80 characters wide"); reprintLine(""); reprintLine(stats.getState()); reprintLine(format("%s %d%%", formatTime(wallTime), progressPercentage)); return; int nodes = stats.getNodes(); stats.getState(), nodes, pluralize("node", nodes), stats.getTotalSplits()); reprintLine(querySummary); if ((nodes == 0) || (stats.getTotalSplits() == 0)) { return; stats.getQueuedSplits(), stats.getRunningSplits(), stats.getCompletedSplits()); reprintLine(splitsSummary); Duration cpuTime = millis(stats.getCpuTimeMillis()); String cpuTimeSummary = format("CPU Time: %.1fs total, %5s rows/s, %8s, %d%% active", cpuTime.getValue(SECONDS), formatCountRate(stats.getProcessedRows(), cpuTime, false), formatDataRate(bytes(stats.getProcessedBytes()), cpuTime, true),
public StatementStats build() { return new StatementStats( state, queued, scheduled, nodes, totalSplits, queuedSplits, runningSplits, completedSplits, cpuTimeMillis, wallTimeMillis, queuedTimeMillis, elapsedTimeMillis, processedRows, processedBytes, peakMemoryBytes, spilledBytes, rootStage); } }
private String createResults() { QueryResults queryResults = new QueryResults( "20160128_214710_00012_rk68b", server.url("/query.html?20160128_214710_00012_rk68b").uri(), null, null, ImmutableList.of(new Column("_col0", BigintType.BIGINT)), ImmutableList.of(ImmutableList.of(123)), StatementStats.builder().setState("FINISHED").build(), //new StatementStats("FINISHED", false, true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, null), null, ImmutableList.of(), null, null); return QUERY_RESULTS_CODEC.toJson(queryResults); }
int nodes = stats.getNodes(); if ((nodes == 0) || (stats.getTotalSplits() == 0)) { return; stats.getState(), nodes, pluralize("node", nodes)); stats.getTotalSplits(), stats.getCompletedSplits(), stats.getProgressPercentage().orElse(0.0)); out.println(splitsSummary); Duration cpuTime = millis(stats.getCpuTimeMillis()); String cpuTimeSummary = format("CPU Time: %.1fs total, %5s rows/s, %8s, %d%% active", cpuTime.getValue(SECONDS), formatCountRate(stats.getProcessedRows(), cpuTime, false), formatDataRate(bytes(stats.getProcessedBytes()), cpuTime, true), (int) percentage(stats.getCpuTimeMillis(), stats.getWallTimeMillis())); out.println(cpuTimeSummary); formatCountRate((double) stats.getProcessedRows() / nodes, wallTime, false), formatDataRate(bytes(stats.getProcessedBytes() / nodes), wallTime, true)); reprintLine(perNodeSummary); reprintLine("Peak Memory: " + formatDataSize(bytes(stats.getPeakMemoryBytes()), true)); if (stats.getSpilledBytes() > 0) { reprintLine("Spilled: " + formatDataSize(bytes(stats.getSpilledBytes()), true));
while (client.isRunning() && !client.currentStatusInfo().getStats().isScheduled()) { client.advance();
queryCpuTimeNanos[i] = MILLISECONDS.toNanos(statementStats.getCpuTimeMillis());
@Override public QueryStats currentStats() { if (client == null) { return new QueryStats(QueryStats.State.WAITING_FOR_AVAILABLE_THREAD); } if (client.isFailed()) { return new QueryStats(QueryStats.State.FAILED); } StatementStats stats = client.getStats(); int totalSplits = stats.getTotalSplits(); QueryStats.State state = QueryStats.State.valueOf(stats.getState().toUpperCase(Locale.ENGLISH)); int percentage = state == FINISHED ? 100 : (totalSplits == 0 ? 0 : stats.getCompletedSplits() * 100 / totalSplits); return new QueryStats(stats.isScheduled() ? percentage : null, state, stats.getNodes(), stats.getProcessedRows(), stats.getProcessedBytes(), stats.getUserTimeMillis(), stats.getCpuTimeMillis(), stats.getWallTimeMillis()); }
while (client.isRunning() && !client.currentStatusInfo().getStats().isScheduled()) { client.advance();
int progressPercentage = (int) min(99, percentage(stats.getCompletedSplits(), stats.getTotalSplits())); reprintLine("80 characters wide"); reprintLine(""); reprintLine(stats.getState()); reprintLine(String.format("%s %d%%", formatTime(wallTime), progressPercentage)); return; int nodes = stats.getNodes(); stats.getState(), nodes, pluralize("node", nodes), stats.getTotalSplits()); reprintLine(querySummary); if ((nodes == 0) || (stats.getTotalSplits() == 0)) { return; stats.getQueuedSplits(), stats.getRunningSplits(), stats.getCompletedSplits()); reprintLine(splitsSummary); Duration cpuTime = millis(stats.getCpuTimeMillis()); String cpuTimeSummary = String.format("CPU Time: %.1fs total, %5s rows/s, %8s, %d%% active", cpuTime.getValue(SECONDS), formatCountRate(stats.getProcessedRows(), cpuTime, false), formatDataRate(bytes(stats.getProcessedBytes()), cpuTime, true),
int nodes = stats.getNodes(); if ((nodes == 0) || (stats.getTotalSplits() == 0)) { return; stats.getState(), nodes, pluralize("node", nodes)); stats.getTotalSplits(), stats.getCompletedSplits(), percentage(stats.getCompletedSplits(), stats.getTotalSplits())); out.println(splitsSummary); Duration cpuTime = millis(stats.getCpuTimeMillis()); String cpuTimeSummary = String.format("CPU Time: %.1fs total, %5s rows/s, %8s, %d%% active", cpuTime.getValue(SECONDS), formatCountRate(stats.getProcessedRows(), cpuTime, false), formatDataRate(bytes(stats.getProcessedBytes()), cpuTime, true), (int) percentage(stats.getCpuTimeMillis(), stats.getWallTimeMillis())); out.println(cpuTimeSummary); formatCountRate((double) stats.getProcessedRows() / nodes, wallTime, false), formatDataRate(bytes(stats.getProcessedBytes() / nodes), wallTime, true)); reprintLine(perNodeSummary); formatCount(stats.getProcessedRows()), formatDataSize(bytes(stats.getProcessedBytes()), true), formatCountRate(stats.getProcessedRows(), wallTime, false), formatDataRate(bytes(stats.getProcessedBytes()), wallTime, true));
private String newQueryResults(Integer partialCancelId, Integer nextUriId, List<Column> responseColumns, List<List<Object>> data, String state) { String queryId = "20160128_214710_00012_rk68b"; QueryResults queryResults = new QueryResults( queryId, server.url("/query.html?" + queryId).uri(), partialCancelId == null ? null : server.url(format("/v1/stage/%s.%s", queryId, partialCancelId)).uri(), nextUriId == null ? null : server.url(format("/v1/statement/%s/%s", queryId, nextUriId)).uri(), responseColumns, data, new StatementStats(state, state.equals("QUEUED"), true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, null), null, ImmutableList.of(), null, null); return QUERY_RESULTS_CODEC.toJson(queryResults); }
null, null, StatementStats.builder() .setState(QueryState.QUEUED.toString()) .setQueued(true)
int progressPercentage = (int) min(99, stats.getProgressPercentage().orElse(0.0)); reprintLine("80 characters wide"); reprintLine(""); reprintLine(stats.getState()); reprintLine(format("%s %d%%", formatTime(wallTime), progressPercentage)); return; int nodes = stats.getNodes(); stats.getState(), nodes, pluralize("node", nodes), stats.getTotalSplits()); reprintLine(querySummary); if ((nodes == 0) || (stats.getTotalSplits() == 0)) { return; stats.getQueuedSplits(), stats.getRunningSplits(), stats.getCompletedSplits()); reprintLine(splitsSummary); Duration cpuTime = millis(stats.getCpuTimeMillis()); String cpuTimeSummary = format("CPU Time: %.1fs total, %5s rows/s, %8s, %d%% active", cpuTime.getValue(SECONDS), formatCountRate(stats.getProcessedRows(), cpuTime, false), formatDataRate(bytes(stats.getProcessedBytes()), cpuTime, true),
int nodes = stats.getNodes(); if ((nodes == 0) || (stats.getTotalSplits() == 0)) { return; stats.getState(), nodes, pluralize("node", nodes)); stats.getTotalSplits(), stats.getCompletedSplits(), stats.getProgressPercentage().orElse(0.0)); out.println(splitsSummary); Duration cpuTime = millis(stats.getCpuTimeMillis()); String cpuTimeSummary = format("CPU Time: %.1fs total, %5s rows/s, %8s, %d%% active", cpuTime.getValue(SECONDS), formatCountRate(stats.getProcessedRows(), cpuTime, false), formatDataRate(bytes(stats.getProcessedBytes()), cpuTime, true), (int) percentage(stats.getCpuTimeMillis(), stats.getWallTimeMillis())); out.println(cpuTimeSummary); formatCountRate((double) stats.getProcessedRows() / nodes, wallTime, false), formatDataRate(bytes(stats.getProcessedBytes() / nodes), wallTime, true)); reprintLine(perNodeSummary); reprintLine("Peak Memory: " + formatDataSize(bytes(stats.getPeakMemoryBytes()), true)); formatCount(stats.getProcessedRows()), formatDataSize(bytes(stats.getProcessedBytes()), true),
public StatementStats build() { return new StatementStats( state, scheduled, nodes, totalSplits, queuedSplits, runningSplits, completedSplits, userTimeMillis, cpuTimeMillis, wallTimeMillis, processedRows, processedBytes, rootStage); } }
private static StatementStats toStatementStats(QueryInfo queryInfo) { QueryStats queryStats = queryInfo.getQueryStats(); StageInfo outputStage = queryInfo.getOutputStage().orElse(null); return StatementStats.builder() .setState(queryInfo.getState().toString()) .setQueued(queryInfo.getState() == QueryState.QUEUED) .setScheduled(queryInfo.isScheduled()) .setNodes(globalUniqueNodes(outputStage).size()) .setTotalSplits(queryStats.getTotalDrivers()) .setQueuedSplits(queryStats.getQueuedDrivers()) .setRunningSplits(queryStats.getRunningDrivers() + queryStats.getBlockedDrivers()) .setCompletedSplits(queryStats.getCompletedDrivers()) .setCpuTimeMillis(queryStats.getTotalCpuTime().toMillis()) .setWallTimeMillis(queryStats.getTotalScheduledTime().toMillis()) .setQueuedTimeMillis(queryStats.getQueuedTime().toMillis()) .setElapsedTimeMillis(queryStats.getElapsedTime().toMillis()) .setProcessedRows(queryStats.getRawInputPositions()) .setProcessedBytes(queryStats.getRawInputDataSize().toBytes()) .setPeakMemoryBytes(queryStats.getPeakUserMemoryReservation().toBytes()) .setSpilledBytes(queryStats.getSpilledDataSize().toBytes()) .setRootStage(toStageStats(outputStage)) .build(); }
private String newQueryResults(Integer partialCancelId, Integer nextUriId, List<Column> responseColumns, List<List<Object>> data, String state) { String queryId = "20160128_214710_00012_rk68b"; QueryResults queryResults = new QueryResults( queryId, server.url("/query.html?" + queryId).uri(), partialCancelId == null ? null : server.url(format("/v1/stage/%s.%s", queryId, partialCancelId)).uri(), nextUriId == null ? null : server.url(format("/v1/statement/%s/%s", queryId, nextUriId)).uri(), responseColumns, data, new StatementStats(state, state.equals("QUEUED"), true, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, null), null, ImmutableList.of(), null, null); return QUERY_RESULTS_CODEC.toJson(queryResults); }
private static StatementStats toStatementStats(QueryInfo queryInfo) { QueryStats queryStats = queryInfo.getQueryStats(); return StatementStats.builder() .setState(queryInfo.getState().toString()) .setScheduled(queryInfo.isScheduled()) .setNodes(globalUniqueNodes(queryInfo.getOutputStage()).size()) .setTotalSplits(queryStats.getTotalDrivers()) .setQueuedSplits(queryStats.getQueuedDrivers()) .setRunningSplits(queryStats.getRunningDrivers()) .setCompletedSplits(queryStats.getCompletedDrivers()) .setUserTimeMillis(queryStats.getTotalUserTime().toMillis()) .setCpuTimeMillis(queryStats.getTotalCpuTime().toMillis()) .setWallTimeMillis(queryStats.getTotalScheduledTime().toMillis()) .setProcessedRows(queryStats.getRawInputPositions()) .setProcessedBytes(queryStats.getRawInputDataSize().toBytes()) .setRootStage(toStageStats(queryInfo.getOutputStage())) .build(); }