Well all bench brakes use some sort of strain gauge and an arm like you said there.
Usually the brake is mounted in pillow blocks allowing it to rotate but are stopped on a gauge..
The HP is then calculated by doing (rpm*torque)/5252 - and you will be in the correct ballpark.
For a sweep curve, you would read the rpm, and control the inflow of braking media (water or electricity if using a telma) and then make sure the engine under full load can't accelerate more than 300rpm / s.
That would make several datapoints availabe by rpm and torque.. You would need something around 200hz in polling rate for this, and an algorithm that sorts out all the crud or averages the reading during each second. Its here i have decided to use an FPGA from Xilinx - cuz everything can be connected to it, its blazing fast and you can just connect an USB to it for dataread out, stream or buffer. =)