| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/child/web_database_observer_impl.h" | 5 #include "content/child/web_database_observer_impl.h" |
| 6 | 6 |
| 7 #include "base/metrics/histogram.h" | 7 #include "base/metrics/histogram.h" |
| 8 #include "base/strings/string16.h" | 8 #include "base/strings/string16.h" |
| 9 #include "content/common/database_messages.h" | 9 #include "content/common/database_messages.h" |
| 10 #include "third_party/WebKit/public/platform/WebCString.h" | 10 #include "third_party/WebKit/public/platform/WebCString.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 if (websql_error == -1) | 31 if (websql_error == -1) |
| 32 return 0; // no error | 32 return 0; // no error |
| 33 | 33 |
| 34 // SQLExceptionCode starts at 1000 | 34 // SQLExceptionCode starts at 1000 |
| 35 if (websql_error >= 1000) | 35 if (websql_error >= 1000) |
| 36 websql_error -= 1000; | 36 websql_error -= 1000; |
| 37 | 37 |
| 38 return std::min(websql_error + 30, kResultHistogramSize - 1); | 38 return std::min(websql_error + 30, kResultHistogramSize - 1); |
| 39 } | 39 } |
| 40 | 40 |
| 41 #define HISTOGRAM_WEBSQL_RESULT(name, is_sync_database, \ | 41 #define UMA_HISTOGRAM_WEBSQL_RESULT(name, is_sync_database, \ |
| 42 callsite, websql_error, sqlite_error) \ | 42 callsite, websql_error, sqlite_error) \ |
| 43 do { \ | 43 do { \ |
| 44 DCHECK(callsite < kCallsiteHistogramSize); \ | 44 DCHECK(callsite < kCallsiteHistogramSize); \ |
| 45 int result = DetermineHistogramResult(websql_error, sqlite_error); \ | 45 int result = DetermineHistogramResult(websql_error, sqlite_error); \ |
| 46 if (is_sync_database) { \ | 46 if (is_sync_database) { \ |
| 47 UMA_HISTOGRAM_ENUMERATION("websql.Sync." name, \ | 47 UMA_HISTOGRAM_ENUMERATION("websql.Sync." name, \ |
| 48 result, kResultHistogramSize); \ | 48 result, kResultHistogramSize); \ |
| 49 if (result) { \ | 49 if (result) { \ |
| 50 UMA_HISTOGRAM_ENUMERATION("websql.Sync." name ".ErrorSite", \ | 50 UMA_HISTOGRAM_ENUMERATION("websql.Sync." name ".ErrorSite", \ |
| 51 callsite, kCallsiteHistogramSize); \ | 51 callsite, kCallsiteHistogramSize); \ |
| 52 } \ | 52 } \ |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 origin_identifier.utf8(), database_name)); | 97 origin_identifier.utf8(), database_name)); |
| 98 open_connections_->RemoveOpenConnection(origin_identifier.utf8(), | 98 open_connections_->RemoveOpenConnection(origin_identifier.utf8(), |
| 99 database_name); | 99 database_name); |
| 100 } | 100 } |
| 101 | 101 |
| 102 void WebDatabaseObserverImpl::reportOpenDatabaseResult( | 102 void WebDatabaseObserverImpl::reportOpenDatabaseResult( |
| 103 const WebString& origin_identifier, | 103 const WebString& origin_identifier, |
| 104 const WebString& database_name, | 104 const WebString& database_name, |
| 105 bool is_sync_database, | 105 bool is_sync_database, |
| 106 int callsite, int websql_error, int sqlite_error) { | 106 int callsite, int websql_error, int sqlite_error) { |
| 107 HISTOGRAM_WEBSQL_RESULT("OpenResult", is_sync_database, | 107 UMA_HISTOGRAM_WEBSQL_RESULT("OpenResult", is_sync_database, callsite, |
| 108 callsite, websql_error, sqlite_error); | 108 websql_error, sqlite_error); |
| 109 HandleSqliteError(origin_identifier, database_name, sqlite_error); | 109 HandleSqliteError(origin_identifier, database_name, sqlite_error); |
| 110 } | 110 } |
| 111 | 111 |
| 112 void WebDatabaseObserverImpl::reportChangeVersionResult( | 112 void WebDatabaseObserverImpl::reportChangeVersionResult( |
| 113 const WebString& origin_identifier, | 113 const WebString& origin_identifier, |
| 114 const WebString& database_name, | 114 const WebString& database_name, |
| 115 bool is_sync_database, | 115 bool is_sync_database, |
| 116 int callsite, int websql_error, int sqlite_error) { | 116 int callsite, int websql_error, int sqlite_error) { |
| 117 HISTOGRAM_WEBSQL_RESULT("ChangeVersionResult", is_sync_database, | 117 UMA_HISTOGRAM_WEBSQL_RESULT("ChangeVersionResult", is_sync_database, callsite, |
| 118 callsite, websql_error, sqlite_error); | 118 websql_error, sqlite_error); |
| 119 HandleSqliteError(origin_identifier, database_name, sqlite_error); | 119 HandleSqliteError(origin_identifier, database_name, sqlite_error); |
| 120 } | 120 } |
| 121 | 121 |
| 122 void WebDatabaseObserverImpl::reportStartTransactionResult( | 122 void WebDatabaseObserverImpl::reportStartTransactionResult( |
| 123 const WebString& origin_identifier, | 123 const WebString& origin_identifier, |
| 124 const WebString& database_name, | 124 const WebString& database_name, |
| 125 bool is_sync_database, | 125 bool is_sync_database, |
| 126 int callsite, int websql_error, int sqlite_error) { | 126 int callsite, int websql_error, int sqlite_error) { |
| 127 HISTOGRAM_WEBSQL_RESULT("BeginResult", is_sync_database, | 127 UMA_HISTOGRAM_WEBSQL_RESULT("BeginResult", is_sync_database, callsite, |
| 128 callsite, websql_error, sqlite_error); | 128 websql_error, sqlite_error); |
| 129 HandleSqliteError(origin_identifier, database_name, sqlite_error); | 129 HandleSqliteError(origin_identifier, database_name, sqlite_error); |
| 130 } | 130 } |
| 131 | 131 |
| 132 void WebDatabaseObserverImpl::reportCommitTransactionResult( | 132 void WebDatabaseObserverImpl::reportCommitTransactionResult( |
| 133 const WebString& origin_identifier, | 133 const WebString& origin_identifier, |
| 134 const WebString& database_name, | 134 const WebString& database_name, |
| 135 bool is_sync_database, | 135 bool is_sync_database, |
| 136 int callsite, int websql_error, int sqlite_error) { | 136 int callsite, int websql_error, int sqlite_error) { |
| 137 HISTOGRAM_WEBSQL_RESULT("CommitResult", is_sync_database, | 137 UMA_HISTOGRAM_WEBSQL_RESULT("CommitResult", is_sync_database, callsite, |
| 138 callsite, websql_error, sqlite_error); | 138 websql_error, sqlite_error); |
| 139 HandleSqliteError(origin_identifier, database_name, sqlite_error); | 139 HandleSqliteError(origin_identifier, database_name, sqlite_error); |
| 140 } | 140 } |
| 141 | 141 |
| 142 void WebDatabaseObserverImpl::reportExecuteStatementResult( | 142 void WebDatabaseObserverImpl::reportExecuteStatementResult( |
| 143 const WebString& origin_identifier, | 143 const WebString& origin_identifier, |
| 144 const WebString& database_name, | 144 const WebString& database_name, |
| 145 bool is_sync_database, | 145 bool is_sync_database, |
| 146 int callsite, int websql_error, int sqlite_error) { | 146 int callsite, int websql_error, int sqlite_error) { |
| 147 HISTOGRAM_WEBSQL_RESULT("StatementResult", is_sync_database, | 147 UMA_HISTOGRAM_WEBSQL_RESULT("StatementResult", is_sync_database, callsite, |
| 148 callsite, websql_error, sqlite_error); | 148 websql_error, sqlite_error); |
| 149 HandleSqliteError(origin_identifier, database_name, sqlite_error); | 149 HandleSqliteError(origin_identifier, database_name, sqlite_error); |
| 150 } | 150 } |
| 151 | 151 |
| 152 void WebDatabaseObserverImpl::reportVacuumDatabaseResult( | 152 void WebDatabaseObserverImpl::reportVacuumDatabaseResult( |
| 153 const WebString& origin_identifier, | 153 const WebString& origin_identifier, |
| 154 const WebString& database_name, | 154 const WebString& database_name, |
| 155 bool is_sync_database, | 155 bool is_sync_database, |
| 156 int sqlite_error) { | 156 int sqlite_error) { |
| 157 int result = DetermineHistogramResult(-1, sqlite_error); | 157 int result = DetermineHistogramResult(-1, sqlite_error); |
| 158 if (is_sync_database) { | 158 if (is_sync_database) { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 178 // high frequency (per-sqlstatement). | 178 // high frequency (per-sqlstatement). |
| 179 if (error == SQLITE_CORRUPT || error == SQLITE_NOTADB) { | 179 if (error == SQLITE_CORRUPT || error == SQLITE_NOTADB) { |
| 180 sender_->Send(new DatabaseHostMsg_HandleSqliteError( | 180 sender_->Send(new DatabaseHostMsg_HandleSqliteError( |
| 181 origin_identifier.utf8(), | 181 origin_identifier.utf8(), |
| 182 database_name, | 182 database_name, |
| 183 error)); | 183 error)); |
| 184 } | 184 } |
| 185 } | 185 } |
| 186 | 186 |
| 187 } // namespace content | 187 } // namespace content |
| OLD | NEW |