/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.hadoop.tools.rumen; public class TaskInfo { private final long bytesIn; private final int recsIn; private final long bytesOut; private final int recsOut; private final long maxMemory; private final ResourceUsageMetrics metrics; public TaskInfo(long bytesIn, int recsIn, long bytesOut, int recsOut, long maxMemory) { this(bytesIn, recsIn, bytesOut, recsOut, maxMemory, new ResourceUsageMetrics()); } public TaskInfo(long bytesIn, int recsIn, long bytesOut, int recsOut, long maxMemory, ResourceUsageMetrics metrics) { this.bytesIn = bytesIn; this.recsIn = recsIn; this.bytesOut = bytesOut; this.recsOut = recsOut; this.maxMemory = maxMemory; this.metrics = metrics; } /** * @return Raw bytes read from the FileSystem into the task. Note that this * may not always match the input bytes to the task. */ public long getInputBytes() { return bytesIn; } /** * @return Number of records input to this task. */ public int getInputRecords() { return recsIn; } /** * @return Raw bytes written to the destination FileSystem. Note that this may * not match output bytes. */ public long getOutputBytes() { return bytesOut; } /** * @return Number of records output from this task. */ public int getOutputRecords() { return recsOut; } /** * @return Memory used by the task leq the heap size. */ public long getTaskMemory() { return maxMemory; } /** * @return Resource usage metrics */ public ResourceUsageMetrics getResourceUsageMetrics() { return metrics; } }