I was thinking measuring magnetc flux from embedded magnets on the shaft via hall effect sensors but I am not sure. What would be the easiest way to measure speed of the rotor? I am talking about mechanical speed so frequency of the phase currents is not the way to do it.
An induction motor is asynchronous and it is therefore hard to measure the rotational speed based on flux. Because the magnetic flux on the stator does not match the speed or the rotor. It has slip.
Motor drivers are able to do it by pulsing short burst of DC on the stator windings whilst analyzing what comes back. This only works when it's not driving. This method is used for flying start.
Perhaps you can measure it based on the harmonics measured by the flux sensor if you mount it on the rotor. But this is inconvenient since you'd need slip rings to get the signal out the electronics on the rotor.
The reliable industry method is to use a induction pickup on a trigger wheel.
Depending on the accuracy needed, there are plenty of available technologies that already exist; tachometer, encoder, resolver etc. They all involve external components attached to the motor shaft.
In the VFD world, "encoderless" speed detection for the purpose of achieving Sensorless Vector Control is done with highly sensitive current detection systems that monitor and filter the stator current flow signals looking for the anomalies that represent the rotor bars passing through the stator magnetic fields and count them to determine the actual rotor speed. You cannot use that for absolute position (i.e. when stopped), but with enough processing power in the drive, it can be highly accurate, as in .001%
I once wrapped a "several turn" coil around a medium sized 3-phase induction motor and low pass filtered the output to get slip frequency i.e. I measured the flux produced by the rotor due to the asynchronous speed of the rotor compared to the fixed stator frequency.
You can calculate speed based on slip and input frequency if you know the number of poles the motor has.
I was at college and it was part of an assignment and it was in the late 1970s so I don't know if this technique will work with more modern machines but it did back then.
The only way is to use an encoder mounted on a rotor shaft.
The induction motor has a slip, therefore measuring the stator flux won't give you any valuable information. Further, the stator flux frequency is equal to the grid frequency, so you don't even need hall sensor to get the flux frequency, you can measure directly the line frequency.