// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // File error statistics gathering. #ifndef NET_BASE_FILE_STREAM_METRICS_H_ #define NET_BASE_FILE_STREAM_METRICS_H_ namespace net { enum FileErrorSource { FILE_ERROR_SOURCE_OPEN = 0, FILE_ERROR_SOURCE_WRITE, FILE_ERROR_SOURCE_READ, FILE_ERROR_SOURCE_SEEK, FILE_ERROR_SOURCE_FLUSH, FILE_ERROR_SOURCE_SET_EOF, FILE_ERROR_SOURCE_GET_SIZE, FILE_ERROR_SOURCE_CLOSE, FILE_ERROR_SOURCE_COUNT, }; // UMA error statistics gathering. // Put the error value into a bucket. int GetFileErrorUmaBucket(int error); // The largest bucket number, plus 1. int MaxFileErrorUmaBucket(); // The highest error value we want to individually report. int MaxFileErrorUmaValue(); // |error| is a platform-specific error (Windows or Posix). // |source| indicates the operation that resulted in the error. // |record| is a flag indicating that we are interested in this error. void RecordFileError(int error, FileErrorSource source, bool record); // Gets a description for the source of a file error. const char* GetFileErrorSourceName(FileErrorSource source); } // namespace net #endif // NET_BASE_FILE_STREAM_METRICS_H_