| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright (c) 2011 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. | 
|  | 4 | 
|  | 5 #include "net/base/file_stream_metrics.h" | 
|  | 6 | 
|  | 7 #include "base/logging.h" | 
|  | 8 #include "base/metrics/histogram.h" | 
|  | 9 | 
|  | 10 namespace net { | 
|  | 11 | 
|  | 12 namespace { | 
|  | 13 | 
|  | 14 void RecordFileErrorTypeCount(FileErrorSource source) { | 
|  | 15   UMA_HISTOGRAM_ENUMERATION( | 
|  | 16       "Net.FileErrorType_Counts", source, FILE_ERROR_SOURCE_COUNT); | 
|  | 17 } | 
|  | 18 | 
|  | 19 }  // namespace | 
|  | 20 | 
|  | 21 void RecordFileError(int error, FileErrorSource source, bool record) { | 
|  | 22   if (!record) | 
|  | 23     return; | 
|  | 24 | 
|  | 25   RecordFileErrorTypeCount(source); | 
|  | 26 | 
|  | 27   int bucket = GetErrorBucket(error); | 
|  | 28 | 
|  | 29   static const int max_bucket = MaxBucket();  // Fixed value per platform. | 
|  | 30   static const int max_error = MaxError();  // Fixed value per platform. | 
|  | 31 | 
|  | 32   switch(source) { | 
|  | 33     case FILE_ERROR_SOURCE_OPEN: | 
|  | 34       UMA_HISTOGRAM_ENUMERATION("Net.FileError_Open", error, max_error); | 
|  | 35       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_Open", bucket, max_bucket); | 
|  | 36       break; | 
|  | 37 | 
|  | 38     case FILE_ERROR_SOURCE_WRITE: | 
|  | 39       UMA_HISTOGRAM_ENUMERATION("Net.FileError_Write", error, max_error); | 
|  | 40       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_Write", bucket, max_bucket); | 
|  | 41       break; | 
|  | 42 | 
|  | 43     case FILE_ERROR_SOURCE_READ: | 
|  | 44       UMA_HISTOGRAM_ENUMERATION("Net.FileError_Read", error, max_error); | 
|  | 45       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_Read", bucket, max_bucket); | 
|  | 46       break; | 
|  | 47 | 
|  | 48     case FILE_ERROR_SOURCE_SEEK: | 
|  | 49       UMA_HISTOGRAM_ENUMERATION("Net.FileError_Seek", error, max_error); | 
|  | 50       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_Seek", bucket, max_bucket); | 
|  | 51       break; | 
|  | 52 | 
|  | 53     case FILE_ERROR_SOURCE_FLUSH: | 
|  | 54       UMA_HISTOGRAM_ENUMERATION("Net.FileError_Flush", error, max_error); | 
|  | 55       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_Flush", bucket, max_bucket); | 
|  | 56       break; | 
|  | 57 | 
|  | 58     case FILE_ERROR_SOURCE_SET_EOF: | 
|  | 59       UMA_HISTOGRAM_ENUMERATION("Net.FileError_SetEof", error, max_error); | 
|  | 60       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_SetEof", bucket, | 
|  | 61                                 max_bucket); | 
|  | 62       break; | 
|  | 63 | 
|  | 64     case FILE_ERROR_SOURCE_GET_SIZE: | 
|  | 65       UMA_HISTOGRAM_ENUMERATION("Net.FileError_GetSize", error, max_error); | 
|  | 66       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_GetSize", bucket, | 
|  | 67                                 max_bucket); | 
|  | 68       break; | 
|  | 69 | 
|  | 70     default: | 
|  | 71       break; | 
|  | 72   } | 
|  | 73 } | 
|  | 74 | 
|  | 75 }  // namespace net | 
| OLD | NEW | 
|---|