class TaskIOMetricGroup extends ProxyMetricGroup<TaskMetricGroup> {

	public TaskIOMetricGroup(TaskMetricGroup parent) {
		super(parent);

		this.numBytesIn = counter(MetricNames.IO_NUM_BYTES_IN);
		this.numBytesOut = counter(MetricNames.IO_NUM_BYTES_OUT);
		this.numBytesInRate = meter(MetricNames.IO_NUM_BYTES_IN_RATE, new MeterView(numBytesIn, 60));
		this.numBytesOutRate = meter(MetricNames.IO_NUM_BYTES_OUT_RATE, new MeterView(numBytesOut, 60));

		this.numRecordsIn = counter(MetricNames.IO_NUM_RECORDS_IN, new SumCounter());
		this.numRecordsOut = counter(MetricNames.IO_NUM_RECORDS_OUT, new SumCounter());
		this.numRecordsInRate = meter(MetricNames.IO_NUM_RECORDS_IN_RATE, new MeterView(numRecordsIn, 60));
		this.numRecordsOutRate = meter(MetricNames.IO_NUM_RECORDS_OUT_RATE, new MeterView(numRecordsOut, 60));

		this.numBuffersOut = counter(MetricNames.IO_NUM_BUFFERS_OUT);
		this.numBuffersOutRate = meter(MetricNames.IO_NUM_BUFFERS_OUT_RATE, new MeterView(numBuffersOut, 60));
	}

	public  TaskIOMetricGroup(TaskMetricGroup parent);

}