Apple Watch with Pillow.
I tried:
Pillow
Sleep++
Autosleep
and I’m sure a few others I dismissed rather quickly.
Actually measuring sleep is very hard to do with just movement and heart rate, and assessing how accurate measurements like this are is also very hard. Without some good external reference, it’s difficult to know which app is more accurate. Now, we don’t always know when we are awake, and we might forget when we were awake. But it is unlikely that we would think we would falsely identify being awake (as in, if I think I was awake last night to go to the bathroom, odds are I really was). I decided that, in the absence of an external reference, the best indicator of accuracy is which application identified moments of wakefulness that I was also aware of most often since that was really the most reliable indicator I had. If I knew I was awake for some period of time, and the app failed to detect that, I had doubts about its accuracy. (apps may fail to detect moments of wakefulness I am not aware of, or detect wakefulness where there is none but I can’t be sure I wasn’t actually awake and just forget, but there’s nothing I can do about that!).
I also considered, much more subjectively, how well the representation of my sleep mapped on to my experience, but this was really down-weighted compared to detection of moments of known-wakefulness.
Having tried these all out simultaneously, I found Pillow tended to detect times of being awake better than any others. The other apps tended to miss times of wakefulness. Pillow did have the disadvantage (at first) of requiring me to tell it when I was going to sleep, but that wasn’t a big deal, I rarely forgot (and I have a special “Sleep” watch face with the complication right there). Pillow has since added auto-sleep detection so that’s not even a factor any more.
I never use the Pillow alarm or its sound recording. I just use the Sleep Cycles tracking (I use the built in Apple Watch alarm for waking up).
Your milage may vary, I’d suggest trying out at least the apps I listed above, since the total cost for the whole set would bet about $5. You can run them all simultaneously so you can compare results for all three apps on the same night, eliminating any between-night variation that would make between-app comparisons tough.
For the record, Autosleep is very well-loved, though its interface is a disaster of information overload.