graphs: support generating png graphs
PDF files can not be easily embedded in other documents (eg. ODT, or HTML). Add support for generating PNG graphs, by setting the GRAPH_OUT=pdf|png on the command line: make GRAPH_OUT=png graph-build graph-depends The default is still to generate PDF graphs. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
0cfe3ab88c
commit
f1fedbb246
9
Makefile
9
Makefile
@ -121,6 +121,9 @@ else
|
|||||||
$(shell echo BR2_EXTERNAL ?= $(BR2_EXTERNAL) > $(BR2_EXTERNAL_FILE))
|
$(shell echo BR2_EXTERNAL ?= $(BR2_EXTERNAL) > $(BR2_EXTERNAL_FILE))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Need that early, before we scan packages
|
||||||
|
# Avoids doing the $(or...) everytime
|
||||||
|
BR2_GRAPH_OUT := $(or $(GRAPH_OUT),pdf)
|
||||||
|
|
||||||
BUILD_DIR:=$(BASE_DIR)/build
|
BUILD_DIR:=$(BASE_DIR)/build
|
||||||
STAMP_DIR:=$(BASE_DIR)/stamps
|
STAMP_DIR:=$(BASE_DIR)/stamps
|
||||||
@ -635,17 +638,17 @@ graph-build: $(O)/build/build-time.log
|
|||||||
@install -d $(O)/graphs
|
@install -d $(O)/graphs
|
||||||
$(foreach o,name build duration,./support/scripts/graph-build-time \
|
$(foreach o,name build duration,./support/scripts/graph-build-time \
|
||||||
--type=histogram --order=$(o) --input=$(<) \
|
--type=histogram --order=$(o) --input=$(<) \
|
||||||
--output=$(O)/graphs/build.hist-$(o).pdf \
|
--output=$(O)/graphs/build.hist-$(o).$(BR2_GRAPH_OUT) \
|
||||||
$(if $(GRAPH_ALT),--alternate-colors)$(sep))
|
$(if $(GRAPH_ALT),--alternate-colors)$(sep))
|
||||||
$(foreach t,packages steps,./support/scripts/graph-build-time \
|
$(foreach t,packages steps,./support/scripts/graph-build-time \
|
||||||
--type=pie-$(t) --input=$(<) \
|
--type=pie-$(t) --input=$(<) \
|
||||||
--output=$(O)/graphs/build.pie-$(t).pdf \
|
--output=$(O)/graphs/build.pie-$(t).$(BR2_GRAPH_OUT) \
|
||||||
$(if $(GRAPH_ALT),--alternate-colors)$(sep))
|
$(if $(GRAPH_ALT),--alternate-colors)$(sep))
|
||||||
|
|
||||||
graph-depends:
|
graph-depends:
|
||||||
@$(INSTALL) -d $(O)/graphs
|
@$(INSTALL) -d $(O)/graphs
|
||||||
@./support/scripts/graph-depends \
|
@./support/scripts/graph-depends \
|
||||||
|dot -Tpdf -o $(O)/graphs/$(@).pdf
|
|dot -T$(BR2_GRAPH_OUT) -o $(O)/graphs/$(@).$(BR2_GRAPH_OUT)
|
||||||
|
|
||||||
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||||
|
|
||||||
|
@ -88,6 +88,8 @@ to +make+ or set in the environment:
|
|||||||
is the recommended way of setting it.
|
is the recommended way of setting it.
|
||||||
* +GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in
|
* +GRAPH_ALT+, if set and non-empty, to use an alternate color-scheme in
|
||||||
build-time graphs
|
build-time graphs
|
||||||
|
* +GRAPH_OUT+ to set the filetype of generated graphs, either +pdf+ (the
|
||||||
|
default), or +png+.
|
||||||
|
|
||||||
An example that uses config files located in the toplevel directory and
|
An example that uses config files located in the toplevel directory and
|
||||||
in your $HOME:
|
in your $HOME:
|
||||||
|
@ -471,7 +471,7 @@ $(1)-show-depends:
|
|||||||
$(1)-graph-depends:
|
$(1)-graph-depends:
|
||||||
@$(INSTALL) -d $(O)/graphs
|
@$(INSTALL) -d $(O)/graphs
|
||||||
@./support/scripts/graph-depends $(1) \
|
@./support/scripts/graph-depends $(1) \
|
||||||
|dot -Tpdf -o $(O)/graphs/$$(@).pdf
|
|dot -T$(BR2_GRAPH_OUT) -o $(O)/graphs/$$(@).$(BR2_GRAPH_OUT)
|
||||||
|
|
||||||
$(1)-dirclean: $$($(2)_TARGET_DIRCLEAN)
|
$(1)-dirclean: $$($(2)_TARGET_DIRCLEAN)
|
||||||
|
|
||||||
|
@ -51,7 +51,6 @@
|
|||||||
|
|
||||||
import matplotlib
|
import matplotlib
|
||||||
import numpy
|
import numpy
|
||||||
matplotlib.use('PDF')
|
|
||||||
|
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import matplotlib.font_manager as fm
|
import matplotlib.font_manager as fm
|
||||||
@ -264,7 +263,7 @@ parser.add_argument("--alternate-colors", '-c', action="store_true",
|
|||||||
parser.add_argument("--input", '-i', metavar="OUTPUT",
|
parser.add_argument("--input", '-i', metavar="OUTPUT",
|
||||||
help="Input file (usually $(O)/build/build-time.log)")
|
help="Input file (usually $(O)/build/build-time.log)")
|
||||||
parser.add_argument("--output", '-o', metavar="OUTPUT", required=True,
|
parser.add_argument("--output", '-o', metavar="OUTPUT", required=True,
|
||||||
help="Output file (PDF extension)")
|
help="Output file (.pdf or .png extension)")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
d = read_data(args.input)
|
d = read_data(args.input)
|
||||||
|
Loading…
Reference in New Issue
Block a user