Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(tracing): rework capturing and use it for all requests (#5049)
* libs/telemetry: use tracing-futures from workspace deps * libs/telemetry: remove obsolete dependency * Update tracing and tracing-subscriber * Add capturing::ng module * We don't use tide anymore * Add TraceParent and WithContext * Add SpanBuilder * Implement SpanBuilder and SpanAttributeVisitor * Add Collector trait * Add tests for layer * Fix import * Sort attributes map * Style change * Fix redacting span IDs in `Option`s * Remove unnecessary qualifier * Update snapshot to what's expected * Declare empty field in test * Add test for renamed span * Add test_follows_from * Remove sleep * Add on_event * Implement events capturing in subscriber layer * Add span IDs to events * Add some comments * Add ExporterInner * Introduce SerializableNonZeroU64 * Make SerializableNonZeroU64 deserializable * Add `RequestId` * Support RequestId in layer * Add `#[repr(transparent)]` * Make request IDs non-zero to make use of NPO and reduce struct size * Move Exporter to its own module * Hide RequestId::from_u64 * Hide RequestId::from_u64 even more * First pass at exporter * Add CaptureSettings * Fix compile error * Use background task in exporter * Re-implement Exporter using channel * Get rid of Arc<Inner>, channel is already refcounted * Add exporter tests * Implement filtering by capture settings * Get query engine to build * wip node-api support * wip * use or combinator * pass request id in library engine * some cleanup * use str for request id * update c-abi engine * remove unnecessary async block * use ManuallyDrop * only capture when traceparent is sampled * simplify user facing spans filter * add missing request_id field in library engine * panic on send failures * Implement attribute filtering * clarify * add missing otel.name * add request_id in c-abi engine * add empty request_id field in binary engine * always expose traces in response in binary engine * fix formatting issue * cosmetic changes * Remove otel deps and add tracing to wasm * add rt feature lost when removing otel deps * remove obsolete feature * use ahash\ * post-rebase fixes * fix attrs order in test * oops * remove unused feature * remove unused import * use info level by default * oops again * implement fetching boot spans * use a more descriptive name * better semantic conventions compat * oops 3 * capture target and not name in events * fix snapshot * fix log level casing * fix logging on mongodb * hide some spans * add request ids to wasm test executor * add missing file * wasm time * remove stray extension * rename prisma-specific attribute * disambiguate * fix error * rebuild * don't pass `-fuse-ld=lld` when compiling for wasm * make rand dependency conditional on target * [skip ci]
- Loading branch information