Skip to content

Conversation

@ButterBright
Copy link
Member

@ButterBright ButterBright added the enhancement New feature or request label Jan 17, 2026
@ButterBright ButterBright added this to the 0.10.0 milestone Jan 17, 2026
Copy link
Contributor

Copilot AI left a 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 pull request implements group inspection functionality to display detailed information about groups including schema info, data statistics, and liaison node status. The implementation supports both standalone and distributed modes.

Changes:

  • Added comprehensive integration tests for inspect functionality in standalone and distributed modes
  • Implemented data collection infrastructure across trace, stream, and measure services
  • Added new gRPC Inspect endpoint to the group registry service
  • Fixed a critical bug in stream write liaison where shard ID matching was missing

Reviewed changes

Copilot reviewed 37 out of 37 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test/integration/standalone/inspect/inspect_suite_test.go New integration tests for inspect in standalone mode
test/integration/distributed/inspect/inspect_suite_test.go New integration tests for inspect in distributed mode
pkg/index/inverted/inverted.go Added Stats() method to return index statistics
pkg/index/index.go Added Stats() to Store interface
banyand/internal/storage/storage.go Added Stats() to IndexDB interface
banyand/internal/storage/index.go Implemented Stats() for seriesIndex
banyand/metadata/schema/schema.go Added data and liaison info collector interfaces
banyand/metadata/schema/etcd.go Implemented data/liaison info collection with broadcasting
banyand/metadata/metadata.go Extended Service interface with collector methods
banyand/metadata/client.go Implemented collector registration and broadcaster setup
api/data/*.go Added new topics for data and liaison info collection
banyand/trace/*.go Implemented trace service data/liaison collection
banyand/stream/*.go Implemented stream service data/liaison collection
banyand/measure/*.go Implemented measure service data/liaison collection
banyand/liaison/grpc/registry.go Implemented Inspect gRPC endpoint
banyand/internal/wqueue/wqueue.go Added Shards() method for queue inspection
banyand/stream/write_liaison.go Fixed critical bug: added shardID matching
banyand/**/tstable.go Added pendingDataCount tracking
banyand/**/introducer.go Decremented pendingDataCount on introduction
banyand/trace/merger.go Added tf.reset() after merge to prevent memory leak
pkg/cmdsetup/liaison.go Registered broadcasters for liaison setup

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

return db.(storage.TSDB[*tsTable, option]), nil
}

// CollectDataInfo collects data info for a specific.
Copy link

Copilot AI Jan 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment is incomplete. It should say "collects data info for a specific group" instead of "collects data info for a specific."

Suggested change
// CollectDataInfo collects data info for a specific.
// CollectDataInfo collects data info for a specific group.

Copilot uses AI. Check for mistakes.
@codecov-commenter
Copy link

codecov-commenter commented Jan 17, 2026

Codecov Report

❌ Patch coverage is 5.47210% with 881 lines in your changes missing coverage. Please review.
✅ Project coverage is 46.54%. Comparing base (3530dd9) to head (5f1262e).
⚠️ Report is 123 commits behind head on main.

Files with missing lines Patch % Lines
banyand/trace/metadata.go 1.77% 165 Missing and 1 partial ⚠️
banyand/stream/metadata.go 1.92% 152 Missing and 1 partial ⚠️
banyand/measure/metadata.go 0.75% 131 Missing ⚠️
banyand/metadata/schema/collector.go 0.00% 124 Missing ⚠️
banyand/liaison/grpc/registry.go 0.00% 85 Missing ⚠️
banyand/trace/svc_liaison.go 0.00% 36 Missing ⚠️
banyand/stream/svc_liaison.go 0.00% 32 Missing ⚠️
banyand/measure/svc_liaison.go 0.00% 27 Missing ⚠️
banyand/measure/svc_data.go 0.00% 19 Missing ⚠️
banyand/stream/svc_standalone.go 20.83% 18 Missing and 1 partial ⚠️
... and 13 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #947      +/-   ##
==========================================
+ Coverage   45.97%   46.54%   +0.56%     
==========================================
  Files         328      385      +57     
  Lines       55505    60549    +5044     
==========================================
+ Hits        25520    28183    +2663     
- Misses      27909    29729    +1820     
- Partials     2076     2637     +561     
Flag Coverage Δ
banyand 48.73% <5.53%> (?)
bydbctl 81.91% <ø> (?)
fodc 78.73% <ø> (?)
integration-distributed 80.00% <ø> (?)
pkg 29.30% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.


var _ Registry = (*etcdSchemaRegistry)(nil)

type etcdSchemaRegistry struct {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

etcd will become optional soon. Please do not add any new functionality to it. Instead, create a new struct to implement these features.

if tsdb == nil {
return 0, fmt.Errorf("TSDB is nil for group %s", groupName)
}
segments, segmentsErr := tsdb.SelectSegments(timestamp.TimeRange{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Invoke segment.DecRef() to release them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants