| 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   LOG(ERROR) << " " << __FUNCTION__ << "()" | 
|  | 23              << " error = " << error | 
|  | 24              << " source = " << source | 
|  | 25              << " record = " << record; | 
|  | 26 | 
|  | 27   if (!record) | 
|  | 28     return; | 
|  | 29 | 
|  | 30   RecordFileErrorTypeCount(source); | 
|  | 31 | 
|  | 32   int bucket = GetFileErrorUmaBucket(error); | 
|  | 33 | 
|  | 34   // Fixed values per platform. | 
|  | 35   static const int max_bucket = MaxFileErrorUmaBucket(); | 
|  | 36   static const int max_error = MaxFileErrorUmaValue(); | 
|  | 37 | 
|  | 38   switch(source) { | 
|  | 39     case FILE_ERROR_SOURCE_OPEN: | 
|  | 40       UMA_HISTOGRAM_ENUMERATION("Net.FileError_Open", error, max_error); | 
|  | 41       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_Open", bucket, max_bucket); | 
|  | 42       break; | 
|  | 43 | 
|  | 44     case FILE_ERROR_SOURCE_WRITE: | 
|  | 45       UMA_HISTOGRAM_ENUMERATION("Net.FileError_Write", error, max_error); | 
|  | 46       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_Write", bucket, max_bucket); | 
|  | 47       break; | 
|  | 48 | 
|  | 49     case FILE_ERROR_SOURCE_READ: | 
|  | 50       UMA_HISTOGRAM_ENUMERATION("Net.FileError_Read", error, max_error); | 
|  | 51       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_Read", bucket, max_bucket); | 
|  | 52       break; | 
|  | 53 | 
|  | 54     case FILE_ERROR_SOURCE_SEEK: | 
|  | 55       UMA_HISTOGRAM_ENUMERATION("Net.FileError_Seek", error, max_error); | 
|  | 56       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_Seek", bucket, max_bucket); | 
|  | 57       break; | 
|  | 58 | 
|  | 59     case FILE_ERROR_SOURCE_FLUSH: | 
|  | 60       UMA_HISTOGRAM_ENUMERATION("Net.FileError_Flush", error, max_error); | 
|  | 61       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_Flush", bucket, max_bucket); | 
|  | 62       break; | 
|  | 63 | 
|  | 64     case FILE_ERROR_SOURCE_SET_EOF: | 
|  | 65       UMA_HISTOGRAM_ENUMERATION("Net.FileError_SetEof", error, max_error); | 
|  | 66       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_SetEof", bucket, | 
|  | 67                                 max_bucket); | 
|  | 68       break; | 
|  | 69 | 
|  | 70     case FILE_ERROR_SOURCE_GET_SIZE: | 
|  | 71       UMA_HISTOGRAM_ENUMERATION("Net.FileError_GetSize", error, max_error); | 
|  | 72       UMA_HISTOGRAM_ENUMERATION("Net.FileErrorRange_GetSize", bucket, | 
|  | 73                                 max_bucket); | 
|  | 74       break; | 
|  | 75 | 
|  | 76     default: | 
|  | 77       break; | 
|  | 78   } | 
|  | 79 } | 
|  | 80 | 
|  | 81 }  // namespace net | 
| OLD | NEW | 
|---|