-
Notifications
You must be signed in to change notification settings - Fork 99
New storage engine for trace #713
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I will continue to add unit tests in this PR and implement the traceID-based query in the next one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new storage engine for trace data in SkyWalking BanyanDB, implementing comprehensive trace storage capabilities with both standalone and distributed modes. The implementation includes file-based and queue-based storage backends with support for indexing, filtering, compression, and synchronization.
- Adds core trace storage implementation with indexing and filtering
- Implements both standalone and distributed storage architectures
- Introduces comprehensive query capabilities with tag filtering and bloom filters
Reviewed Changes
Copilot reviewed 63 out of 65 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
pkg/query/model/model.go | Adds TraceQueryOptions and TraceResult models for trace queries |
pkg/query/logical/trace/index_filter.go | Implements filter nodes for trace index operations |
docs/api-reference.md | Documents new InternalWriteRequest API |
banyand/trace/write_standalone.go | Implements standalone trace write operations |
banyand/trace/write_liaison.go | Implements distributed write liaison |
banyand/trace/write_data.go | Handles chunked data synchronization |
banyand/trace/wqueue_test.go | Tests for write queue functionality |
banyand/trace/wqueue.go | Write queue implementation |
banyand/trace/tstable_test.go | Tests for time series table operations |
banyand/trace/tstable.go | Core time series table implementation |
banyand/trace/tracing.go | Tracing utilities and metadata formatting |
banyand/trace/traces.go | Trace data structures and operations |
banyand/trace/trace.go | Main trace storage engine configuration |
banyand/trace/tag_test.go | Tests for tag encoding/decoding |
banyand/trace/tag_metadata_test.go | Tests for tag metadata operations |
banyand/trace/tag_metadata.go | Tag metadata management |
banyand/trace/tag_filter_test.go | Tests for tag filtering with bloom filters |
banyand/trace/tag_filter.go | Bloom filter implementation for tag filtering |
banyand/trace/tag.go | Tag value encoding and compression |
banyand/trace/syncer.go | Data synchronization between nodes |
banyand/trace/snapshot_test.go | Tests for snapshot operations |
banyand/trace/snapshot.go | Snapshot management and file operations |
banyand/trace/query.go | Query operations and tag value conversion |
banyand/trace/primary_metadata.go | Primary block metadata handling |
banyand/trace/part_test.go | Tests for part operations and serialization |
banyand/trace/part_metadata.go | Part metadata and validation |
banyand/trace/part_iter.go | Iterator implementation for part traversal |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #713 +/- ##
===========================================
+ Coverage 35.97% 49.31% +13.34%
===========================================
Files 229 261 +32
Lines 34998 41076 +6078
===========================================
+ Hits 12589 20256 +7667
+ Misses 21353 19101 -2252
- Partials 1056 1719 +663 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
@ButterBright Please fix CI. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are design issues with the block.
CHANGES
log.