It's pretty similar to mine, you could improve yours by relying on an hardware timer/counter that can go faster and thus provide more entropy.
Also you should not reset the counter at every event, this would lead to a poisson distribution if event ever became of comparable time scale to the timer