Hi,
it sounds easy, but there are so much details to take care of.
Waveforms:
Is there DC offset in those waveforms?
If yes, should the current reading include the DC or not?
If the waveforms are clean (low noise) then a zero cross comparator (take care of DC?) can generate a square wave to measure (fundamental) frequency of your signal.
Either you wait a defined time (eg. 1s) and count pulses to get frequency,
or you measure the time between two rising edges and calculate frequency by f = 1/t (maybe some filtering is necessary)
Measuring current is the complicated one ... at least if you want a "defined" current reading.
Definitions are: peak, peak-to-peak, RMS, average, (all with or without taking care of DC)
* peak is problematic with unsymmetrical signals like rectified sine.
* peak-to-peak is only a good information if you additionally know the waveform
* RMS is good if you want to know how much power it produces
* average is problematic for symmetrical signals. (The average value of a sine is zero).
* what is your input current range?
* What resolution do you need, what accuracy do you expect?
Measuring interval:
* the most difficult is if you need high speed real time information
* for a display you maybe need 3 results per second
* for USB and some diagrams you maybe need more than ten (hundred?) results per second.
What hardware do you use?
* what microcontroller?
* what analog circuitry? Amplifiers, filters, RMS-to-DC converters....
* what ADC with resolution and sampling frequency?
Klaus