fix(tracing): capture request paths for unmatched routes
Build and Push Docker Container / build-and-push (push) Successful in 4m43s
Build and Push Docker Container / build-and-push (push) Successful in 4m43s
- Record url.path before routing so 404s and early responses retain their path. - Keep matched route templates as span names to limit cardinality. - Exclude query strings, full URLs, cookies and authorization headers. - Test decoded paths on 404 responses and path attributes on matched routes. - Document that paths may expose filenames, IDs or share tokens. - Validate NanoShare with 294 passing tests.
This commit is contained in:
@@ -44,8 +44,11 @@ worker/thread boundaries, propagates W3C context, and sends native
|
||||
`convex-request-id: otel-<trace-id>-<span-id>` headers without changing function
|
||||
arguments. Retries get distinct span/request IDs.
|
||||
|
||||
Spans do **not** capture payloads, query strings, raw URLs, cookies, credentials,
|
||||
or exception text. WebSockets and ASGI lifespan messages pass through unchanged.
|
||||
HTTP spans include `url.path` for every request, including unmatched 404s.
|
||||
Paths can contain filenames, IDs or share tokens; treat stored traces accordingly.
|
||||
Span names still use route templates when available to avoid high cardinality.
|
||||
Spans do **not** capture payloads, query strings, full URLs, cookies, authorization
|
||||
headers or exception text. WebSockets and ASGI lifespan messages pass through unchanged.
|
||||
This integration exports **traces only**, not OTel metrics or logs; existing
|
||||
wide-event logging remains independent. The SDK shuts down its exporter off the
|
||||
event loop during application shutdown. Configure the collector/network outside
|
||||
|
||||
Reference in New Issue
Block a user