Search in sources :

Example 6 with StageExecutionInfo

use of com.facebook.presto.execution.StageExecutionInfo in project presto by prestodb.

the class LegacySqlQueryScheduler method buildStageInfo.

private StageInfo buildStageInfo(SubPlan subPlan, Map<StageId, StageExecutionInfo> stageExecutionInfos) {
    StageId stageId = getStageId(subPlan.getFragment().getId());
    StageExecutionInfo stageExecutionInfo = stageExecutionInfos.get(stageId);
    checkArgument(stageExecutionInfo != null, "No stageExecutionInfo for %s", stageId);
    return new StageInfo(stageId, locationFactory.createStageLocation(stageId), Optional.of(subPlan.getFragment()), stageExecutionInfo, ImmutableList.of(), subPlan.getChildren().stream().map(plan -> buildStageInfo(plan, stageExecutionInfos)).collect(toImmutableList()), runtimeOptimizedStages.contains(stageId));
}
Also used : StageInfo(com.facebook.presto.execution.StageInfo) StageId(com.facebook.presto.execution.StageId) StageExecutionInfo(com.facebook.presto.execution.StageExecutionInfo)

Example 7 with StageExecutionInfo

use of com.facebook.presto.execution.StageExecutionInfo in project presto by prestodb.

the class QueryResourceUtil method toStageStats.

private static StageStats toStageStats(StageInfo stageInfo) {
    if (stageInfo == null) {
        return null;
    }
    StageExecutionInfo currentStageExecutionInfo = stageInfo.getLatestAttemptExecutionInfo();
    StageExecutionStats stageExecutionStats = currentStageExecutionInfo.getStats();
    ImmutableList.Builder<StageStats> subStages = ImmutableList.builder();
    for (StageInfo subStage : stageInfo.getSubStages()) {
        subStages.add(toStageStats(subStage));
    }
    Set<String> uniqueNodes = new HashSet<>();
    for (TaskInfo task : currentStageExecutionInfo.getTasks()) {
        // todo add nodeId to TaskInfo
        URI uri = task.getTaskStatus().getSelf();
        uniqueNodes.add(uri.getHost() + ":" + uri.getPort());
    }
    return StageStats.builder().setStageId(String.valueOf(stageInfo.getStageId().getId())).setState(currentStageExecutionInfo.getState().toString()).setDone(currentStageExecutionInfo.getState().isDone()).setNodes(uniqueNodes.size()).setTotalSplits(stageExecutionStats.getTotalDrivers()).setQueuedSplits(stageExecutionStats.getQueuedDrivers()).setRunningSplits(stageExecutionStats.getRunningDrivers() + stageExecutionStats.getBlockedDrivers()).setCompletedSplits(stageExecutionStats.getCompletedDrivers()).setCpuTimeMillis(stageExecutionStats.getTotalCpuTime().toMillis()).setWallTimeMillis(stageExecutionStats.getTotalScheduledTime().toMillis()).setProcessedRows(stageExecutionStats.getRawInputPositions()).setProcessedBytes(stageExecutionStats.getRawInputDataSize().toBytes()).setSubStages(subStages.build()).build();
}
Also used : TaskInfo(com.facebook.presto.execution.TaskInfo) ImmutableList(com.google.common.collect.ImmutableList) StageStats(com.facebook.presto.client.StageStats) StageInfo(com.facebook.presto.execution.StageInfo) StageExecutionInfo(com.facebook.presto.execution.StageExecutionInfo) StageExecutionStats(com.facebook.presto.execution.StageExecutionStats) URI(java.net.URI) HashSet(java.util.HashSet)

Aggregations

StageExecutionInfo (com.facebook.presto.execution.StageExecutionInfo)7 StageInfo (com.facebook.presto.execution.StageInfo)6 StageId (com.facebook.presto.execution.StageId)4 TaskInfo (com.facebook.presto.execution.TaskInfo)4 Distribution (com.facebook.airlift.stats.Distribution)2 SqlStageExecution (com.facebook.presto.execution.SqlStageExecution)2 SerializedTaskInfo (com.facebook.presto.spark.classloader_interface.SerializedTaskInfo)2 PlanFragmentId (com.facebook.presto.sql.planner.plan.PlanFragmentId)2 MoreFutures.tryGetFutureValue (com.facebook.airlift.concurrent.MoreFutures.tryGetFutureValue)1 MoreFutures.whenAnyComplete (com.facebook.airlift.concurrent.MoreFutures.whenAnyComplete)1 SetThreadName (com.facebook.airlift.concurrent.SetThreadName)1 HttpUriBuilder.uriBuilderFrom (com.facebook.airlift.http.client.HttpUriBuilder.uriBuilderFrom)1 Logger (com.facebook.airlift.log.Logger)1 TimeStat (com.facebook.airlift.stats.TimeStat)1 Session (com.facebook.presto.Session)1 SystemSessionProperties.getMaxConcurrentMaterializations (com.facebook.presto.SystemSessionProperties.getMaxConcurrentMaterializations)1 SystemSessionProperties.getPartialResultsCompletionRatioThreshold (com.facebook.presto.SystemSessionProperties.getPartialResultsCompletionRatioThreshold)1 SystemSessionProperties.getPartialResultsMaxExecutionTimeMultiplier (com.facebook.presto.SystemSessionProperties.getPartialResultsMaxExecutionTimeMultiplier)1 SystemSessionProperties.isPartialResultsEnabled (com.facebook.presto.SystemSessionProperties.isPartialResultsEnabled)1 SystemSessionProperties.isRuntimeOptimizerEnabled (com.facebook.presto.SystemSessionProperties.isRuntimeOptimizerEnabled)1