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: Migrate RUM network call from GET to POST #521

Merged
merged 25 commits into from
Jun 2, 2023
Merged

Conversation

patrickhousley
Copy link
Contributor

@patrickhousley patrickhousley commented May 8, 2023

When making its initial network call (the RUM call), the agent will now use the POST method instead of the GET method and will not depend on JSON-P to trigger follow-on events. This change facilitates setting custom attributes in the request body, reducing the likelihood of long GET URLs.

Overview

Migrating the rum api from a JSON-P GET call to a POST call.

Related Issue(s)

https://issues.newrelic.com/browse/NEWRELIC-7999

Testing

Integration tests should be ran and should pass.

DO NOT MERGE until the DEMPLA team completes the downstream requirements.

@patrickhousley patrickhousley added medium Medium Engineering Effort MMF Work directly planned for in an MMF labels May 8, 2023
@patrickhousley patrickhousley marked this pull request as draft May 8, 2023 20:00
@github-actions
Copy link

github-actions bot commented May 9, 2023

Asset Size Report

Merging this pull request will result in the following CDN asset size changes:

Asset Name Previous Size New Size Diff
nr-loader-spa.min 51.27 kB / 17.52 kB (gzip) 51.34 kB / 17.55 kB (gzip) +0.13% / +0.17% (gzip)
nr-loader-full.min 45.35 kB / 15.73 kB (gzip) 45.42 kB / 15.75 kB (gzip) +0.15% / +0.13% (gzip)
nr-loader-rum.min 26.56 kB / 9.81 kB (gzip) 26.63 kB / 9.83 kB (gzip) +0.25% / +0.17% (gzip)
nr-loader-spa-polyfills.min 124.19 kB / 39.8 kB (gzip) 124.3 kB / 39.81 kB (gzip) +0.09% / +0.04% (gzip)
nr-loader-full-polyfills.min 116.69 kB / 37.86 kB (gzip) 116.8 kB / 37.89 kB (gzip) +0.1% / +0.08% (gzip)
nr-loader-rum-polyfills.min 94.97 kB / 31.47 kB (gzip) 95.09 kB / 31.5 kB (gzip) +0.12% / +0.09% (gzip)
nr-loader-worker.min 41.42 kB / 14.38 kB (gzip) 41.49 kB / 14.4 kB (gzip) +0.16% / +0.15% (gzip)

Merging this pull request will result in the following NPM package consumer size changes:

Asset Name Previous Size New Size Diff
Browser Agent 51.35 kB / 17.39 kB (gzip) 51.42 kB / 17.43 kB (gzip) +0.14% / +0.21% (gzip)
Custom Lite Agent 26.66 kB / 9.72 kB (gzip) 26.73 kB / 9.74 kB (gzip) +0.27% / +0.16% (gzip)
Custom Pro Agent 45.35 kB / 15.55 kB (gzip) 45.42 kB / 15.58 kB (gzip) +0.16% / +0.19% (gzip)
Custom SPA Agent 51.23 kB / 17.37 kB (gzip) 51.3 kB / 17.41 kB (gzip) +0.14% / +0.21% (gzip)
Worker Agent 301.83 kB / 93.56 kB (gzip) 301.72 kB / 93.61 kB (gzip) -0.04% / +0.05% (gzip)
Other Standard CDN Assets

Released Assets

