diff --git a/src/content/reference/dev-tools/react-performance-tracks.md b/src/content/reference/dev-tools/react-performance-tracks.md index dc2912da21f..42b0c8ebdb6 100644 --- a/src/content/reference/dev-tools/react-performance-tracks.md +++ b/src/content/reference/dev-tools/react-performance-tracks.md @@ -138,7 +138,7 @@ In development builds, when you click on a component render entry, you can inspe #### Server Requests {/*server-requests*/} -The Server Requests track visualized all Promises that eventually end up in a React Server Component. This includes any `async` operations like calling `fetch` or async Node.js file operations. +The Server Requests track visualized all Promises that eventually end up in a React Server Component. This includes any `async` operations like calling `fetch` or async Node.js file operations. React will try to combine Promises that are started from inside third-party code into a single span representing the the duration of the entire operation blocking 1st party code. For example, a third party library method called `getUser` that calls `fetch` internally multiple times will be represented as a single span called `getUser`, instead of showing multiple `fetch` spans. @@ -157,3 +157,15 @@ Different colors are used to indicate the duration of the component render. The The Server Components track group will always contain a "Primary" track. If React is able to render Server Components concurrently, it will display addititional "Parallel" tracks. If more than 8 Server Components are rendered concurrently, React will associate them with the last "Parallel" track instead of adding more tracks. + +##### Reading Server Component timing metadata {/*server-components-metadata*/} + +Server Component events include structured metadata in `entry.detail.react`. Server Requests and client-side tracks do not include these fields. + +| Field | Description | +| --- | --- | +| `version` | The metadata format version. Currently `1`. | +| `requestId` | The string passed as `unstable_requestId` when a framework creates the response, or `undefined` if omitted. | +| `kind` | `'component'` for a Server Component render or `'await'` for a Promise it awaited. | +| `outcome` | `'completed'`, `'errored'`, or `'aborted'`. | +| `environment` | The environment name associated with the render or await, falling back to the response's environment name. |