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

scripts: Introduce tablet-mon.py #15512

Closed
wants to merge 1 commit into from
Closed

Conversation

tgrabiec
Copy link
Contributor

It is a simple monitoring app which visualizes tablet metadata and changes of that metadata using animations. It allows one to quickly see and evaluate actions of the tablet load balancer.

It connects to the cluster via CQL and periodically scans relevant system tables.

Usage:

./scripts/tablet-mon.py

@github-actions github-actions bot deleted a comment from aws-amplify-us-east-2 bot Sep 21, 2023
@scylladb-promoter
Copy link
Contributor

cql_update_period = 0.2


class Node(object):
Copy link
Contributor

Choose a reason for hiding this comment

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

in Python 3, objects are so-called new-style object by default, no need to inherit from object anymore.

Copy link
Contributor Author

@tgrabiec tgrabiec Sep 22, 2023

Choose a reason for hiding this comment

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

Yes. I changed the shebang to python3 and dropped the inheritance.

@raphaelsc
Copy link
Member

@tgrabiec Do you think it's a good idea to introduce a concept of record and play to the script? So this becomes a tool aid to debug production issues in the load balancer.

@scylladb-promoter
Copy link
Contributor

@tchaikov
Copy link
Contributor

@tgrabiec Do you think it's a good idea to introduce a concept of record and play to the script? So this becomes a tool aid to debug production issues in the load balancer.

that'd be fun at least =) so we just need to dump a time series of the query results of topo_query and tablets_query. what is missing is probably

  1. dump these outputs to two tracing files
  2. instead of reading from cluster, replay by reading from these files (one can even fast forward/backward =)

@tgrabiec
Copy link
Contributor Author

ping @avikivity

@mykaul mykaul added this to the 6.0 milestone Nov 23, 2023
@@ -0,0 +1,615 @@
#!/bin/env python3
#
Copy link
Member

Choose a reason for hiding this comment

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

Please add copyright/license, plus some blurb that it's not a supported tool.

Copy link
Contributor

@nyh nyh left a comment

Choose a reason for hiding this comment

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

Very nice!
Makes me sad I don't know anything about pygame - I want to learn it too.

@tgrabiec
Copy link
Contributor Author

In V3:

  • Added license
  • And short blurb about purpose and no warranty

@scylladb-promoter
Copy link
Contributor

🟢 CI State: SUCCESS

✅ - Build
✅ - Sanity Tests
✅ - Unit Tests

Build Details:

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

Successfully merging this pull request may close these issues.

7 participants