getsentry / getsentry/sentry-javascript

Add file path attribute to page-related spans

Aperta
#17,134 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Feature
Lingua principale
TypeScript
Stelle
8.7k
Fork
1.8k
Merge medio
1g 17h
PR unite (30g)
515

Descrizione

### Problem Statement

Our `pageload`, `navigation` but also ` http.server` spans often can be be mentally associated to specific files. For example:

- A pageload of a NextJS (/insert file-based routing framework of your choice) route, has a clear file where the page code is living
- A server-side SSR request for a specific page in an NextJS app can be associated with the same files.

Today, we don't track this information with our spans. In many cases, the span name will be very similar to the file path, but any connection we make here will always be implicit and prone to errors (e.g. `/users/[id]` corresponding to a route like `src/users/[id]/page.jsx`

### Solution Brainstorm

For framework SDKs where we already collect build-time information about the available routes (e.g. #16686 or more broadly, our recent [parametrization efforts](https://linear.app/getsentry/project/parametrized-routes-everywhere-443af0345211)), this should be possible.

Things get more complicated for frameworks or projects that don't rely on file-based routing. For these, adding a file name attribute is likely out of scope.

We'll probably make use of the [`code.file.path` attribute](https://opentelemetry.io/docs/specs/semconv/registry/attributes/code/#code-file-path) semantic attribute.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.