Java源码示例:org.apache.flink.runtime.rest.handler.util.MutableIOMetrics
示例1
@Override
protected SubtaskExecutionAttemptDetailsInfo handleRequest(
HandlerRequest<EmptyRequestBody, SubtaskMessageParameters> request,
AccessExecutionVertex executionVertex) throws RestHandlerException {
final AccessExecution execution = executionVertex.getCurrentExecutionAttempt();
final MutableIOMetrics ioMetrics = new MutableIOMetrics();
final JobID jobID = request.getPathParameter(JobIDPathParameter.class);
final JobVertexID jobVertexID = request.getPathParameter(JobVertexIdPathParameter.class);
ioMetrics.addIOMetrics(
execution,
metricFetcher,
jobID.toString(),
jobVertexID.toString()
);
return SubtaskExecutionAttemptDetailsInfo.create(execution, ioMetrics);
}
示例2
private static SubtaskExecutionAttemptDetailsInfo createDetailsInfo(
AccessExecution execution,
JobID jobID,
JobVertexID jobVertexID,
@Nullable MetricFetcher metricFetcher) {
final MutableIOMetrics ioMetrics = new MutableIOMetrics();
ioMetrics.addIOMetrics(
execution,
metricFetcher,
jobID.toString(),
jobVertexID.toString()
);
return SubtaskExecutionAttemptDetailsInfo.create(execution, ioMetrics);
}
示例3
@Override
protected SubtaskExecutionAttemptDetailsInfo handleRequest(
HandlerRequest<EmptyRequestBody, SubtaskMessageParameters> request,
AccessExecutionVertex executionVertex) throws RestHandlerException {
final AccessExecution execution = executionVertex.getCurrentExecutionAttempt();
final MutableIOMetrics ioMetrics = new MutableIOMetrics();
final JobID jobID = request.getPathParameter(JobIDPathParameter.class);
final JobVertexID jobVertexID = request.getPathParameter(JobVertexIdPathParameter.class);
ioMetrics.addIOMetrics(
execution,
metricFetcher,
jobID.toString(),
jobVertexID.toString()
);
return SubtaskExecutionAttemptDetailsInfo.create(execution, ioMetrics);
}
示例4
private static SubtaskExecutionAttemptDetailsInfo createDetailsInfo(
AccessExecution execution,
JobID jobID,
JobVertexID jobVertexID,
@Nullable MetricFetcher metricFetcher) {
final MutableIOMetrics ioMetrics = new MutableIOMetrics();
ioMetrics.addIOMetrics(
execution,
metricFetcher,
jobID.toString(),
jobVertexID.toString()
);
return SubtaskExecutionAttemptDetailsInfo.create(execution, ioMetrics);
}
示例5
public static SubtaskExecutionAttemptDetailsInfo create(AccessExecution execution, MutableIOMetrics ioMetrics) {
final ExecutionState status = execution.getState();
final long now = System.currentTimeMillis();
final TaskManagerLocation location = execution.getAssignedResourceLocation();
final String locationString = location == null ? "(unassigned)" : location.getHostname();
long startTime = execution.getStateTimestamp(ExecutionState.DEPLOYING);
if (startTime == 0) {
startTime = -1;
}
final long endTime = status.isTerminal() ? execution.getStateTimestamp(status) : -1;
final long duration = startTime > 0 ? ((endTime > 0 ? endTime : now) - startTime) : -1;
final IOMetricsInfo ioMetricsInfo = new IOMetricsInfo(
ioMetrics.getNumBytesInLocal() + ioMetrics.getNumBytesInRemote(),
ioMetrics.isNumBytesInLocalComplete() && ioMetrics.isNumBytesInRemoteComplete(),
ioMetrics.getNumBytesOut(),
ioMetrics.isNumBytesOutComplete(),
ioMetrics.getNumRecordsIn(),
ioMetrics.isNumRecordsInComplete(),
ioMetrics.getNumRecordsOut(),
ioMetrics.isNumRecordsOutComplete());
return new SubtaskExecutionAttemptDetailsInfo(
execution.getParallelSubtaskIndex(),
status,
execution.getAttemptNumber(),
locationString,
startTime,
endTime,
duration,
ioMetricsInfo
);
}
示例6
public static SubtaskExecutionAttemptDetailsInfo create(AccessExecution execution, MutableIOMetrics ioMetrics) {
final ExecutionState status = execution.getState();
final long now = System.currentTimeMillis();
final TaskManagerLocation location = execution.getAssignedResourceLocation();
final String locationString = location == null ? "(unassigned)" : location.getHostname();
long startTime = execution.getStateTimestamp(ExecutionState.DEPLOYING);
if (startTime == 0) {
startTime = -1;
}
final long endTime = status.isTerminal() ? execution.getStateTimestamp(status) : -1;
final long duration = startTime > 0 ? ((endTime > 0 ? endTime : now) - startTime) : -1;
final IOMetricsInfo ioMetricsInfo = new IOMetricsInfo(
ioMetrics.getNumBytesIn(),
ioMetrics.isNumBytesInComplete(),
ioMetrics.getNumBytesOut(),
ioMetrics.isNumBytesOutComplete(),
ioMetrics.getNumRecordsIn(),
ioMetrics.isNumRecordsInComplete(),
ioMetrics.getNumRecordsOut(),
ioMetrics.isNumRecordsOutComplete());
return new SubtaskExecutionAttemptDetailsInfo(
execution.getParallelSubtaskIndex(),
status,
execution.getAttemptNumber(),
locationString,
startTime,
endTime,
duration,
ioMetricsInfo
);
}
示例7
private static JobVertexDetailsInfo createJobVertexDetailsInfo(AccessExecutionJobVertex jobVertex, JobID jobID, @Nullable MetricFetcher metricFetcher) {
List<JobVertexDetailsInfo.VertexTaskDetail> subtasks = new ArrayList<>();
final long now = System.currentTimeMillis();
int num = 0;
for (AccessExecutionVertex vertex : jobVertex.getTaskVertices()) {
final ExecutionState status = vertex.getExecutionState();
TaskManagerLocation location = vertex.getCurrentAssignedResourceLocation();
String locationString = location == null ? "(unassigned)" : location.getHostname() + ":" + location.dataPort();
long startTime = vertex.getStateTimestamp(ExecutionState.DEPLOYING);
if (startTime == 0) {
startTime = -1;
}
long endTime = status.isTerminal() ? vertex.getStateTimestamp(status) : -1;
long duration = startTime > 0 ? ((endTime > 0 ? endTime : now) - startTime) : -1;
MutableIOMetrics counts = new MutableIOMetrics();
counts.addIOMetrics(
vertex.getCurrentExecutionAttempt(),
metricFetcher,
jobID.toString(),
jobVertex.getJobVertexId().toString());
subtasks.add(new JobVertexDetailsInfo.VertexTaskDetail(
num,
status,
vertex.getCurrentExecutionAttempt().getAttemptNumber(),
locationString,
startTime,
endTime,
duration,
new IOMetricsInfo(
counts.getNumBytesInLocal() + counts.getNumBytesInRemote(),
counts.isNumBytesInLocalComplete() && counts.isNumBytesInRemoteComplete(),
counts.getNumBytesOut(),
counts.isNumBytesOutComplete(),
counts.getNumRecordsIn(),
counts.isNumRecordsInComplete(),
counts.getNumRecordsOut(),
counts.isNumRecordsOutComplete())));
num++;
}
return new JobVertexDetailsInfo(
jobVertex.getJobVertexId(),
jobVertex.getName(),
jobVertex.getParallelism(),
now,
subtasks);
}
示例8
private static JobVertexDetailsInfo createJobVertexDetailsInfo(AccessExecutionJobVertex jobVertex, JobID jobID, @Nullable MetricFetcher metricFetcher) {
List<JobVertexDetailsInfo.VertexTaskDetail> subtasks = new ArrayList<>();
final long now = System.currentTimeMillis();
int num = 0;
for (AccessExecutionVertex vertex : jobVertex.getTaskVertices()) {
final ExecutionState status = vertex.getExecutionState();
TaskManagerLocation location = vertex.getCurrentAssignedResourceLocation();
String locationString = location == null ? "(unassigned)" : location.getHostname() + ":" + location.dataPort();
long startTime = vertex.getStateTimestamp(ExecutionState.DEPLOYING);
if (startTime == 0) {
startTime = -1;
}
long endTime = status.isTerminal() ? vertex.getStateTimestamp(status) : -1;
long duration = startTime > 0 ? ((endTime > 0 ? endTime : now) - startTime) : -1;
MutableIOMetrics counts = new MutableIOMetrics();
counts.addIOMetrics(
vertex.getCurrentExecutionAttempt(),
metricFetcher,
jobID.toString(),
jobVertex.getJobVertexId().toString());
subtasks.add(new JobVertexDetailsInfo.VertexTaskDetail(
num,
status,
vertex.getCurrentExecutionAttempt().getAttemptNumber(),
locationString,
startTime,
endTime,
duration,
new IOMetricsInfo(
counts.getNumBytesIn(),
counts.isNumBytesInComplete(),
counts.getNumBytesOut(),
counts.isNumBytesOutComplete(),
counts.getNumRecordsIn(),
counts.isNumRecordsInComplete(),
counts.getNumRecordsOut(),
counts.isNumRecordsOutComplete())));
num++;
}
return new JobVertexDetailsInfo(
jobVertex.getJobVertexId(),
jobVertex.getName(),
jobVertex.getParallelism(),
now,
subtasks);
}
示例9
public static SubtaskExecutionAttemptDetailsInfo create(AccessExecution execution, @Nullable MetricFetcher metricFetcher, JobID jobID, JobVertexID jobVertexID) {
final ExecutionState status = execution.getState();
final long now = System.currentTimeMillis();
final TaskManagerLocation location = execution.getAssignedResourceLocation();
final String locationString = location == null ? "(unassigned)" : location.getHostname();
String taskmanagerId = location == null ? "(unassigned)" : location.getResourceID().toString();
long startTime = execution.getStateTimestamp(ExecutionState.DEPLOYING);
if (startTime == 0) {
startTime = -1;
}
final long endTime = status.isTerminal() ? execution.getStateTimestamp(status) : -1;
final long duration = startTime > 0 ? ((endTime > 0 ? endTime : now) - startTime) : -1;
final MutableIOMetrics ioMetrics = new MutableIOMetrics();
ioMetrics.addIOMetrics(
execution,
metricFetcher,
jobID.toString(),
jobVertexID.toString()
);
final IOMetricsInfo ioMetricsInfo = new IOMetricsInfo(
ioMetrics.getNumBytesIn(),
ioMetrics.isNumBytesInComplete(),
ioMetrics.getNumBytesOut(),
ioMetrics.isNumBytesOutComplete(),
ioMetrics.getNumRecordsIn(),
ioMetrics.isNumRecordsInComplete(),
ioMetrics.getNumRecordsOut(),
ioMetrics.isNumRecordsOutComplete());
return new SubtaskExecutionAttemptDetailsInfo(
execution.getParallelSubtaskIndex(),
status,
execution.getAttemptNumber(),
locationString,
startTime,
endTime,
duration,
ioMetricsInfo,
taskmanagerId
);
}