mukund-thakur commented on a change in pull request #1899: HADOOP-16914 Adding Output Stream Counters in ABFS URL: https://github.com/apache/hadoop/pull/1899#discussion_r402076584
########## File path: hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/services/AbfsOutputStreamStatisticsImpl.java ########## @@ -0,0 +1,148 @@ +/** + * 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.fs.azurebfs.services; + +/** + * OutputStream Statistics Implementation for Abfs. + * timeSpendOnTaskWait - Time spend on waiting for tasks to be complete on + * Blocking Queue in AbfsOutputStream. + * + * queueShrink - Number of times Blocking Queue was shrunk after writing + * data. + * + * WriteCurrentBufferOperations - Number of times + * {@code writeCurrentBufferToService()} calls were made. + */ +public class AbfsOutputStreamStatisticsImpl + implements AbfsOutputStreamStatistics { + private volatile long bytesToUpload; + private volatile long bytesUploadSuccessful; + private volatile long bytesUploadFailed; + private volatile long timeSpendOnTaskWait; + private volatile long queueShrink; + private volatile long writeCurrentBufferOperations; + + /** + * Number of bytes uploaded. + * + * @param bytes negative values are ignored + */ + @Override + public void bytesToUpload(long bytes) { + if (bytes > 0) { + bytesToUpload += bytes; + } + } + + /** + * Upload successful with the number of bytes. + * @param bytes number of bytes that were successfully uploaded + */ + @Override + public void uploadSuccessful(long bytes) { + if (bytes > 0) { + bytesUploadSuccessful += bytes; + } + } + + /** + * Upload failed and the number of bytes. + * + * @param bytes negative values are ignored + */ + @Override + public void uploadFailed(long bytes) { + if (bytes > 0) { + bytesUploadFailed += bytes; + } + } + + /** + * Time spent for waiting a task to be completed. Review comment: What is the task here? Please explain. This is for all javadocs. There is no harm in writing more lines :P ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
