I wear a Garmin Instinct. It seems to work well for calculating and reporting pool swim metrics. What I would like to know is: I enter my pool length as 50m. But how does the watch calculate the lengths I have achieved? I monitored it at first, and found that it unfailingly "knows" when I have swam 50 m, 100m, etc. What is it measuring to know what lengths I have swum?
It counts lengths (and multiplies that times the pool size you entered). It has accelerometers that detect changes in accelerations such as when you push off the pool wall and stop. However it would falsely count a length if you stopped mid-lap and restarted, accelerate to pass someone or change strokes mid-length. It can miss a length if you don't push off firmly.