sbradley7777 / glocktop_analyze Goto Github PK
View Code? Open in Web Editor NEWA python script that analyzes the output created by glocktop
License: GNU General Public License v3.0
A python script that analyzes the output created by glocktop
License: GNU General Public License v3.0
Could i combine the data into 1 file. Take 8 glocktops, then write to 1 file with everything sorted by date to see what is happening on all nodes at around same time.
Could i group filesystem and stats that are within a few seconds of each other? Would need a way to sort all the snapshot times for each filesystem then group them together.
It is useful to ignore some commands like gfs2_quotad
as we know those pids might be in data a lot and will not provide insights into the data and should be ignored.
An option should be added to the pids.py
plugin to be able to ignore certain commands assoicated with a pid and not print information related to: pids -> number of glocks with that pid number with a command that is in the ignore list.
A table showing lowest and highest count of total number of glocks for all filesystems for glocks_stats.py
plugin.
See $ubject.
Create a multi-node plugin that summarizes all the high/low glocks counts for all cluster nodes. This way all the nodes are summarized together.
The call trace output is still not being processed and need to add parser and ability to output call trace from the glocktop parsed data.
The format of the H:
, I:
, etc needs to have spacing under the G:
in file glocktop_analyze/plugins/glocks_activity.py
. I believe BeautifulSoup is removing the
i tried using.
Check other glocktop_analyze/stat
classes to see if warnings needs to be added.
Have a html table style for rotating the color of table rows when the first item starts with -
and not odd/even approach.
Print warning stating that possible cache dropped occurred because of memory pressure as i believe the total number of glocks will drop when this occurs. Should find the difference and see if it like 20% or 30% drop. Include an option so this number can be modified.
Probably should do recreation on this to verify that number of total glocks will drop when cache is flushed. Include link to article explaining cache flushes related to gfs2.
Need to document in any output the requirements that are required like. Here are just two examples and there are many more:
There are more and they should be turned into global var or as class var.
Add glob support for -p option for filenames. Add to the argparse action classes.
Create a function in the html.py
to output the glocktop summary in html format.
Need description of what each plugin does and the name of plugin. In addition a method for listing plugins is needed.
Add glob.glob
functionality to the -p
option so that if directory is given or *
that it will analyze all the glocktop files in that directory.
Would need a function that would determine if glocktop file? Could use search to find match for the snapshot header. If match found then glocktop outputted file.
The python library optparse
is deprecated and need to use argparse
instead.
Add option to enable png support and uncomment code to automatically check if png support can be enabled in the options where i hide and show option if libs found.
# svg does better charts. png support requires the python files:
# lxml, cairosvg, tinycss, cssselect
#enable_png_format=True
#libs_required_for_png_support = ["cssselect", "cairosvg"]
#import pkgutil
#for lib in libs_required_for_png_support:
# try:
# if (pkgutil.find_loader(lib) == None):
# enable_png_format = False
# except (ImportError, NameError):
# message = "Failed to find import packages needed for png support: %s." %(lib)
# logging.getLogger(glocktop_analyze.MAIN_LOGGER_NAME).debug(message)
# enable_png_format = False
# For now keep it disabled.
enable_png_format=False
Need to add html row item truncating like i did for text with this commit: 606e2ba
When the plugins write html the tables need to include description of the table like they do when outputted in console/text.
The usage message needs to contain examples which include examples for changing plugin options.
The hostname is needed for when multinode plugins are ran to know who the warning is for.
This plugin was not suppose to be checked in.
Tables should include hostnames when makes sense for plugins that run on filesystems for a single host.
Add table name to all instances of table for console, text, and html output when tableize()
used. Only need to add to first table and not subsequent tables. Do like i did with snapshots_multinode.py
.
Might require a doc directory with some txt files that contain info.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.