Asset Name Asset Size
recorder.1b18459f.min.js 166.07 kB / 52.32 kB (gzip)
spa-aggregate.fb5660cf.min.js 18.61 kB / 6.62 kB (gzip)
286.2ecb5095.min.js 13.96 kB / 5.19 kB (gzip)
page_view_timing-aggregate.9d37c8db.min.js 12.7 kB / 4.64 kB (gzip)
page_view_event-aggregate.7af5e26f.min.js 11.25 kB / 4.2 kB (gzip)
862.fb0fca0b.min.js 10.85 kB / 4.27 kB (gzip)
session_trace-aggregate.41b2252d.min.js 8.11 kB / 3.07 kB (gzip)
compressor.ae9f91a8.min.js 7.09 kB / 3.57 kB (gzip)
jserrors-aggregate.55dd581c.min.js 7.07 kB / 2.75 kB (gzip)
metrics-aggregate.987ded7c.min.js 6.22 kB / 2.06 kB (gzip)
ajax-aggregate.ec33add1.min.js 4.81 kB / 2.22 kB (gzip)
session_replay-aggregate.9775da79.min.js 4.24 kB / 1.66 kB (gzip)
async-api.6120e087.min.js 2.97 kB / 1.47 kB (gzip)
page_action-aggregate.07891e4e.min.js 2.42 kB / 1.05 kB (gzip)
session-manager.ae6a0f63.min.js 2.23 kB / 1.03 kB (gzip)
lazy-feature-loader.62eb6d42.min.js 1.11 kB / 495 B (gzip)

Built Assets

Asset Name Asset Size
recorder.1b18459f.min.js 166.07 kB / 52.32 kB (gzip)
spa-aggregate.3fee93f0.min.js 21.64 kB / 7.65 kB (gzip)
page_view_timing-aggregate.ca8d8f6a.min.js 15.72 kB / 5.68 kB (gzip)
286.e2ed0378.min.js 14.55 kB / 5.36 kB (gzip)
session_trace-aggregate.89cbd326.min.js 11.14 kB / 4.14 kB (gzip)
page_view_event-aggregate.8252c2f1.min.js 11.09 kB / 4.18 kB (gzip)
jserrors-aggregate.52c94595.min.js 10.09 kB / 3.82 kB (gzip)
metrics-aggregate.75d6a08d.min.js 9.27 kB / 3.18 kB (gzip)
ajax-aggregate.f9270e8e.min.js 7.83 kB / 3.3 kB (gzip)
646.f9d41c3d.min.js 7.76 kB / 3.29 kB (gzip)
compressor.ae9f91a8.min.js 7.09 kB / 3.57 kB (gzip)
session_replay-aggregate.c84db036.min.js 6.67 kB / 2.54 kB (gzip)
page_action-aggregate.5571cb65.min.js 5.44 kB / 2.16 kB (gzip)
async-api.67eb9098.min.js 2.97 kB / 1.47 kB (gzip)
session-manager.9219a813.min.js 1.64 kB / 805 B (gzip)
lazy-feature-loader.67e7e5b9.min.js 1.11 kB / 495 B (gzip)
Other Polyfill CDN Assets

Released Assets

Asset Name Asset Size
recorder.1b18459f-es5.min.js 166.76 kB / 52.35 kB (gzip)
nr-polyfills.min.js 52.15 kB / 17.95 kB (gzip)
compressor.79fb47d9-es5.min.js 30.02 kB / 11.29 kB (gzip)
spa-aggregate.c26bbe7d-es5.min.js 19.54 kB / 6.79 kB (gzip)
286.e6f5b859-es5.min.js 17.33 kB / 6.08 kB (gzip)
862.30542061-es5.min.js 14.49 kB / 5.18 kB (gzip)
page_view_timing-aggregate.ebbd98fa-es5.min.js 13.43 kB / 4.8 kB (gzip)
session_replay-aggregate.e54917b0-es5.min.js 13.1 kB / 4.91 kB (gzip)
page_view_event-aggregate.44ba20a0-es5.min.js 11.67 kB / 4.3 kB (gzip)
session_trace-aggregate.1298018a-es5.min.js 10.71 kB / 3.95 kB (gzip)
jserrors-aggregate.da0c99aa-es5.min.js 7.66 kB / 2.95 kB (gzip)
metrics-aggregate.2e2c1eb9-es5.min.js 5.4 kB / 1.92 kB (gzip)
ajax-aggregate.14679ace-es5.min.js 5.3 kB / 2.35 kB (gzip)
async-api.54093b2f-es5.min.js 4.11 kB / 1.99 kB (gzip)
page_action-aggregate.64e77fec-es5.min.js 2.83 kB / 1.22 kB (gzip)
session-manager.4e95d020-es5.min.js 2.4 kB / 1.06 kB (gzip)
lazy-feature-loader.f49bedcd-es5.min.js 1.14 kB / 507 B (gzip)

Built Assets

Asset Name Asset Size
recorder.1b18459f-es5.min.js 166.76 kB / 52.35 kB (gzip)
nr-polyfills.min.js 52.15 kB / 17.95 kB (gzip)
compressor.79fb47d9-es5.min.js 30.02 kB / 11.29 kB (gzip)
page_view_timing-aggregate.623e321a-es5.min.js 18.59 kB / 6.35 kB (gzip)
286.a112f1bc-es5.min.js 17.91 kB / 6.23 kB (gzip)
spa-aggregate.5f95b7da-es5.min.js 17.79 kB / 6.15 kB (gzip)
session_replay-aggregate.4d7dea50-es5.min.js 17.68 kB / 6.02 kB (gzip)
session_trace-aggregate.8fe1c4e1-es5.min.js 15.87 kB / 5.21 kB (gzip)
jserrors-aggregate.859b068d-es5.min.js 12.81 kB / 4.52 kB (gzip)
page_view_event-aggregate.fdf581e5-es5.min.js 12.6 kB / 4.78 kB (gzip)
metrics-aggregate.41dcc4f1-es5.min.js 10.57 kB / 3.55 kB (gzip)
646.2ebe4380-es5.min.js 9.28 kB / 3.64 kB (gzip)
page_action-aggregate.2f420c8d-es5.min.js 7.99 kB / 2.85 kB (gzip)
945.0bdb32d8-es5.min.js 7.07 kB / 2.69 kB (gzip)
async-api.b2eafd76-es5.min.js 4.11 kB / 1.99 kB (gzip)
ajax-aggregate.8fc08577-es5.min.js 3.55 kB / 1.7 kB (gzip)
session-manager.1230c4bc-es5.min.js 1.83 kB / 831 B (gzip)
lazy-feature-loader.04926888-es5.min.js 1.16 kB / 511 B (gzip)

@codecov-commenter
Copy link

codecov-commenter commented May 9, 2023

Codecov Report

Merging #521 (31afde8) into main (326d106) will increase coverage by 1.40%.
The diff coverage is 17.85%.

❗ Current head 31afde8 differs from pull request most recent head 1192fed. Consider uploading reports for the commit 1192fed to get more accurate results

@@            Coverage Diff             @@
##             main     #521      +/-   ##
==========================================
+ Coverage   24.48%   25.88%   +1.40%     
==========================================
  Files         125      127       +2     
  Lines        4251     4299      +48     
  Branches     1087     1100      +13     
==========================================
+ Hits         1041     1113      +72     
+ Misses       2544     2538       -6     
+ Partials      666      648      -18     
Impacted Files Coverage Δ
src/features/metrics/aggregate/endpoint-map.js 0.00% <0.00%> (ø)
src/features/metrics/aggregate/index.js 0.00% <ø> (ø)
src/features/page_view_event/aggregate/index.js 0.00% <0.00%> (ø)
src/loaders/configure/configure.js 0.00% <ø> (ø)
src/common/harvest/harvest.js 79.20% <100.00%> (+55.39%) ⬆️
src/common/url/encode.js 97.22% <100.00%> (+8.33%) ⬆️

... and 9 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@bjfield bjfield changed the title feat: migrating rum to post network call feat: Migrate RUM network call from GET to POST May 10, 2023
@patrickhousley patrickhousley marked this pull request as ready for review May 30, 2023 18:15
Co-authored-by: Jordan Porter <insomniacrampage@hotmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
medium Medium Engineering Effort MMF Work directly planned for in an MMF
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants