{"source":"semconv","version":"1.44.0","attribute":{"id":"http.route","type":"string","stability":"stable","brief":"The matched route template for the request. This MUST be low-cardinality and include all static path segments, with dynamic path segments represented with placeholders.","note":"MUST NOT be populated when this is not supported by the HTTP server framework as the route attribute should have low-cardinality and the URI path can NOT substitute it.\nSHOULD include the [application root](/docs/http/http-spans.md#http-server-definitions) if there is one.\n\nA static path segment is a part of the route template with a fixed, low-cardinality value. This includes literal strings like `/users/` and placeholders that\nare constrained to a finite, predefined set of values, e.g. `{controller}` or `{action}`.\n\nA dynamic path segment is a placeholder for a value that can have high cardinality and is not constrained to a predefined list like static path segments.\n\nInstrumentations SHOULD use routing information provided by the corresponding web framework. They SHOULD pick the most precise source of routing information and MAY\nsupport custom route formatting. Instrumentations SHOULD document the format and the API used to obtain the route string.","examples":["/users/:userID?","my-controller/my-action/{id?}"],"namespace":"http","definedIn":"model/http/registry.yaml","usedBy":[{"groupId":"attributes.http.server","groupType":"attribute_group","requirementLevel":"conditionally_required"},{"groupId":"metric_attributes.http.server","groupType":"attribute_group","requirementLevel":"conditionally_required"},{"groupId":"metric.aspnetcore.routing.match_attempts","groupType":"metric","signalName":"aspnetcore.routing.match_attempts","requirementLevel":"conditionally_required"},{"groupId":"metric.http.server.request.body.size","groupType":"metric","signalName":"http.server.request.body.size","requirementLevel":"conditionally_required"},{"groupId":"metric.http.server.request.duration","groupType":"metric","signalName":"http.server.request.duration","requirementLevel":"conditionally_required"},{"groupId":"metric.http.server.response.body.size","groupType":"metric","signalName":"http.server.response.body.size","requirementLevel":"conditionally_required"},{"groupId":"span.http.server","groupType":"span","requirementLevel":"conditionally_required"},{"groupId":"span.http.server","groupType":"span","requirementLevel":"recommended"}]},"history":[{"version":"1.30.0","publishedAt":"2025-01-24T19:11:42Z","kind":"first-seen","detail":"Already present at v1.30.0, the oldest release tracked here (stable)."}],"replaces":[]}