The frame times are modeled to show each cause, not recorded from a real page. The snippet measures the gap between requestAnimationFrame callbacks, rates the session with 55 and 40 fps as thresholds and counts a drop when a frame takes more than 25 ms.