You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds the `http.server` row to the v11 span name section and calls out
that `tracesSampler` and `ignoreSpans` can no longer match on span name
— they run at span start, before a route exists, so name-based rules
stop matching silently. Stacked on #23597.
Fixes#23527
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
|`pageload`| The parameterized route, or the raw URL path if the SDK couldn't resolve one (`/users/123`) | The parameterized route, or `Pageload` if the SDK has none |
796
+
|`http.server`| The request method and route, or the raw URL path if the SDK couldn't resolve one (`GET /users/123`) |`GET /users/:id` when a route is known, otherwise just the request method (`GET`) |
796
797
|`router`| Framework-specific, sometimes containing the raw URL (`/users/123`, `SvelteKit Route Change`) | The span's `http.route`, or `Router` if the SDK has none |
797
798
|`graphql`| The graphql phase and, for operations, the operation name (`query GetUser`, `graphql.parse`, `graphql.resolve user.0.name`) | The operation type, or the processing type where there is none (`GraphQL query`, `GraphQL parse`, `GraphQL resolve`) |
798
799
|`resource.*`| The resource URL, relative to the page origin for same-origin resources (`/assets/app.js`) | The resource domain (`cdn.example.com`), or `Resource` if the SDK has none |
@@ -801,6 +802,8 @@ The following span names were adjusted:
801
802
802
803
Resource spans now also carry a `url.domain` attribute holding that domain. The full URL remains available on `url.full`.
803
804
805
+
`http.server` requests that resolve to a route are **unchanged** — those names were already low cardinality. Only requests the SDK cannot parameterize are affected.
806
+
804
807
Some consequences to be aware of:
805
808
806
809
The graphql operation name and the resolver field path are supplied by the client, so they are no longer part of a span name. They remain available on the `graphql.operation.name` and `graphql.field.path` attributes.
@@ -831,6 +834,29 @@ Sentry.init({
831
834
});
832
835
```
833
836
837
+
The same applies to `tracesSampler`, which also runs at span start. A web framework matches the route
838
+
_after_ that point, so an `http.server` span is named `GET` when your rule is evaluated — never
839
+
`GET /health`. Name-based rules stop matching **silently**: no error, no warning, just unexpected quota
840
+
usage. No route attribute is set at that point either, so match on `url.path`:
0 commit comments