Skip to content

Incorrect app start transaction duration when app goes in sleep #5752

Description

@markushi

As reported by a customer we're seeing the following behavior:

  1. App is launched
  2. A cold start is detected and an ui.load transaction is created (app.start.cold + ttid)
  3. The app is backgrounded before the first frame draws (and the activity only progresses through the onCreate + onStart phases, no onDestroy) — so TTID never happens, and no lifecycle cleanup on our side runs.
  4. The device enters Doze, which freezes our deadline timer so it doesn't fire at +30s.
  5. Hours later the device wakes up, the deadline finally fires when the app is resumed, and our forceFinish stamps the spans with the current time.
  6. The resulting transactions spans over multiple hours.

I would argue that we should drop any foreground launches which have a doze in-between, as it just skews the real "user perceived" launches.

On the other hand, a real user was probably waiting for a few seconds for the app to come alive, but it didn't, so the user bailed.

Related issue: #5530

Metadata

Metadata

Assignees

No one assigned

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions