Another route is powering from a measurement power supply, like a HP/Aglient/Keysight Model 66312A "Dynamic Measurement DC Source System" which is basically a poor man's SMU (Source Measure Unit), or a fully fledged SMU from someone like HPAK or Keithley.
I pick the 66312A just because I happen to have one. They turn up on the secondhand market from time to time at quite reasonable prices - usually around the £300 GBP region. It's a 0-20V, 0-2A bench power supply with more extensive, more precise, faster measurements than a typical bench PSU. It can measure at a resolution of 2.5uA on its low range (-20mA to +20mA) and 250uA on high range, and can switch measurement automatically between the two. Will store 4096 readings with a sampling rate range of 15.6us to 31,200s. Needs GPIB for fast readings, slow ones and the 4096 reading store can be read out on an RS232 port. It sounds like it might fit your requirements.
If you need faster or finer resolution you're probably into a fully fledged SMU. Again, you might get lucky and find a secondhand one within your budget, but the Keithley ones usually change hands for a bit more than 2k, HPAK ones are like hen's teeth and I'm poorly informed on other brands.