Sounds like what you want is tracing. OpenTelemetry is the de facto standard for that. Couple it with aggressive sampling (here’s a great talk on it https://www.usenix.org/conference/srecon24americas/presentation/cruz ) and you’ll have a very efficient way of identifying use patterns.
Xbox compatible controllers all support xinput, which works well on Linux, both wired and wireless. Third party PlayStation controllers on the other hand can be weird on wired connections, and may only work with Bluetooth.
I’m quite happy with 8bitdo controllers - they’re sturdy, have hall effect sticks so they won’t drift, and work out of the box. Cheaper controllers will work too, but may end up falling apart sooner than later.