I've been doing this for years, starting off with plugin energy meters and a whole house meter, then migrating to measuring every circuit.
I've used the early Arduino based Open Energy Monitor design, Brultech ECM1240s, a Brultech GEM (
https://www.brultech.com/greeneye/) and Iotawatts (
https://iotawatt.com/).
The OEM system is no longer produced, it has been replaced by a Raspberry Pi based unit which is better in some ways as it includes an Emoncms instance for logging and displaying data, but worse in that it only has 2 inputs; you can send data from other sources to the Emoncms instance though.
The Brultechs are good reliable monitors, but a bit pricy and needs additional resources for logging.
My favourite is the Iotawatt; it's relatively affordable and has 14 inputs. They store data on the Iotawatt but you can send the data to other loggers. It supports EmonCMS, InfluxDB and PVOutput.
All these systems will consume some power, but it's only a few watts.
Apparently the Emporia meter doesn't log locally but in the cloud. That's a big NO from me!
Logging per circuit is the best way to go, I think. It's quite easy to identify individual devices and check their consumption, if you have enough granularity in your circuits.
My system uses an Emonpi for logging incoming mains and running EmonCMS, a Brultech gem for monitoring individual circuits, 22 in this case. An Iotawatt monitoring 6 PV related sources and another remote Iotawatt monitoring 7 circuits in a pump house.