# How to measure the time-to-first-frame on Android

The time-to-first-frame, also known as the start-up time, is the time between the moment where playback is requested and the moment where the first frame is rendered.

To measure it, measure the time between the `play` event and the `playing` event.

## Usage

```kotlin
var playEventRegisteredAt = 0L

val playListener = object : EventListener<PlayEvent> {
    override fun handleEvent(event: PlayEvent) {
        player.removeEventListener(PlayerEventTypes.PLAY, this)
        playEventRegisteredAt = System.currentTimeMillis()
    }
}

val playingListener = object : EventListener<PlayingEvent> {
    override fun handleEvent(event: PlayingEvent) {
        player.removeEventListener(PlayerEventTypes.PLAYING, this)
        val timeToFirstFrame = System.currentTimeMillis() - playEventRegisteredAt
        println("Time-to-first-frame: $timeToFirstFrame")
    }
}

player.addEventListener(PlayerEventTypes.PLAY, playListener)
player.addEventListener(PlayerEventTypes.PLAYING, playingListener)
```
