Took another pass at these changes with a focus on the outcome of enumeration attempts on a per data fetcher basis rather than generic metrics. PTAL, thanks!
- Gamepad.ConnectionSource: Records the fetcher used when a new gamepadRob PitkinTo better understand double-enumeration I think we want to always record the connection even if the gamepad isn't assigned a slot. If we wait until after a slot is assigned to record the metric then we'll ignore cases where double-enumeration is prevented by our static blocklist rules (or when kItemsLengthCap is reached and there are no available slots).
Done
- Gamepad.DeduplicatedGamepadSource: Records when a fetcher ignores aRob PitkinCurrently we're only measuring IsSupportedByGameController-based deduplication but there are other cases where we deduplicate gamepads in this data fetcher (IsNintendoController, kSteelSeriesProduct1420) and other data fetchers. I think it's fine if we only introduce logging for macOS data fetchers for now but it would be nice if this metric could represent different types of deduplication within the same data fetcher.
Instead of logging a GamepadSource enum, let's introduce a new enum to represent the deduplication rule that was applied when the gamepad was ignored. This could be expanded to support "ignore" rules that aren't meant for deduplication, like GamepadIsExcluded.
Done
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
RecordXboxMacOutcome(XboxMacOutcome::kOpenFailed);@mattre...@chromium.org I removed the buggy `kOpenFailedExclusiveAccess` case since it was triggering too many times. Should I also remove these other failure enum cases? (e.g. only leave the successful case)
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
GameControllerMacOutcome IsSupported(GCController* controller) {The "Is" prefix implies the method returns a boolean, but now it returns GameControllerMacOutcome. Please rename this method to reflect the new return type.
RecordXboxMacOutcome(XboxMacOutcome::kOpenFailed);@mattre...@chromium.org I removed the buggy `kOpenFailedExclusiveAccess` case since it was triggering too many times. Should I also remove these other failure enum cases? (e.g. only leave the successful case)
It's odd that kOpenFailed was recorded when switching between USB and Bluetooth. Does it happen when the USB device disconnects? If so, let's remove it since it would cause us to double-count.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Tested manually and removed that other fail enum value. PTAL at the latest changes. Thanks!
GameControllerMacOutcome IsSupported(GCController* controller) {The "Is" prefix implies the method returns a boolean, but now it returns GameControllerMacOutcome. Please rename this method to reflect the new return type.
Done
Matt Reynolds@mattre...@chromium.org I removed the buggy `kOpenFailedExclusiveAccess` case since it was triggering too many times. Should I also remove these other failure enum cases? (e.g. only leave the successful case)
It's odd that kOpenFailed was recorded when switching between USB and Bluetooth. Does it happen when the USB device disconnects? If so, let's remove it since it would cause us to double-count.
Yeah I tested this with monitoring mode in chrome://histograms and confirmed it gets logged when I unplug the gamepad over USB. Removed it's usage.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Hi Jonathan, I'm requesting your review as a code owner for `histograms/metadata/others/enums.xml` and `histogram/metadata/others/histograms.xml`. PTAL, thanks!
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |