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

test(e2e): Add event proxy option to allow for event dumps #13998

Merged
merged 5 commits into from
Oct 21, 2024

Conversation

lforst
Copy link
Member

@lforst lforst commented Oct 16, 2024

  • Adds an option to the e2e test proxy to dump all events into a file
  • Adds a utility script that transforms an event dump into a deterministic human-readable output

@lforst lforst marked this pull request as ready for review October 18, 2024 11:24
@lforst lforst requested a review from chargome October 18, 2024 11:24
Copy link
Member

@chargome chargome left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you add an example how this output looks like?

@lforst
Copy link
Member Author

lforst commented Oct 18, 2024

The output looks like this

(node) http.server - GET /nested-rsc-error/[param]
  default - NextNodeServer.clientComponentLoading
  default - prerender route (app) /nested-rsc-error/[param]
    default - build component tree
      default - resolve segment modules
      default - resolve segment modules
  default - render route (app) /nested-rsc-error/[param]
    default - build component tree
      default - resolve segment modules
      default - resolve segment modules
    function.nextjs - Page Server Component (/nested-rsc-error/[param])
    function.nextjs - Unknown Server Component (/)
  default - resolve page components
  default - start response

-----------------------

(node) http.server - GET /pageload-tracing
  default - render route (app) /pageload-tracing
    default - NextNodeServer.clientComponentLoading
    default - build component tree
      default - resolve segment modules
      default - resolve segment modules
      default - resolve segment modules
    default - generateMetadata /pageload-tracing/page
      function.nextjs - Page.generateMetadata (/pageload-tracing)
        http.client - GET http://example.com/
    default - start response
    function.nextjs - Layout Server Component (/pageload-tracing)
    function.nextjs - Page Server Component (/pageload-tracing)
    function.nextjs - Unknown Server Component (/)
  default - resolve page components

-----------------------

(node) http.server - GET /ppr-error/[param]
  default - prerender route (app) /ppr-error/[param]
    default - build component tree
      default - resolve segment modules
      default - resolve segment modules
    function.nextjs - Page Server Component (/ppr-error/[param])
    function.nextjs - Unknown Server Component (/)
  default - render route (app) /ppr-error/[param]
    default - build component tree
      default - resolve segment modules
      default - resolve segment modules
    function.nextjs - Page Server Component (/ppr-error/[param])
    function.nextjs - Unknown Server Component (/)
  default - resolve page components
  default - start response

-----------------------

(node) http.server - GET /streaming-rsc-error/[param]
  default - prerender route (app) /streaming-rsc-error/[param]
    default - build component tree
      default - resolve segment modules
      default - resolve segment modules
  default - render route (app) /streaming-rsc-error/[param]
    default - build component tree
      default - resolve segment modules
      default - resolve segment modules
    function.nextjs - Page Server Component (/streaming-rsc-error/[param])
    function.nextjs - Unknown Server Component (/)
  default - resolve page components
  default - start response

-----------------------

(node) http.server - GET /suspense-error
  default - render route (app) /suspense-error
    default - build component tree
      default - resolve segment modules
      default - resolve segment modules
    function.nextjs - Page Server Component (/suspense-error)
      http.client - GET http://example.com/
    function.nextjs - Unknown Server Component (/)
  default - resolve page components
  default - start response

-----------------------

pageload - /pageload-tracing
  browser.DNS - http://localhost:3030/pageload-tracing
  browser.cache - http://localhost:3030/pageload-tracing
  browser.connect - http://localhost:3030/pageload-tracing
  browser.domContentLoadedEvent - http://localhost:3030/pageload-tracing
  browser.loadEvent - http://localhost:3030/pageload-tracing
  browser.request - http://localhost:3030/pageload-tracing
  browser.response - http://localhost:3030/pageload-tracing
  mark - sentry-tracing-init
  paint - first-contentful-paint
  paint - first-paint
  resource.link - /_next/static/chunks/webpack-26110a24dd3b8f84.js
  resource.script - /_next/static/chunks/349-a235da4b316e43d1.js
  resource.script - /_next/static/chunks/d2e3ae4a-37c6293e7fc16d85.js
  resource.script - /_next/static/chunks/main-app-db94791908e33b29.js

-----------------------

pageload - /suspense-error
  browser.DNS - http://localhost:3030/suspense-error
  browser.cache - http://localhost:3030/suspense-error
  browser.connect - http://localhost:3030/suspense-error
  browser.domContentLoadedEvent - http://localhost:3030/suspense-error
  browser.loadEvent - http://localhost:3030/suspense-error
  browser.request - http://localhost:3030/suspense-error
  browser.response - http://localhost:3030/suspense-error
  mark - sentry-tracing-init
  paint - first-contentful-paint
  paint - first-paint
  resource.link - /_next/static/chunks/webpack-26110a24dd3b8f84.js
  resource.script - /_next/static/chunks/349-a235da4b316e43d1.js
  resource.script - /_next/static/chunks/d2e3ae4a-37c6293e7fc16d85.js
  resource.script - /_next/static/chunks/main-app-db94791908e33b29.js

lmk if you would change anything!

@chargome
Copy link
Member

That's actually really cool 👍

@lforst lforst merged commit 2648ef6 into develop Oct 21, 2024
151 of 152 checks passed
@lforst lforst deleted the lforst-e2e-test-event-dump branch October 21, 2024 08:23
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