Can a miner's hashrate be derived from shares submitted at a given difficulty?
hashes = shares * share_difficulty * 2**48 / 65535


thus:

megahash_per_second = shares_per_second * share_difficulty * 4295.032833