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

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

Issue 1265323004: bluetooth: Move histogram related code to its own file (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bluetooth-uma-get-primary-service
Patch Set: Add static comment 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 d85dbd1cce04d6eb748b9aa9e4270c2833aab1b6..6cad374ff57675ece2d3c8c0eabaa7148a11f094 100644
--- a/content/browser/bluetooth/bluetooth_dispatcher_host.cc
+++ b/content/browser/bluetooth/bluetooth_dispatcher_host.cc
@@ -10,11 +10,9 @@
#include "content/browser/bluetooth/bluetooth_dispatcher_host.h"
-#include "base/hash.h"
-#include "base/metrics/histogram_macros.h"
-#include "base/metrics/sparse_histogram.h"
#include "base/strings/utf_string_conversions.h"
#include "content/browser/bad_message.h"
+#include "content/browser/bluetooth/bluetooth_metrics.h"
#include "content/browser/frame_host/render_frame_host_impl.h"
#include "content/common/bluetooth/bluetooth_messages.h"
#include "device/bluetooth/bluetooth_adapter.h"
@@ -25,167 +23,23 @@
#include "device/bluetooth/bluetooth_gatt_service.h"
using blink::WebBluetoothError;
+using content::BluetoothMetrics;
using device::BluetoothAdapter;
using device::BluetoothAdapterFactory;
using device::BluetoothGattCharacteristic;
using device::BluetoothGattService;
using device::BluetoothUUID;
-namespace {
-
-// These types of errors aren't as common. We log them to understand
-// how common they are and if we need to investigate more.
-enum class BluetoothGATTError {
- UNKNOWN,
- FAILED,
- IN_PROGRESS,
- NOT_PAIRED,
- // Add errors above this line and update corresponding histograms.xml enum.
- MAX_ERROR,
-};
-
-enum class UMARequestDeviceOutcome {
- SUCCESS = 0,
- NO_BLUETOOTH_ADAPTER = 1,
- NO_RENDER_FRAME = 2,
- DISCOVERY_START_FAILED = 3,
- DISCOVERY_STOP_FAILED = 4,
- NO_MATCHING_DEVICES_FOUND = 5,
- BLUETOOTH_ADAPTER_NOT_PRESENT = 6,
- BLUETOOTH_ADAPTER_OFF = 7,
- // NOTE: Add new requestDevice() outcomes immediately above this line. Make
- // sure to update the enum list in
- // tools/metrics/histogram/histograms.xml accordingly.
- COUNT
-};
-
-void RecordRequestDeviceOutcome(UMARequestDeviceOutcome outcome) {
- UMA_HISTOGRAM_ENUMERATION("Bluetooth.Web.RequestDevice.Outcome",
- static_cast<int>(outcome),
- static_cast<int>(UMARequestDeviceOutcome::COUNT));
-}
-// TODO(ortuno): Remove once we have a macro to histogram strings.
-// http://crbug.com/520284
-int HashUUID(const std::string& uuid) {
- uint32 data = base::SuperFastHash(uuid.data(), uuid.size());
-
- // Strip off the signed bit because UMA doesn't support negative values,
- // but takes a signed int as input.
- return static_cast<int>(data & 0x7fffffff);
-}
-
-void RecordRequestDeviceFilters(
- const std::vector<content::BluetoothScanFilter>& filters) {
- UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.Filters.Count",
- filters.size());
- for (const content::BluetoothScanFilter& filter : filters) {
- UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.FilterSize",
- filter.services.size());
- for (const BluetoothUUID& service : filter.services) {
- // TODO(ortuno): Use a macro to histogram strings.
- // http://crbug.com/520284
- UMA_HISTOGRAM_SPARSE_SLOWLY(
- "Bluetooth.Web.RequestDevice.Filters.Services",
- HashUUID(service.canonical_value()));
- }
- }
-}
-
-void RecordRequestDeviceOptionalServices(
- const std::vector<BluetoothUUID>& optional_services) {
- UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.OptionalServices.Count",
- optional_services.size());
- for (const BluetoothUUID& service : optional_services) {
- // TODO(ortuno): Use a macro to histogram strings.
- // http://crbug.com/520284
- UMA_HISTOGRAM_SPARSE_SLOWLY(
- "Bluetooth.Web.RequestDevice.OptionalServices.Services",
- HashUUID(service.canonical_value()));
- }
-}
-
-void RecordUnionOfServices(
- const std::vector<content::BluetoothScanFilter>& filters,
- const std::vector<BluetoothUUID>& optional_services) {
- std::set<BluetoothUUID> union_of_services(optional_services.begin(),
- optional_services.end());
-
- for (const content::BluetoothScanFilter& filter : filters)
- union_of_services.insert(filter.services.begin(), filter.services.end());
-
- UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.UnionOfServices.Count",
- union_of_services.size());
-}
-
-enum class UMAGetPrimaryServiceOutcome {
- SUCCESS,
- NO_DEVICE,
- NOT_FOUND,
- // Note: Add new GetPrimaryService outcomes immediately above this line. Make
- // sure to update the enum list in tools/metrics/histograms/histograms.xml
- // accordingly.
- COUNT
-};
-
-void RecordGetPrimaryServiceService(const BluetoothUUID& service) {
- UMA_HISTOGRAM_SPARSE_SLOWLY("Bluetooth.Web.GetPrimaryService.Services",
- HashUUID(service.canonical_value()));
-}
-
-void RecordGetPrimaryServiceOutcome(UMAGetPrimaryServiceOutcome outcome) {
- UMA_HISTOGRAM_ENUMERATION(
- "Bluetooth.Web.GetPrimaryService.Outcome", static_cast<int>(outcome),
- static_cast<int>(UMAGetPrimaryServiceOutcome::COUNT));
-}
-
-enum class UMAConnectGATTOutcome {
- SUCCESS,
- NO_DEVICE,
- UNKNOWN,
- IN_PROGRESS,
- FAILED,
- AUTH_FAILED,
- AUTH_CANCELED,
- AUTH_REJECTED,
- AUTH_TIMEOUT,
- UNSUPPORTED_DEVICE,
- // Note: Add new ConnectGATT outcomes immediately above this line. Make sure
- // to update the enum list in tools/metrisc/histogram/histograms.xml
- // accordingly.
- COUNT
-};
-
-void RecordConnectGATTOutcome(UMAConnectGATTOutcome outcome) {
- UMA_HISTOGRAM_ENUMERATION("Bluetooth.Web.ConnectGATT.Outcome",
- static_cast<int>(outcome),
- static_cast<int>(UMAConnectGATTOutcome::COUNT));
-}
+using UMAWebBluetoothFunction =
+ content::BluetoothMetrics::UMAWebBluetoothFunction;
+using UMARequestDeviceOutcome =
+ content::BluetoothMetrics::UMARequestDeviceOutcome;
+using UMAConnectGATTOutcome = content::BluetoothMetrics::UMAConnectGATTOutcome;
+using UMAGetPrimaryServiceOutcome =
+ content::BluetoothMetrics::UMAGetPrimaryServiceOutcome;
+using UMAGATTError = content::BluetoothMetrics::UMAGATTError;
-void RecordConnectGATTTimeSuccess(const base::TimeDelta& duration) {
- UMA_HISTOGRAM_MEDIUM_TIMES("Bluetooth.Web.ConnectGATT.TimeSuccess", duration);
-}
-
-void RecordConnectGATTTimeFailed(const base::TimeDelta& duration) {
- UMA_HISTOGRAM_MEDIUM_TIMES("Bluetooth.Web.ConnectGATT.TimeFailed", duration);
-}
-
-enum class UMAWebBluetoothFunction {
- REQUEST_DEVICE,
- CONNECT_GATT,
- GET_PRIMARY_SERVICE,
- GET_CHARACTERISTIC,
- CHARACTERISTIC_READ_VALUE,
- CHARACTERISTIC_WRITE_VALUE,
- // NOTE: Add new actions immediately above this line. Make sure to update the
- // enum list in tools/metrics/histogram/histograms.xml accordingly.
- COUNT
-};
-
-void RecordWebBluetoothFunctionCall(UMAWebBluetoothFunction function) {
- UMA_HISTOGRAM_ENUMERATION("Bluetooth.Web.FunctionCall.Count",
- static_cast<int>(function),
- static_cast<int>(UMAWebBluetoothFunction::COUNT));
-}
+namespace {
// TODO(ortuno): Once we have a chooser for scanning and the right
// callback for discovered services we should delete these constants.
@@ -220,37 +74,39 @@ bool MatchesFilters(const device::BluetoothDevice& device,
return false;
}
-void AddToHistogram(BluetoothGATTError error) {
- UMA_HISTOGRAM_ENUMERATION("Bluetooth.GATTErrors", static_cast<int>(error),
- static_cast<int>(BluetoothGATTError::MAX_ERROR));
-}
-
WebBluetoothError TranslateConnectError(
device::BluetoothDevice::ConnectErrorCode error_code) {
switch (error_code) {
case device::BluetoothDevice::ERROR_UNKNOWN:
- RecordConnectGATTOutcome(UMAConnectGATTOutcome::UNKNOWN);
+ BluetoothMetrics::RecordConnectGATTOutcome(
+ UMAConnectGATTOutcome::UNKNOWN);
return WebBluetoothError::ConnectUnknownError;
case device::BluetoothDevice::ERROR_INPROGRESS:
- RecordConnectGATTOutcome(UMAConnectGATTOutcome::IN_PROGRESS);
+ BluetoothMetrics::RecordConnectGATTOutcome(
+ UMAConnectGATTOutcome::IN_PROGRESS);
return WebBluetoothError::ConnectAlreadyInProgress;
case device::BluetoothDevice::ERROR_FAILED:
- RecordConnectGATTOutcome(UMAConnectGATTOutcome::FAILED);
+ BluetoothMetrics::RecordConnectGATTOutcome(UMAConnectGATTOutcome::FAILED);
return WebBluetoothError::ConnectUnknownFailure;
case device::BluetoothDevice::ERROR_AUTH_FAILED:
- RecordConnectGATTOutcome(UMAConnectGATTOutcome::AUTH_FAILED);
+ BluetoothMetrics::RecordConnectGATTOutcome(
+ UMAConnectGATTOutcome::AUTH_FAILED);
return WebBluetoothError::ConnectAuthFailed;
case device::BluetoothDevice::ERROR_AUTH_CANCELED:
- RecordConnectGATTOutcome(UMAConnectGATTOutcome::AUTH_CANCELED);
+ BluetoothMetrics::RecordConnectGATTOutcome(
+ UMAConnectGATTOutcome::AUTH_CANCELED);
return WebBluetoothError::ConnectAuthCanceled;
case device::BluetoothDevice::ERROR_AUTH_REJECTED:
- RecordConnectGATTOutcome(UMAConnectGATTOutcome::AUTH_REJECTED);
+ BluetoothMetrics::RecordConnectGATTOutcome(
+ UMAConnectGATTOutcome::AUTH_REJECTED);
return WebBluetoothError::ConnectAuthRejected;
case device::BluetoothDevice::ERROR_AUTH_TIMEOUT:
- RecordConnectGATTOutcome(UMAConnectGATTOutcome::AUTH_TIMEOUT);
+ BluetoothMetrics::RecordConnectGATTOutcome(
+ UMAConnectGATTOutcome::AUTH_TIMEOUT);
return WebBluetoothError::ConnectAuthTimeout;
case device::BluetoothDevice::ERROR_UNSUPPORTED_DEVICE:
- RecordConnectGATTOutcome(UMAConnectGATTOutcome::UNSUPPORTED_DEVICE);
+ BluetoothMetrics::RecordConnectGATTOutcome(
+ UMAConnectGATTOutcome::UNSUPPORTED_DEVICE);
return WebBluetoothError::ConnectUnsupportedDevice;
}
NOTREACHED();
@@ -261,13 +117,13 @@ blink::WebBluetoothError TranslateGATTError(
BluetoothGattService::GattErrorCode error_code) {
switch (error_code) {
case BluetoothGattService::GATT_ERROR_UNKNOWN:
- AddToHistogram(BluetoothGATTError::UNKNOWN);
+ BluetoothMetrics::RecordGATTError(UMAGATTError::UNKNOWN);
return blink::WebBluetoothError::GATTUnknownError;
case BluetoothGattService::GATT_ERROR_FAILED:
- AddToHistogram(BluetoothGATTError::FAILED);
+ BluetoothMetrics::RecordGATTError(UMAGATTError::FAILED);
return blink::WebBluetoothError::GATTUnknownFailure;
case BluetoothGattService::GATT_ERROR_IN_PROGRESS:
- AddToHistogram(BluetoothGATTError::IN_PROGRESS);
+ BluetoothMetrics::RecordGATTError(UMAGATTError::IN_PROGRESS);
return blink::WebBluetoothError::GATTOperationInProgress;
case BluetoothGattService::GATT_ERROR_INVALID_LENGTH:
return blink::WebBluetoothError::GATTInvalidAttributeLength;
@@ -276,7 +132,7 @@ blink::WebBluetoothError TranslateGATTError(
case BluetoothGattService::GATT_ERROR_NOT_AUTHORIZED:
return blink::WebBluetoothError::GATTNotAuthorized;
case BluetoothGattService::GATT_ERROR_NOT_PAIRED:
- AddToHistogram(BluetoothGATTError::NOT_PAIRED);
+ BluetoothMetrics::RecordGATTError(UMAGATTError::NOT_PAIRED);
return blink::WebBluetoothError::GATTNotPaired;
case BluetoothGattService::GATT_ERROR_NOT_SUPPORTED:
return blink::WebBluetoothError::GATTNotSupported;
@@ -384,10 +240,11 @@ void BluetoothDispatcherHost::OnRequestDevice(
const std::vector<BluetoothScanFilter>& filters,
const std::vector<BluetoothUUID>& optional_services) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
- RecordWebBluetoothFunctionCall(UMAWebBluetoothFunction::REQUEST_DEVICE);
- RecordRequestDeviceFilters(filters);
- RecordRequestDeviceOptionalServices(optional_services);
- RecordUnionOfServices(filters, optional_services);
+ BluetoothMetrics::RecordWebBluetoothFunctionCall(
+ UMAWebBluetoothFunction::REQUEST_DEVICE);
+ BluetoothMetrics::RecordRequestDeviceFilters(filters);
+ BluetoothMetrics::RecordRequestDeviceOptionalServices(optional_services);
+ BluetoothMetrics::RecordUnionOfServices(filters, optional_services);
VLOG(1) << "requestDevice called with the following filters: ";
for (const BluetoothScanFilter& filter : filters) {
@@ -408,7 +265,8 @@ void BluetoothDispatcherHost::OnRequestDevice(
DLOG(WARNING)
<< "Got a requestDevice IPC without a matching RenderFrameHost: "
<< render_process_id_ << ", " << frame_routing_id;
- RecordRequestDeviceOutcome(UMARequestDeviceOutcome::NO_RENDER_FRAME);
+ BluetoothMetrics::RecordRequestDeviceOutcome(
+ UMARequestDeviceOutcome::NO_RENDER_FRAME);
Send(new BluetoothMsg_RequestDeviceError(
thread_id, request_id, WebBluetoothError::RequestDeviceWithoutFrame));
}
@@ -429,7 +287,7 @@ void BluetoothDispatcherHost::OnRequestDevice(
}
if (!adapter_->IsPresent()) {
VLOG(1) << "Bluetooth Adapter not present. Can't serve requestDevice.";
- RecordRequestDeviceOutcome(
+ BluetoothMetrics::RecordRequestDeviceOutcome(
UMARequestDeviceOutcome::BLUETOOTH_ADAPTER_NOT_PRESENT);
Send(new BluetoothMsg_RequestDeviceError(
thread_id, request_id, WebBluetoothError::NoBluetoothAdapter));
@@ -444,7 +302,7 @@ void BluetoothDispatcherHost::OnRequestDevice(
// https://crbug.com/517237
if (!adapter_->IsPowered()) {
VLOG(1) << "Bluetooth Adapter is not powered. Can't serve requestDevice.";
- RecordRequestDeviceOutcome(
+ BluetoothMetrics::RecordRequestDeviceOutcome(
UMARequestDeviceOutcome::BLUETOOTH_ADAPTER_OFF);
Send(new BluetoothMsg_RequestDeviceError(
thread_id, request_id, WebBluetoothError::BluetoothAdapterOff));
@@ -459,7 +317,8 @@ void BluetoothDispatcherHost::OnRequestDevice(
weak_ptr_factory_.GetWeakPtr(), thread_id, request_id));
} else {
VLOG(1) << "No BluetoothAdapter. Can't serve requestDevice.";
- RecordRequestDeviceOutcome(UMARequestDeviceOutcome::NO_BLUETOOTH_ADAPTER);
+ BluetoothMetrics::RecordRequestDeviceOutcome(
+ UMARequestDeviceOutcome::NO_BLUETOOTH_ADAPTER);
Send(new BluetoothMsg_RequestDeviceError(
thread_id, request_id, WebBluetoothError::NoBluetoothAdapter));
}
@@ -471,7 +330,8 @@ void BluetoothDispatcherHost::OnConnectGATT(
int request_id,
const std::string& device_instance_id) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- RecordWebBluetoothFunctionCall(UMAWebBluetoothFunction::CONNECT_GATT);
+ BluetoothMetrics::RecordWebBluetoothFunctionCall(
+ UMAWebBluetoothFunction::CONNECT_GATT);
const base::TimeTicks start_time = base::TimeTicks::Now();
// TODO(ortuno): Right now it's pointless to check if the domain has access to
@@ -480,7 +340,8 @@ void BluetoothDispatcherHost::OnConnectGATT(
// the device. https://crbug.com/484745
device::BluetoothDevice* device = adapter_->GetDevice(device_instance_id);
if (device == nullptr) { // See "NETWORK_ERROR Note" above.
- RecordConnectGATTOutcome(UMAConnectGATTOutcome::NO_DEVICE);
+ BluetoothMetrics::RecordConnectGATTOutcome(
+ UMAConnectGATTOutcome::NO_DEVICE);
VLOG(1) << "Bluetooth Device no longer in range.";
Send(new BluetoothMsg_ConnectGATTError(
thread_id, request_id, WebBluetoothError::DeviceNoLongerInRange));
@@ -501,8 +362,9 @@ void BluetoothDispatcherHost::OnGetPrimaryService(
const std::string& device_instance_id,
const std::string& service_uuid) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- RecordWebBluetoothFunctionCall(UMAWebBluetoothFunction::GET_PRIMARY_SERVICE);
- RecordGetPrimaryServiceService(BluetoothUUID(service_uuid));
+ BluetoothMetrics::RecordWebBluetoothFunctionCall(
+ UMAWebBluetoothFunction::GET_PRIMARY_SERVICE);
+ BluetoothMetrics::RecordGetPrimaryServiceService(BluetoothUUID(service_uuid));
// TODO(ortuno): Check if device_instance_id is in "allowed devices"
// https://crbug.com/493459
@@ -524,7 +386,8 @@ void BluetoothDispatcherHost::OnGetCharacteristic(
const std::string& service_instance_id,
const std::string& characteristic_uuid) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- RecordWebBluetoothFunctionCall(UMAWebBluetoothFunction::GET_CHARACTERISTIC);
+ BluetoothMetrics::RecordWebBluetoothFunctionCall(
+ UMAWebBluetoothFunction::GET_CHARACTERISTIC);
auto device_iter = service_to_device_.find(service_instance_id);
// A service_instance_id not in the map implies a hostile renderer
@@ -586,7 +449,7 @@ void BluetoothDispatcherHost::OnReadValue(
int request_id,
const std::string& characteristic_instance_id) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- RecordWebBluetoothFunctionCall(
+ BluetoothMetrics::RecordWebBluetoothFunctionCall(
UMAWebBluetoothFunction::CHARACTERISTIC_READ_VALUE);
auto characteristic_iter =
@@ -643,7 +506,7 @@ void BluetoothDispatcherHost::OnWriteValue(
const std::string& characteristic_instance_id,
const std::vector<uint8_t>& value) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- RecordWebBluetoothFunctionCall(
+ BluetoothMetrics::RecordWebBluetoothFunctionCall(
UMAWebBluetoothFunction::CHARACTERISTIC_WRITE_VALUE);
// Length check per step 3 of writeValue algorithm:
@@ -720,7 +583,8 @@ void BluetoothDispatcherHost::OnDiscoverySessionStartedError(int thread_id,
int request_id) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
DLOG(WARNING) << "BluetoothDispatcherHost::OnDiscoverySessionStartedError";
- RecordRequestDeviceOutcome(UMARequestDeviceOutcome::DISCOVERY_START_FAILED);
+ BluetoothMetrics::RecordRequestDeviceOutcome(
+ UMARequestDeviceOutcome::DISCOVERY_START_FAILED);
Send(new BluetoothMsg_RequestDeviceError(
thread_id, request_id, WebBluetoothError::DiscoverySessionStartFailed));
request_device_sessions_.erase(std::make_pair(thread_id, request_id));
@@ -763,14 +627,15 @@ void BluetoothDispatcherHost::OnDiscoverySessionStopped(int thread_id,
device->IsPaired(), // paired
content::BluetoothDevice::UUIDsFromBluetoothUUIDs(
device->GetUUIDs())); // uuids
- RecordRequestDeviceOutcome(UMARequestDeviceOutcome::SUCCESS);
+ BluetoothMetrics::RecordRequestDeviceOutcome(
+ UMARequestDeviceOutcome::SUCCESS);
Send(new BluetoothMsg_RequestDeviceSuccess(thread_id, request_id,
device_ipc));
request_device_sessions_.erase(session);
return;
}
}
- RecordRequestDeviceOutcome(
+ BluetoothMetrics::RecordRequestDeviceOutcome(
UMARequestDeviceOutcome::NO_MATCHING_DEVICES_FOUND);
VLOG(1) << "No matching Bluetooth Devices found";
Send(new BluetoothMsg_RequestDeviceError(thread_id, request_id,
@@ -782,7 +647,8 @@ void BluetoothDispatcherHost::OnDiscoverySessionStoppedError(int thread_id,
int request_id) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
DLOG(WARNING) << "BluetoothDispatcherHost::OnDiscoverySessionStoppedError";
- RecordRequestDeviceOutcome(UMARequestDeviceOutcome::DISCOVERY_STOP_FAILED);
+ BluetoothMetrics::RecordRequestDeviceOutcome(
+ UMARequestDeviceOutcome::DISCOVERY_STOP_FAILED);
Send(new BluetoothMsg_RequestDeviceError(
thread_id, request_id, WebBluetoothError::DiscoverySessionStopFailed));
request_device_sessions_.erase(std::make_pair(thread_id, request_id));
@@ -796,8 +662,9 @@ void BluetoothDispatcherHost::OnGATTConnectionCreated(
scoped_ptr<device::BluetoothGattConnection> connection) {
// TODO(ortuno): Save the BluetoothGattConnection so we can disconnect
// from it.
- RecordConnectGATTTimeSuccess(base::TimeTicks::Now() - start_time);
- RecordConnectGATTOutcome(UMAConnectGATTOutcome::SUCCESS);
+ BluetoothMetrics::RecordConnectGATTTimeSuccess(base::TimeTicks::Now() -
+ start_time);
+ BluetoothMetrics::RecordConnectGATTOutcome(UMAConnectGATTOutcome::SUCCESS);
Send(new BluetoothMsg_ConnectGATTSuccess(thread_id, request_id,
device_instance_id));
}
@@ -811,8 +678,10 @@ void BluetoothDispatcherHost::OnCreateGATTConnectionError(
// There was an error creating the ATT Bearer so we reject with
// NetworkError.
// https://webbluetoothchrome.github.io/web-bluetooth/#dom-bluetoothdevice-connectgatt
- RecordConnectGATTTimeFailed(base::TimeTicks::Now() - start_time);
- // RecordConnectGATTOutcome is called by TranslateConnectError.
+ BluetoothMetrics::RecordConnectGATTTimeFailed(base::TimeTicks::Now() -
+ start_time);
+ // BluetoothMetrics::RecordConnectGATTOutcome is called by
+ // TranslateConnectError.
Send(new BluetoothMsg_ConnectGATTError(thread_id, request_id,
TranslateConnectError(error_code)));
}
@@ -826,7 +695,8 @@ void BluetoothDispatcherHost::OnServicesDiscovered(
device::BluetoothDevice* device = adapter_->GetDevice(device_instance_id);
if (device == nullptr) { // See "NETWORK_ERROR Note" above.
- RecordGetPrimaryServiceOutcome(UMAGetPrimaryServiceOutcome::NO_DEVICE);
+ BluetoothMetrics::RecordGetPrimaryServiceOutcome(
+ UMAGetPrimaryServiceOutcome::NO_DEVICE);
VLOG(1) << "Bluetooth Device is no longer in range.";
Send(new BluetoothMsg_GetPrimaryServiceError(
thread_id, request_id, WebBluetoothError::DeviceNoLongerInRange));
@@ -844,13 +714,15 @@ void BluetoothDispatcherHost::OnServicesDiscovered(
if (!insert_result.second)
DCHECK(insert_result.first->second == device_instance_id);
- RecordGetPrimaryServiceOutcome(UMAGetPrimaryServiceOutcome::SUCCESS);
+ BluetoothMetrics::RecordGetPrimaryServiceOutcome(
+ UMAGetPrimaryServiceOutcome::SUCCESS);
Send(new BluetoothMsg_GetPrimaryServiceSuccess(thread_id, request_id,
service_identifier));
return;
}
}
- RecordGetPrimaryServiceOutcome(UMAGetPrimaryServiceOutcome::NOT_FOUND);
+ BluetoothMetrics::RecordGetPrimaryServiceOutcome(
+ UMAGetPrimaryServiceOutcome::NOT_FOUND);
VLOG(1) << "No GATT services with UUID: " << service_uuid;
Send(new BluetoothMsg_GetPrimaryServiceError(
thread_id, request_id, WebBluetoothError::ServiceNotFound));
« no previous file with comments | « no previous file | content/browser/bluetooth/bluetooth_metrics.h » ('j') | content/browser/bluetooth/bluetooth_metrics.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698