Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1256)

Unified Diff: content/browser/bluetooth/bluetooth_dispatcher_host.cc

Issue 1294473006: bluetooth: Add histograms for readValue and writeValue outcomes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bluetooth-uma-get-characteristic
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/bluetooth/bluetooth_dispatcher_host.cc
diff --git a/content/browser/bluetooth/bluetooth_dispatcher_host.cc b/content/browser/bluetooth/bluetooth_dispatcher_host.cc
index c6427a684dc793e5a35155a8c5b42897c9f06d4e..9f6f69a55de4f3f3a39f08e55bf62a3988883ced 100644
--- a/content/browser/bluetooth/bluetooth_dispatcher_host.cc
+++ b/content/browser/bluetooth/bluetooth_dispatcher_host.cc
@@ -99,27 +99,38 @@ WebBluetoothError TranslateConnectError(
}
blink::WebBluetoothError TranslateGATTError(
- BluetoothGattService::GattErrorCode error_code) {
+ BluetoothGattService::GattErrorCode error_code,
+ UMAGATTOperation operation) {
switch (error_code) {
case BluetoothGattService::GATT_ERROR_UNKNOWN:
- RecordGATTError(UMAGATTError::UNKNOWN);
+ RecordGATTOperationOutcome(operation, UMAGATTOperationOutcome::UNKNOWN);
return blink::WebBluetoothError::GATTUnknownError;
case BluetoothGattService::GATT_ERROR_FAILED:
- RecordGATTError(UMAGATTError::FAILED);
+ RecordGATTOperationOutcome(operation, UMAGATTOperationOutcome::FAILED);
return blink::WebBluetoothError::GATTUnknownFailure;
case BluetoothGattService::GATT_ERROR_IN_PROGRESS:
- RecordGATTError(UMAGATTError::IN_PROGRESS);
+ RecordGATTOperationOutcome(operation,
+ UMAGATTOperationOutcome::IN_PROGRESS);
return blink::WebBluetoothError::GATTOperationInProgress;
case BluetoothGattService::GATT_ERROR_INVALID_LENGTH:
+ RecordGATTOperationOutcome(operation,
+ UMAGATTOperationOutcome::INVALID_LENGTH);
return blink::WebBluetoothError::GATTInvalidAttributeLength;
case BluetoothGattService::GATT_ERROR_NOT_PERMITTED:
+ RecordGATTOperationOutcome(operation,
+ UMAGATTOperationOutcome::NOT_PERMITTED);
return blink::WebBluetoothError::GATTNotPermitted;
case BluetoothGattService::GATT_ERROR_NOT_AUTHORIZED:
+ RecordGATTOperationOutcome(operation,
+ UMAGATTOperationOutcome::NOT_AUTHORIZED);
return blink::WebBluetoothError::GATTNotAuthorized;
case BluetoothGattService::GATT_ERROR_NOT_PAIRED:
- RecordGATTError(UMAGATTError::NOT_PAIRED);
+ RecordGATTOperationOutcome(operation,
+ UMAGATTOperationOutcome::NOT_PAIRED);
return blink::WebBluetoothError::GATTNotPaired;
case BluetoothGattService::GATT_ERROR_NOT_SUPPORTED:
+ RecordGATTOperationOutcome(operation,
+ UMAGATTOperationOutcome::NOT_SUPPORTED);
return blink::WebBluetoothError::GATTNotSupported;
}
NOTREACHED();
@@ -449,6 +460,7 @@ void BluetoothDispatcherHost::OnReadValue(
device::BluetoothDevice* device =
adapter_->GetDevice(device_iter->second /* device_instance_id */);
if (device == nullptr) { // See "NETWORK_ERROR Note" above.
+ RecordCharacteristicReadValueOutcome(UMAGATTOperationOutcome::NO_DEVICE);
Send(new BluetoothMsg_ReadCharacteristicValueError(
thread_id, request_id, WebBluetoothError::DeviceNoLongerInRange));
return;
@@ -456,6 +468,7 @@ void BluetoothDispatcherHost::OnReadValue(
BluetoothGattService* service = device->GetGattService(service_instance_id);
if (service == nullptr) {
+ RecordCharacteristicReadValueOutcome(UMAGATTOperationOutcome::NO_SERVICE);
Send(new BluetoothMsg_ReadCharacteristicValueError(
thread_id, request_id, WebBluetoothError::ServiceNoLongerExists));
return;
@@ -464,6 +477,8 @@ void BluetoothDispatcherHost::OnReadValue(
BluetoothGattCharacteristic* characteristic =
service->GetCharacteristic(characteristic_instance_id);
if (characteristic == nullptr) {
+ RecordCharacteristicReadValueOutcome(
+ UMAGATTOperationOutcome::NO_CHARACTERISTIC);
Send(new BluetoothMsg_ReadCharacteristicValueError(
thread_id, request_id,
WebBluetoothError::CharacteristicNoLongerExists));
@@ -516,6 +531,7 @@ void BluetoothDispatcherHost::OnWriteValue(
device::BluetoothDevice* device =
adapter_->GetDevice(device_iter->second /* device_instance_id */);
if (device == nullptr) { // See "NETWORK_ERROR Note" above.
+ RecordCharacteristicWriteValueOutcome(UMAGATTOperationOutcome::NO_DEVICE);
Send(new BluetoothMsg_WriteCharacteristicValueError(
thread_id, request_id, WebBluetoothError::DeviceNoLongerInRange));
return;
@@ -523,6 +539,7 @@ void BluetoothDispatcherHost::OnWriteValue(
BluetoothGattService* service = device->GetGattService(service_instance_id);
if (service == nullptr) {
+ RecordCharacteristicWriteValueOutcome(UMAGATTOperationOutcome::NO_SERVICE);
Send(new BluetoothMsg_WriteCharacteristicValueError(
thread_id, request_id, WebBluetoothError::ServiceNoLongerExists));
return;
@@ -531,6 +548,8 @@ void BluetoothDispatcherHost::OnWriteValue(
BluetoothGattCharacteristic* characteristic =
service->GetCharacteristic(characteristic_instance_id);
if (characteristic == nullptr) {
+ RecordCharacteristicWriteValueOutcome(
+ UMAGATTOperationOutcome::NO_CHARACTERISTIC);
Send(new BluetoothMsg_WriteCharacteristicValueError(
thread_id, request_id,
WebBluetoothError::CharacteristicNoLongerExists));
@@ -696,6 +715,7 @@ void BluetoothDispatcherHost::OnCharacteristicValueRead(
int thread_id,
int request_id,
const std::vector<uint8>& value) {
+ RecordCharacteristicReadValueOutcome(UMAGATTOperationOutcome::SUCCESS);
Send(new BluetoothMsg_ReadCharacteristicValueSuccess(thread_id, request_id,
value));
}
@@ -704,12 +724,17 @@ void BluetoothDispatcherHost::OnCharacteristicReadValueError(
int thread_id,
int request_id,
device::BluetoothGattService::GattErrorCode error_code) {
+ // TranslateGATTError calls RecordGATTOperationOutcome with
Jeffrey Yasskin 2015/08/14 21:33:22 This comment could be shorter: "TranslateGATTError
ortuno 2015/08/14 21:42:20 Done.
+ // UMAGATTOperation::CHARACTERISTIC_READ as a parameter.
+ // This should take care of recording the outcome for this readValue call.
Send(new BluetoothMsg_ReadCharacteristicValueError(
- thread_id, request_id, TranslateGATTError(error_code)));
+ thread_id, request_id,
+ TranslateGATTError(error_code, UMAGATTOperation::CHARACTERISTIC_READ)));
}
void BluetoothDispatcherHost::OnWriteValueSuccess(int thread_id,
int request_id) {
+ RecordCharacteristicWriteValueOutcome(UMAGATTOperationOutcome::SUCCESS);
Send(new BluetoothMsg_WriteCharacteristicValueSuccess(thread_id, request_id));
}
@@ -717,8 +742,12 @@ void BluetoothDispatcherHost::OnWriteValueFailed(
int thread_id,
int request_id,
device::BluetoothGattService::GattErrorCode error_code) {
+ // TranslateGATTError calls RecordGATTOperationOutcome with
+ // UMAGATTOperation::CHARACTERISTIC_WRITE as a parameter.
+ // This should take care of recording the outcome for this writeValue call.
Send(new BluetoothMsg_WriteCharacteristicValueError(
- thread_id, request_id, TranslateGATTError(error_code)));
+ thread_id, request_id,
+ TranslateGATTError(error_code, UMAGATTOperation::CHARACTERISTIC_WRITE)));
}
} // namespace content
« no previous file with comments | « no previous file | content/browser/bluetooth/bluetooth_metrics.h » ('j') | content/browser/bluetooth/bluetooth_metrics.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698