In this particular case, using a CANivore is a pretty expensive investment for minimal benefit, since it won’t work with Spark Maxes, so the most you could isolate is the CANCoders and Pigeon.
If the CAN utilization is staying constant at 100%, something is probably wrong somewhere. Tuning status frame timing usually works if the utilization is dwindling near 100%, but probably won’t help if its stuck at 100% (not sure though, might be worth trying). We used the exact same device type and amount on our 2023 robot (plus a PCM), and our CAN utilization fluctuated between 50-60%. Unfortunately, beyond checking all wire and connections, I’m not entirely sure what steps you could take to track down this issue.
What problems are you having besides the fact that CAN utilization is 100%? If the CAN utilization was actually 100%, I’d have expected to see stale data notices from the CANCoders, but your screenshot of the DS doesn’t show that (unless Phoenix 6 doesn’t report that).
Iffy CAN wiring can drive up utilization, but your error counts are all zero, so this seems less likely. I’d try something drastic, like splitting your CAN bus in half, just to see if you can get the utilization to drop. FWIW, we’ve run 14 SPARK MAXes (2022) without issue, but that robot used SRX MAG Encoders (not CAN) and a navx-MXP (same).
We like using the canivore simply so that we have a backup can loop. i.e. since our drivetrain is all on the canivore and are subsystems are on another loop if the can on the subsystem breaks we still have a working drivebase