jaime 4746f47282
feat: management WebUI homepage (#36822)
issue: #36784
1. Implement an embedded web server for WebUI access.  
2. Complete the homepage development.

Home page demo:
<img width="2177" alt="iShot_2024-10-10_17 57 34"
src="https://github.com/user-attachments/assets/38539917-ce09-4e54-a5b5-7f4f7eaac353">

Signed-off-by: jaime <yun.zhang@zilliz.com>
2024-10-23 11:29:28 +08:00

47 lines
1.3 KiB
Go

package metrics
import (
"github.com/samber/lo"
"github.com/milvus-io/milvus/internal/proto/datapb"
"github.com/milvus-io/milvus/internal/proto/querypb"
)
func PruneFieldIndexInfo(f *querypb.FieldIndexInfo) *querypb.FieldIndexInfo {
return &querypb.FieldIndexInfo{
FieldID: f.FieldID,
IndexID: f.IndexID,
BuildID: f.BuildID,
IndexSize: f.IndexSize,
NumRows: f.NumRows,
}
}
func PruneSegmentInfo(s *datapb.SegmentInfo) *datapb.SegmentInfo {
return &datapb.SegmentInfo{
ID: s.ID,
NumOfRows: s.NumOfRows,
State: s.State,
Compacted: s.Compacted,
Level: s.Level,
}
}
func PruneVChannelInfo(channel *datapb.VchannelInfo) *datapb.VchannelInfo {
return &datapb.VchannelInfo{
ChannelName: channel.ChannelName,
UnflushedSegments: lo.Map(channel.UnflushedSegments, func(s *datapb.SegmentInfo, i int) *datapb.SegmentInfo {
return PruneSegmentInfo(s)
}),
FlushedSegments: lo.Map(channel.FlushedSegments, func(s *datapb.SegmentInfo, i int) *datapb.SegmentInfo {
return PruneSegmentInfo(s)
}),
DroppedSegments: lo.Map(channel.DroppedSegments, func(s *datapb.SegmentInfo, i int) *datapb.SegmentInfo {
return PruneSegmentInfo(s)
}),
IndexedSegments: lo.Map(channel.IndexedSegments, func(s *datapb.SegmentInfo, i int) *datapb.SegmentInfo {
return PruneSegmentInfo(s)
}),
}
}