Implement in-memory Service Dependency Graph using Apache Beam #5911
Labels
area/otel
area/storage
changelog:new-feature
Change that should be called out as new feature in CHANGELOG
help wanted
Features that maintainers are willing to accept but do not have cycles to implement
storage/badger
Issues related to badger storage
For background, see #5910
Jaeger
all-in-one
typically runs within-memory
orbadger
storage that both have a special implementation of Dependencies Storage API where instead of pre-computing and storing the dependencies they just brute-force re-calculate them on demand each time:jaeger/plugin/storage/badger/dependencystore/storage.go
Line 27 in 9a30dfc
jaeger/plugin/storage/memory/memory.go
Line 85 in 9a30dfc
It's ok for small demos, but:
Following on the proposal from RFC #5910, we could re-implement this logic as an in-process streaming component using Apache Beam with
direct
executor. This will allow us to consolidate the graph building logic acrossmemory
andbadger
storages (in fact extract it from them into an independent component), and in the future we can find a way to adapt it to run in a distributed manner on big data runners without actually changing the business logic.Some implementation details:
processor
in the OTEL pipeline (similar to adaptive sampling processor)jaeger_storage
extension)Steps:
The text was updated successfully, but these errors were encountered: