Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: getResourceType() uses initiatorType when file extension missing #451

Merged
merged 2 commits into from
Sep 20, 2023

Conversation

williazz
Copy link
Contributor

@williazz williazz commented Sep 20, 2023

This is a follow up from an issue spotted in #450 and #448. See #450 (comment)

The ResourcePlugin mislabels fileType. Currently, fileType maps to buckets of file extensions from PerformanceResourceTiming.name (e.g. ".jpg" and ".png" map to "image"). However, file extensions cannot be trusted to exist, such as during redirects. When extensions are missing, events are mislabelled as "other".

I have considered two solutions:

  1. Use initiatorType to infer fileType when file extension is missing.
  2. Remove the idea of "fileType" altogether and only use initiatorType.

My recommendation is (1), which this PR implements. This is the least obtrusive method and we can always go to (2) later. If we were implementing this from scratch, I would instead recommend (2) because fileType is NOT a W3C concept found in the PerformanceResourceTiming schema.

To help me review, please also read initiatorType documentation to see if I missed any mappings from initiatorType -> fileType.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@williazz williazz marked this pull request as ready for review September 20, 2023 06:50
@williazz williazz changed the title feat: getResourceType() uses initiatorType when file extension DNE feat: getResourceType() uses initiatorType when file extension missing Sep 20, 2023
@qhanam
Copy link
Member

qhanam commented Sep 20, 2023

My recommendation is (1), which this PR implements... If we were implementing this from scratch, I would instead recommend (2) because fileType is NOT a W3C schema found in the PerformanceResourceTiming schema.

I agree -- love this analysis. I think we should consider this for the next major version.

@williazz williazz merged commit 8d1e715 into aws-observability:main Sep 20, 2023
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants