summaryrefslogtreecommitdiffstats
path: root/support/scripts/size-stats
diff options
context:
space:
mode:
Diffstat (limited to 'support/scripts/size-stats')
-rwxr-xr-xsupport/scripts/size-stats8
1 files changed, 7 insertions, 1 deletions
diff --git a/support/scripts/size-stats b/support/scripts/size-stats
index 85e7c1596b..deea92e278 100755
--- a/support/scripts/size-stats
+++ b/support/scripts/size-stats
@@ -35,6 +35,7 @@ except ImportError:
colors = ['#e60004', '#009836', '#2e1d86', '#ffed00',
'#0068b5', '#f28e00', '#940084', '#97c000']
+
#
# This function adds a new file to 'filesdict', after checking its
# size. The 'filesdict' contain the relative path of the file as the
@@ -54,6 +55,7 @@ def add_file(filesdict, relpath, abspath, pkg):
sz = os.stat(abspath).st_size
filesdict[relpath] = (pkg, sz)
+
#
# This function returns a dict where each key is the path of a file in
# the root filesystem, and the value is a tuple containing two
@@ -73,6 +75,7 @@ def build_package_dict(builddir):
add_file(filesdict, fpath, fullpath, pkg)
return filesdict
+
#
# This function builds a dictionary that contains the name of a
# package as key, and the size of the files installed by this package
@@ -103,7 +106,7 @@ def build_package_size(filesdict, builddir):
seeninodes.add(st.st_ino)
frelpath = os.path.relpath(fpath, os.path.join(builddir, "target"))
- if not frelpath in filesdict:
+ if frelpath not in filesdict:
print("WARNING: %s is not part of any package" % frelpath)
pkg = "unknown"
else:
@@ -113,6 +116,7 @@ def build_package_size(filesdict, builddir):
return pkgsize
+
#
# Given a dict returned by build_package_size(), this function
# generates a pie chart of the size installed by each package.
@@ -150,6 +154,7 @@ def draw_graph(pkgsize, outputf):
plt.title("Total filesystem size: %d kB" % (total / 1000.), fontsize=10, y=.96)
plt.savefig(outputf)
+
#
# Generate a CSV file with statistics about the size of each file, its
# size contribution to the package and to the overall system.
@@ -208,6 +213,7 @@ def gen_packages_csv(pkgsizes, outputf):
for (pkg, size) in pkgsizes.items():
wr.writerow([pkg, size, "%.1f" % (float(size) / total * 100)])
+
parser = argparse.ArgumentParser(description='Draw size statistics graphs')
parser.add_argument("--builddir", '-i', metavar="BUILDDIR", required=True,
OpenPOWER on IntegriCloud