1
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
5
// File error statistics gathering.
7
#ifndef NET_BASE_FILE_STREAM_METRICS_H_
8
#define NET_BASE_FILE_STREAM_METRICS_H_
12
enum FileErrorSource {
13
FILE_ERROR_SOURCE_OPEN = 0,
14
FILE_ERROR_SOURCE_WRITE,
15
FILE_ERROR_SOURCE_READ,
16
FILE_ERROR_SOURCE_SEEK,
17
FILE_ERROR_SOURCE_FLUSH,
18
FILE_ERROR_SOURCE_SET_EOF,
19
FILE_ERROR_SOURCE_GET_SIZE,
20
FILE_ERROR_SOURCE_CLOSE,
21
FILE_ERROR_SOURCE_COUNT,
24
// UMA error statistics gathering.
25
// Put the error value into a bucket.
26
int GetFileErrorUmaBucket(int error);
28
// The largest bucket number, plus 1.
29
int MaxFileErrorUmaBucket();
31
// The highest error value we want to individually report.
32
int MaxFileErrorUmaValue();
34
// |error| is a platform-specific error (Windows or Posix).
35
// |source| indicates the operation that resulted in the error.
36
// |record| is a flag indicating that we are interested in this error.
37
void RecordFileError(int error, FileErrorSource source, bool record);
39
// Gets a description for the source of a file error.
40
const char* GetFileErrorSourceName(FileErrorSource source);
44
#endif // NET_BASE_FILE_STREAM_METRICS_H_