@Override public void readFields(DataInput input) throws IOException { super.readFields(input); nodeId = input.readUTF(); int size = input.readInt(); taskProfiles = new HashMap<>(); for (int i = 0; i < size; i++) { TaskAttemptId key = TaskAttemptId.create(input); TaskProfile value = TaskProfile.create(input); taskProfiles.put(key, value); } }
@Override public void writeFields(DataOutput output) throws IOException { super.writeFields(output); output.writeUTF(nodeId); output.writeInt(taskProfiles.size()); for (Entry<TaskAttemptId, TaskProfile> entry : taskProfiles.entrySet()) { entry.getKey().writeFields(output); entry.getValue().writeFields(output); } } }
public void merge(JobletProfile jp) { super.merge(this); for (TaskProfile tp : jp.taskProfiles.values()) { if (taskProfiles.containsKey(tp.getTaskId())) { taskProfiles.get(tp.getTaskId()).merge(tp); } else { taskProfiles.put(tp.getTaskId(), tp); } } }
public void merge(JobProfile other) { super.merge(this); for (JobletProfile jp : other.jobletProfiles.values()) { if (jobletProfiles.containsKey(jp.getNodeId())) { jobletProfiles.get(jp.getNodeId()).merge(jp); } else { jobletProfiles.put(jp.getNodeId(), jp); } } }
@Override public void readFields(DataInput input) throws IOException { super.readFields(input); taskAttemptId = TaskAttemptId.create(input); int size = input.readInt(); partitionSendProfile = new HashMap<>(); for (int i = 0; i < size; i++) { PartitionId key = PartitionId.create(input); PartitionProfile value = PartitionProfile.create(input); partitionSendProfile.put(key, value); } statsCollector = StatsCollector.create(input); }
@Override public void writeFields(DataOutput output) throws IOException { super.writeFields(output); taskAttemptId.writeFields(output); output.writeInt(partitionSendProfile.size()); for (Entry<PartitionId, PartitionProfile> entry : partitionSendProfile.entrySet()) { entry.getKey().writeFields(output); entry.getValue().writeFields(output); } statsCollector.writeFields(output); } }