|
@@ -63,14 +63,14 @@ public class ActivitiesLogger {
|
|
ActivitiesManager activitiesManager, SchedulerNode node,
|
|
ActivitiesManager activitiesManager, SchedulerNode node,
|
|
SchedulerApplicationAttempt application, Priority priority,
|
|
SchedulerApplicationAttempt application, Priority priority,
|
|
String diagnostic) {
|
|
String diagnostic) {
|
|
- String type = "app";
|
|
|
|
- if (node == null || activitiesManager == null) {
|
|
|
|
|
|
+ NodeId nodeId = getRecordingNodeId(activitiesManager, node);
|
|
|
|
+ if (nodeId == null) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (activitiesManager.shouldRecordThisNode(node.getNodeID())) {
|
|
|
|
- recordActivity(activitiesManager, node, application.getQueueName(),
|
|
|
|
|
|
+ if (activitiesManager.shouldRecordThisNode(nodeId)) {
|
|
|
|
+ recordActivity(activitiesManager, nodeId, application.getQueueName(),
|
|
application.getApplicationId().toString(), priority,
|
|
application.getApplicationId().toString(), priority,
|
|
- ActivityState.REJECTED, diagnostic, type);
|
|
|
|
|
|
+ ActivityState.REJECTED, diagnostic, "app");
|
|
}
|
|
}
|
|
finishSkippedAppAllocationRecording(activitiesManager,
|
|
finishSkippedAppAllocationRecording(activitiesManager,
|
|
application.getApplicationId(), ActivityState.REJECTED, diagnostic);
|
|
application.getApplicationId(), ActivityState.REJECTED, diagnostic);
|
|
@@ -85,18 +85,19 @@ public class ActivitiesLogger {
|
|
ActivitiesManager activitiesManager, SchedulerNode node,
|
|
ActivitiesManager activitiesManager, SchedulerNode node,
|
|
SchedulerApplicationAttempt application, Priority priority,
|
|
SchedulerApplicationAttempt application, Priority priority,
|
|
String diagnostic, ActivityState appState) {
|
|
String diagnostic, ActivityState appState) {
|
|
- if (node == null || activitiesManager == null) {
|
|
|
|
|
|
+ NodeId nodeId = getRecordingNodeId(activitiesManager, node);
|
|
|
|
+ if (nodeId == null) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (activitiesManager.shouldRecordThisNode(node.getNodeID())) {
|
|
|
|
|
|
+ if (activitiesManager.shouldRecordThisNode(nodeId)) {
|
|
String type = "container";
|
|
String type = "container";
|
|
// Add application-container activity into specific node allocation.
|
|
// Add application-container activity into specific node allocation.
|
|
- activitiesManager.addSchedulingActivityForNode(node,
|
|
|
|
|
|
+ activitiesManager.addSchedulingActivityForNode(nodeId,
|
|
application.getApplicationId().toString(), null,
|
|
application.getApplicationId().toString(), null,
|
|
priority.toString(), ActivityState.SKIPPED, diagnostic, type);
|
|
priority.toString(), ActivityState.SKIPPED, diagnostic, type);
|
|
type = "app";
|
|
type = "app";
|
|
// Add queue-application activity into specific node allocation.
|
|
// Add queue-application activity into specific node allocation.
|
|
- activitiesManager.addSchedulingActivityForNode(node,
|
|
|
|
|
|
+ activitiesManager.addSchedulingActivityForNode(nodeId,
|
|
application.getQueueName(),
|
|
application.getQueueName(),
|
|
application.getApplicationId().toString(),
|
|
application.getApplicationId().toString(),
|
|
application.getPriority().toString(), ActivityState.SKIPPED,
|
|
application.getPriority().toString(), ActivityState.SKIPPED,
|
|
@@ -122,20 +123,21 @@ public class ActivitiesLogger {
|
|
ActivitiesManager activitiesManager, SchedulerNode node,
|
|
ActivitiesManager activitiesManager, SchedulerNode node,
|
|
SchedulerApplicationAttempt application, RMContainer updatedContainer,
|
|
SchedulerApplicationAttempt application, RMContainer updatedContainer,
|
|
ActivityState activityState) {
|
|
ActivityState activityState) {
|
|
- if (node == null || activitiesManager == null) {
|
|
|
|
|
|
+ NodeId nodeId = getRecordingNodeId(activitiesManager, node);
|
|
|
|
+ if (nodeId == null) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (activitiesManager.shouldRecordThisNode(node.getNodeID())) {
|
|
|
|
|
|
+ if (activitiesManager.shouldRecordThisNode(nodeId)) {
|
|
String type = "container";
|
|
String type = "container";
|
|
// Add application-container activity into specific node allocation.
|
|
// Add application-container activity into specific node allocation.
|
|
- activitiesManager.addSchedulingActivityForNode(node,
|
|
|
|
|
|
+ activitiesManager.addSchedulingActivityForNode(nodeId,
|
|
application.getApplicationId().toString(),
|
|
application.getApplicationId().toString(),
|
|
updatedContainer.getContainer().toString(),
|
|
updatedContainer.getContainer().toString(),
|
|
updatedContainer.getContainer().getPriority().toString(),
|
|
updatedContainer.getContainer().getPriority().toString(),
|
|
activityState, ActivityDiagnosticConstant.EMPTY, type);
|
|
activityState, ActivityDiagnosticConstant.EMPTY, type);
|
|
type = "app";
|
|
type = "app";
|
|
// Add queue-application activity into specific node allocation.
|
|
// Add queue-application activity into specific node allocation.
|
|
- activitiesManager.addSchedulingActivityForNode(node,
|
|
|
|
|
|
+ activitiesManager.addSchedulingActivityForNode(nodeId,
|
|
application.getQueueName(),
|
|
application.getQueueName(),
|
|
application.getApplicationId().toString(),
|
|
application.getApplicationId().toString(),
|
|
application.getPriority().toString(), ActivityState.ACCEPTED,
|
|
application.getPriority().toString(), ActivityState.ACCEPTED,
|
|
@@ -161,11 +163,12 @@ public class ActivitiesLogger {
|
|
ActivitiesManager activitiesManager, FiCaSchedulerNode node,
|
|
ActivitiesManager activitiesManager, FiCaSchedulerNode node,
|
|
long currentTime,
|
|
long currentTime,
|
|
SchedulerApplicationAttempt application) {
|
|
SchedulerApplicationAttempt application) {
|
|
- if (node == null || activitiesManager == null) {
|
|
|
|
|
|
+ NodeId nodeId = getRecordingNodeId(activitiesManager, node);
|
|
|
|
+ if (nodeId == null) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
activitiesManager
|
|
activitiesManager
|
|
- .startAppAllocationRecording(node.getNodeID(), currentTime,
|
|
|
|
|
|
+ .startAppAllocationRecording(nodeId, currentTime,
|
|
application);
|
|
application);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -211,11 +214,12 @@ public class ActivitiesLogger {
|
|
public static void recordQueueActivity(ActivitiesManager activitiesManager,
|
|
public static void recordQueueActivity(ActivitiesManager activitiesManager,
|
|
SchedulerNode node, String parentQueueName, String queueName,
|
|
SchedulerNode node, String parentQueueName, String queueName,
|
|
ActivityState state, String diagnostic) {
|
|
ActivityState state, String diagnostic) {
|
|
- if (node == null || activitiesManager == null) {
|
|
|
|
|
|
+ NodeId nodeId = getRecordingNodeId(activitiesManager, node);
|
|
|
|
+ if (nodeId == null) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (activitiesManager.shouldRecordThisNode(node.getNodeID())) {
|
|
|
|
- recordActivity(activitiesManager, node, parentQueueName, queueName,
|
|
|
|
|
|
+ if (activitiesManager.shouldRecordThisNode(nodeId)) {
|
|
|
|
+ recordActivity(activitiesManager, nodeId, parentQueueName, queueName,
|
|
null, state, diagnostic, null);
|
|
null, state, diagnostic, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -243,11 +247,12 @@ public class ActivitiesLogger {
|
|
public static void finishAllocatedNodeAllocation(
|
|
public static void finishAllocatedNodeAllocation(
|
|
ActivitiesManager activitiesManager, SchedulerNode node,
|
|
ActivitiesManager activitiesManager, SchedulerNode node,
|
|
ContainerId containerId, AllocationState containerState) {
|
|
ContainerId containerId, AllocationState containerState) {
|
|
- if (node == null || activitiesManager == null) {
|
|
|
|
|
|
+ NodeId nodeId = getRecordingNodeId(activitiesManager, node);
|
|
|
|
+ if (nodeId == null) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (activitiesManager.shouldRecordThisNode(node.getNodeID())) {
|
|
|
|
- activitiesManager.updateAllocationFinalState(node.getNodeID(),
|
|
|
|
|
|
+ if (activitiesManager.shouldRecordThisNode(nodeId)) {
|
|
|
|
+ activitiesManager.updateAllocationFinalState(nodeId,
|
|
containerId, containerState);
|
|
containerId, containerState);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -277,12 +282,16 @@ public class ActivitiesLogger {
|
|
|
|
|
|
// Add queue, application or container activity into specific node allocation.
|
|
// Add queue, application or container activity into specific node allocation.
|
|
private static void recordActivity(ActivitiesManager activitiesManager,
|
|
private static void recordActivity(ActivitiesManager activitiesManager,
|
|
- SchedulerNode node, String parentName, String childName,
|
|
|
|
|
|
+ NodeId nodeId, String parentName, String childName,
|
|
Priority priority, ActivityState state, String diagnostic, String type) {
|
|
Priority priority, ActivityState state, String diagnostic, String type) {
|
|
-
|
|
|
|
- activitiesManager.addSchedulingActivityForNode(node, parentName,
|
|
|
|
|
|
+ activitiesManager.addSchedulingActivityForNode(nodeId, parentName,
|
|
childName, priority != null ? priority.toString() : null, state,
|
|
childName, priority != null ? priority.toString() : null, state,
|
|
diagnostic, type);
|
|
diagnostic, type);
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ private static NodeId getRecordingNodeId(ActivitiesManager activitiesManager,
|
|
|
|
+ SchedulerNode node) {
|
|
|
|
+ return activitiesManager == null ? null :
|
|
|
|
+ activitiesManager.getRecordingNodeId(node);
|
|
}
|
|
}
|
|
}
|
|
}
|