Skip to content

Commit

Permalink
fix(tracing): rework capturing and use it for all requests (#5049)
Browse files Browse the repository at this point in the history
* 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
aqrln authored Dec 16, 2024
1 parent 995e205 commit d0b7335
Show file tree
Hide file tree
Showing 87 changed files with 3,002 additions and 2,086 deletions.
1 change: 0 additions & 1 deletion Brewfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
brew "docker"
brew "protobuf"
brew "direnv"
brew "rustup-init"
Loading

0 comments on commit d0b7335

Please sign in to comment.