sentry-javascript icon indicating copy to clipboard operation
sentry-javascript copied to clipboard

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

Open lforst opened this issue 1 year ago • 2 comments

  • 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 avatar Oct 16 '24 13:10 lforst

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!

lforst avatar Oct 18 '24 13:10 lforst

That's actually really cool 👍

chargome avatar Oct 18 '24 13:10 chargome