Skip to content
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

Segments distribution view #560

Open
shanghaikid opened this issue Jul 2, 2024 Discussed in #530 · 0 comments
Open

Segments distribution view #560

shanghaikid opened this issue Jul 2, 2024 Discussed in #530 · 0 comments

Comments

@shanghaikid
Copy link
Collaborator

Discussed in #530

Originally posted by Archalbc June 7, 2024
Hi !

What about adding a treemap showing the segments distribution among nodes ? The goal is to get a better view of the current situation and help understand why some querynodes are overloaded. Having the possibility directly move segment is a bonus.

Currently I'm able to do that using a Python script calling pymilvus utility.get_query_segment_info() and collection.get_replicas(), and generate a treemap view with plotly.express. I modified some javascript stuff inside to allow copy/paste the segment ID by right-click and call next manually call a move-segment.py script.

Treemap are interactive and use this logic :

  • Treemap by Node: 'All', 'Node', 'Collection', 'Segment_Type', 'Segment_ID',
  • Treemap by Collection: 'All', 'Collection', 'Group_ID', 'Node', 'Segment_ID'

The treemap by Collection add the "Replica_group" granularity to avoid error while trying to move segment on another node with a different replicas group.

"embedding_coll_x" are my anonymized collections ;)

by Collection
image
image

by Node
image
image

This is more or less something like the Elasticsearch Cerebro UI
image

You can have something similar with grafana, but it's not very usable.
image

Next I would like to add the memory usage per node and their total number of sealed segments to help me choose the right node to move the segment without switching with grafana.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant