Performance visualizer?

I’ve recently had some unexpected viewport performance issues and would love to know if there exists a way to visualize what might be the cause.
In my case, I’m linking collections from other files in order to keep my working files a reasonable size so I can save versions often (fairly common practice for professionals). I’ve got 8 models and those models share a few components, so each model is also linking collections for those components from a couple asset files.
After a TON of reworking and trying different techniques, I figured out that if I parent one of the linked components to an empty, animation playback speed gets cut from about 60fps to 15fps. That’s just if ANY animation exists on the parent. I just added 1 keyframe, so it doesn’t even move, it’s just set as evaluated at that point right?
Parent another duplicate of the same thing? 8-12fps, etc. So in my final file with all 8 models, I was getting about .5fps and I had No idea why.
In order to reduce the amount of data, I had used mirror modifiers on my assets. I manually mirrored those, and it was fine. I also noticed that if I was using a driver, it also killed my performance. I had made a driver for “Handle Up/Down” just to make it really easy to animate those from 0.0-1.0.
Once I eliminated both of those things, even though it’s more data, I can now playback everything fairly well. It’s 1200 objects and 3million verts, so I wasn’t expecting Amazing performance.

I’m sure one, or both, of those things is related to a bug somewhere, and I can look into figuring out how to report them once the project is done. But it took a couple days to figure out what was happening and solve for it. I’m not sure if the tool could be a visualizer, or just a printout of how much time each thing is taking in order to see what might be causing a slow down. When you see that the objects that are causing performance to be slow are something that is usually fast you can figure out another way of doing it.

I’d love to see shader performance, at least for Eevee, which is Pretty similar to what you would get in cycles unless you’ve got render displacement, or unnaturally high amounts of transparency refraction or SSS, but you hopefully expected that.

Just seeing if there are some production tools available for this. We’ve switched to blender for animations (still using keyshot for fast CAD renders…for now) and workflow for production is Definitely where I’ve hit a wall at finding information.