|
@@ -273,6 +273,47 @@ only other format supported is PNG:
|
|
|
BR2_GRAPH_OUT=png make graph-build
|
|
|
----------------
|
|
|
|
|
|
+=== Graphing the filesystem size contribution of packages
|
|
|
+
|
|
|
+When your target system grows, it is sometimes useful to understand
|
|
|
+how much each Buildroot package is contributing to the overall root
|
|
|
+filesystem size. To help with such an analysis, Buildroot collects
|
|
|
+data about files installed by each package and using this data,
|
|
|
+generates a graph and CSVs files detailing the size contribution of
|
|
|
+the different packages.
|
|
|
+
|
|
|
+To generate these data after a build, run:
|
|
|
+
|
|
|
+----------------
|
|
|
+make graph-size
|
|
|
+----------------
|
|
|
+
|
|
|
+This will generate:
|
|
|
+
|
|
|
+* +output/graphs/graph-size.pdf+, a pie chart of the contribution of
|
|
|
+ each package to the overall root filesystem size
|
|
|
+
|
|
|
+* +output/graphs/package-size-stats.csv+, a CSV file giving the size
|
|
|
+ contribution of each package to the overall root filesystem size
|
|
|
+
|
|
|
+* +output/graphs/file-size-stats.csv+, a CSV file giving the size
|
|
|
+ contribution of each installed file to the package it belongs, and
|
|
|
+ to the overall filesystem size.
|
|
|
+
|
|
|
+This +size-stats+ target requires the Python Matplotlib library to be
|
|
|
+installed (+python-matplotlib+ on most distributions), and also the
|
|
|
++argpase+ module if you're using a Python version older than 2.7
|
|
|
+(+python-argparse+ on most distributions).
|
|
|
+
|
|
|
+Just like for the duration graph, a +BR2_GRAPH_OUT+ environment is
|
|
|
+supported to adjust the output file format. See xref:graph-depends[]
|
|
|
+for details about this environment variable.
|
|
|
+
|
|
|
+.Note
|
|
|
+The collected filesystem size data is only meaningful after a complete
|
|
|
+clean rebuild. Be sure to run +make clean all+ before using +make
|
|
|
+size-stats+.
|
|
|
+
|
|
|
include::eclipse-integration.txt[]
|
|
|
|
|
|
include::advanced.txt[]
|