Skip to content

Automatically capture asset timing measurements #5317

Closed

Description

@AbhiPrasad

Problem Statement

We already take advantage of the https://developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API/Using_the_Resource_Timing_API to capture network timing about resources getting loaded in.

We grab info about transfer size here:

if ('transferSize' in entry) {
data['Transfer Size'] = entry.transferSize;
}
if ('encodedBodySize' in entry) {
data['Encoded Body Size'] = entry.encodedBodySize;
}
if ('decodedBodySize' in entry) {
data['Decoded Body Size'] = entry.decodedBodySize;
}

Solution Brainstorm

Like getsentry/sentry#36012, let's comb through all the resource spans and aggregate their timing data into measurements.

This will allow us to draw insights about total assets loaded and how many resource bytes we are loading on a page.

There is an argument here that we can do this automatically in Relay to save bundle size, as we are just looking at the resource.X spans anyway.

Activity

  1. k-fish commented on Jun 24, 2022

    @k-fish
    Member

    Couple notes:

    • If all the fields are 0 you can roughly determine that there is an issue with the timing header, since this information is only provided if the header set. Calculating total transfer would be misleading without including information about the potentially 'missing' asset sizes.
    • Relay probably makes more sense since it's just some arithmetic, there shouldn't be additional data to collect.
  2. locked and limited conversation to collaborators on Jan 26, 2023
  3. converted this issue into a discussion #6942 on Jan 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions