| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/browser/bluetooth/bluetooth_metrics.h" | 5 #include "content/browser/bluetooth/bluetooth_metrics.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 | 56 |
| 57 // requestDevice() | 57 // requestDevice() |
| 58 | 58 |
| 59 void RecordRequestDeviceOutcome(UMARequestDeviceOutcome outcome) { | 59 void RecordRequestDeviceOutcome(UMARequestDeviceOutcome outcome) { |
| 60 UMA_HISTOGRAM_ENUMERATION("Bluetooth.Web.RequestDevice.Outcome", | 60 UMA_HISTOGRAM_ENUMERATION("Bluetooth.Web.RequestDevice.Outcome", |
| 61 static_cast<int>(outcome), | 61 static_cast<int>(outcome), |
| 62 static_cast<int>(UMARequestDeviceOutcome::COUNT)); | 62 static_cast<int>(UMARequestDeviceOutcome::COUNT)); |
| 63 } | 63 } |
| 64 | 64 |
| 65 static void RecordRequestDeviceFilters( | 65 static void RecordRequestDeviceFilters( |
| 66 const mojo::Array<blink::mojom::WebBluetoothScanFilterPtr>& filters) { | 66 const std::vector<blink::mojom::WebBluetoothScanFilterPtr>& filters) { |
| 67 UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.Filters.Count", | 67 UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.Filters.Count", |
| 68 filters.size()); | 68 filters.size()); |
| 69 for (const auto& filter : filters) { | 69 for (const auto& filter : filters) { |
| 70 if (!filter->services) { |
| 71 continue; |
| 72 } |
| 70 UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.FilterSize", | 73 UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.FilterSize", |
| 71 filter->services.size()); | 74 filter->services->size()); |
| 72 for (const base::Optional<BluetoothUUID>& service : filter->services) { | 75 for (const BluetoothUUID& service : filter->services.value()) { |
| 73 // TODO(ortuno): Use a macro to histogram strings. | 76 // TODO(ortuno): Use a macro to histogram strings. |
| 74 // http://crbug.com/520284 | 77 // http://crbug.com/520284 |
| 75 UMA_HISTOGRAM_SPARSE_SLOWLY( | 78 UMA_HISTOGRAM_SPARSE_SLOWLY( |
| 76 "Bluetooth.Web.RequestDevice.Filters.Services", HashUUID(service)); | 79 "Bluetooth.Web.RequestDevice.Filters.Services", HashUUID(service)); |
| 77 } | 80 } |
| 78 } | 81 } |
| 79 } | 82 } |
| 80 | 83 |
| 81 static void RecordRequestDeviceOptionalServices( | 84 static void RecordRequestDeviceOptionalServices( |
| 82 const mojo::Array<base::Optional<BluetoothUUID>>& optional_services) { | 85 const std::vector<BluetoothUUID>& optional_services) { |
| 83 UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.OptionalServices.Count", | 86 UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.OptionalServices.Count", |
| 84 optional_services.size()); | 87 optional_services.size()); |
| 85 for (const base::Optional<BluetoothUUID>& service : optional_services) { | 88 for (const BluetoothUUID& service : optional_services) { |
| 86 // TODO(ortuno): Use a macro to histogram strings. | 89 // TODO(ortuno): Use a macro to histogram strings. |
| 87 // http://crbug.com/520284 | 90 // http://crbug.com/520284 |
| 88 UMA_HISTOGRAM_SPARSE_SLOWLY( | 91 UMA_HISTOGRAM_SPARSE_SLOWLY( |
| 89 "Bluetooth.Web.RequestDevice.OptionalServices.Services", | 92 "Bluetooth.Web.RequestDevice.OptionalServices.Services", |
| 90 HashUUID(service)); | 93 HashUUID(service)); |
| 91 } | 94 } |
| 92 } | 95 } |
| 93 | 96 |
| 94 static void RecordUnionOfServices( | 97 static void RecordUnionOfServices( |
| 95 const blink::mojom::WebBluetoothRequestDeviceOptionsPtr& options) { | 98 const blink::mojom::WebBluetoothRequestDeviceOptionsPtr& options) { |
| 96 std::unordered_set<std::string> union_of_services; | 99 std::unordered_set<std::string> union_of_services; |
| 97 for (const base::Optional<BluetoothUUID>& service : | 100 for (const BluetoothUUID& service : options->optional_services) { |
| 98 options->optional_services) { | 101 union_of_services.insert(service.canonical_value()); |
| 99 union_of_services.insert(service->canonical_value()); | |
| 100 } | 102 } |
| 101 | 103 |
| 102 for (const auto& filter : options->filters) { | 104 for (const auto& filter : options->filters) { |
| 103 for (const base::Optional<BluetoothUUID>& service : filter->services) { | 105 if (!filter->services) { |
| 104 union_of_services.insert(service->canonical_value()); | 106 continue; |
| 107 } |
| 108 for (const BluetoothUUID& service : filter->services.value()) { |
| 109 union_of_services.insert(service.canonical_value()); |
| 105 } | 110 } |
| 106 } | 111 } |
| 107 | 112 |
| 108 UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.UnionOfServices.Count", | 113 UMA_HISTOGRAM_COUNTS_100("Bluetooth.Web.RequestDevice.UnionOfServices.Count", |
| 109 union_of_services.size()); | 114 union_of_services.size()); |
| 110 | 115 |
| 111 for (const std::string& service : union_of_services) { | 116 for (const std::string& service : union_of_services) { |
| 112 // TODO(ortuno): Use a macro to histogram strings. | 117 // TODO(ortuno): Use a macro to histogram strings. |
| 113 // http://crbug.com/520284 | 118 // http://crbug.com/520284 |
| 114 UMA_HISTOGRAM_SPARSE_SLOWLY( | 119 UMA_HISTOGRAM_SPARSE_SLOWLY( |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 334 } | 339 } |
| 335 | 340 |
| 336 void RecordRSSISignalStrengthLevel(UMARSSISignalStrengthLevel level) { | 341 void RecordRSSISignalStrengthLevel(UMARSSISignalStrengthLevel level) { |
| 337 UMA_HISTOGRAM_ENUMERATION( | 342 UMA_HISTOGRAM_ENUMERATION( |
| 338 "Bluetooth.Web.RequestDevice.RSSISignalStrengthLevel", | 343 "Bluetooth.Web.RequestDevice.RSSISignalStrengthLevel", |
| 339 static_cast<int>(level), | 344 static_cast<int>(level), |
| 340 static_cast<int>(UMARSSISignalStrengthLevel::COUNT)); | 345 static_cast<int>(UMARSSISignalStrengthLevel::COUNT)); |
| 341 } | 346 } |
| 342 | 347 |
| 343 } // namespace content | 348 } // namespace content |
| OLD | NEW |