Commit 6ea37735 authored by Meilin Wang's avatar Meilin Wang Committed by Chromium LUCI CQ

[Nearby Share] Add metrics Nearby.Connections.Bluetooth.LEMedium.*.

Bug: b/163064897
Change-Id: I796a1f8efdb4d14d07cca102257413bf46aac429
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2586018
Commit-Queue: Meilin Wang <meilinw@chromium.org>
Reviewed-by: default avatarIlya Sherman <isherman@chromium.org>
Reviewed-by: default avatarRyan Hansberry <hansberry@chromium.org>
Cr-Commit-Position: refs/heads/master@{#836895}
parent b487fb73
......@@ -4,12 +4,35 @@
#include "chrome/services/sharing/nearby/platform/ble_medium.h"
#include "base/metrics/histogram_functions.h"
#include "chrome/services/sharing/nearby/platform/bluetooth_device.h"
namespace location {
namespace nearby {
namespace chrome {
namespace {
void LogStartAdvertisingResult(bool success) {
base::UmaHistogramBoolean(
"Nearby.Connections.Bluetooth.LEMedium.StartAdvertising.Result", success);
}
void LogStopAdvertisingResult(bool success) {
base::UmaHistogramBoolean(
"Nearby.Connections.Bluetooth.LEMedium.StopAdvertising.Result", success);
}
void LogStartScanningResult(bool success) {
base::UmaHistogramBoolean(
"Nearby.Connections.Bluetooth.LEMedium.StartScanning.Result", success);
}
void LogStopScanningResult(bool success) {
base::UmaHistogramBoolean(
"Nearby.Connections.Bluetooth.LEMedium.StopScanning.Result", success);
}
} // namespace
BleMedium::BleMedium(
const mojo::SharedRemote<bluetooth::mojom::Adapter>& adapter)
: adapter_(adapter) {
......@@ -42,8 +65,10 @@ bool BleMedium::StartAdvertising(
advertisement.data() + advertisement.size()),
/*use_scan_data=*/true, &pending_advertisement);
if (!success || !pending_advertisement.is_valid())
if (!success || !pending_advertisement.is_valid()) {
LogStartAdvertisingResult(false);
return false;
}
registered_service_id_to_fast_advertisement_service_uuid_map_.emplace(
service_id, service_uuid);
......@@ -55,6 +80,7 @@ bool BleMedium::StartAdvertising(
remote_advertisement.set_disconnect_handler(base::BindOnce(
&BleMedium::AdvertisementReleased, base::Unretained(this), service_uuid));
LogStartAdvertisingResult(true);
return true;
}
......@@ -64,18 +90,22 @@ bool BleMedium::StopAdvertising(const std::string& service_id) {
service_id);
if (uuid_it ==
registered_service_id_to_fast_advertisement_service_uuid_map_.end()) {
LogStopAdvertisingResult(true);
return true;
}
auto advertisement_it = registered_advertisements_map_.find(uuid_it->second);
registered_service_id_to_fast_advertisement_service_uuid_map_.erase(uuid_it);
if (advertisement_it == registered_advertisements_map_.end())
if (advertisement_it == registered_advertisements_map_.end()) {
LogStopAdvertisingResult(true);
return true;
}
bool success = advertisement_it->second->Unregister();
registered_advertisements_map_.erase(advertisement_it);
LogStopAdvertisingResult(success);
return success;
}
......@@ -95,6 +125,7 @@ bool BleMedium::StartScanning(
if (IsScanning() &&
base::Contains(discovered_peripheral_callbacks_map_, service_uuid)) {
LogStartScanningResult(true);
return true;
}
......@@ -111,6 +142,7 @@ bool BleMedium::StartScanning(
adapter_->AddObserver(adapter_observer_.BindNewPipeAndPassRemote());
if (!success) {
adapter_observer_.reset();
LogStartScanningResult(false);
return false;
}
......@@ -119,6 +151,7 @@ bool BleMedium::StartScanning(
if (!success || !discovery_session.is_valid()) {
adapter_observer_.reset();
LogStartScanningResult(false);
return false;
}
......@@ -140,6 +173,7 @@ bool BleMedium::StartScanning(
discovery_service_id_to_fast_advertisement_service_uuid_map_);
}
LogStartScanningResult(true);
return true;
}
......@@ -163,8 +197,10 @@ bool BleMedium::StopScanning(const std::string& service_id) {
discovered_peripheral_callbacks_map_.empty(),
discovery_service_id_to_fast_advertisement_service_uuid_map_.empty());
if (!discovered_peripheral_callbacks_map_.empty())
if (!discovered_peripheral_callbacks_map_.empty()) {
LogStopScanningResult(true);
return true;
}
bool stop_discovery_success = true;
if (discovery_session_) {
......@@ -175,6 +211,7 @@ bool BleMedium::StopScanning(const std::string& service_id) {
adapter_observer_.reset();
discovery_session_.reset();
LogStopScanningResult(stop_discovery_success);
return stop_discovery_success;
}
......
......@@ -9536,6 +9536,40 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
</token>
</histogram>
<histogram name="Nearby.Connections.Bluetooth.LEMedium.StartAdvertising.Result"
enum="BooleanSuccess" expires_after="2021-12-10">
<owner>hansberry@chromium.org</owner>
<owner>nearby-share-chromeos-eng@google.com</owner>
<summary>
Records whether the request to start advertising has succeeded.
</summary>
</histogram>
<histogram name="Nearby.Connections.Bluetooth.LEMedium.StartScanning.Result"
enum="BooleanSuccess" expires_after="2021-12-10">
<owner>hansberry@chromium.org</owner>
<owner>nearby-share-chromeos-eng@google.com</owner>
<summary>
Records whether BLE scanning has been initiated successfully.
</summary>
</histogram>
<histogram name="Nearby.Connections.Bluetooth.LEMedium.StopAdvertising.Result"
enum="BooleanSuccess" expires_after="2021-12-10">
<owner>hansberry@chromium.org</owner>
<owner>nearby-share-chromeos-eng@google.com</owner>
<summary>
Records whether the request to stop advertising has succeeded.
</summary>
</histogram>
<histogram name="Nearby.Connections.Bluetooth.LEMedium.StopScanning.Result"
enum="BooleanSuccess" expires_after="2021-12-10">
<owner>hansberry@chromium.org</owner>
<owner>nearby-share-chromeos-eng@google.com</owner>
<summary>Records whether BLE scanning has been stopped successfully.</summary>
</histogram>
<histogram name="Nearby.Connections.InstantMessaging.{Direction}Express.Result"
enum="BooleanSuccess" expires_after="2021-08-19">
<owner>nohle@chromium.org</owner>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment