Uses the graph and Rgraphviz packages to plot a call graph for
profile data produced by Rprof
.
plotProfileCallGraph(pd, layout = "dot",
score = c("none", "total", "self"),
transfer = function(x) x, nodeColorMap = NULL,
edgeColorMap = NULL, mergeCycles = FALSE,
edgesColored = FALSE, rankDir = c("TB", "LR"),
nodeDetails = FALSE, edgeDetails = FALSE,
nodeSizeScore = c("none", "total", "self"),
edgeSizeScore = c("none", "total"),
shape = "ellipse", style, GC = TRUE,
maxnodes = NA, total.pct = 0, ...)
profile data as returned by readProfileData
.
The layout method to use: One of "dot"
,
"neato"
, and "twopi"
.
character string specifying whether to use total time or self time for coloring nodes/edges; no color used if missing.
function; maps score values in unit interval to unit interval
character vectors of color
specifications as produced by rainbow
; transfer
of
score is mapped to color
logical; whether to merge each cycle of recursion into a single node
logical; whether to color edges
The direction that the plot is laid out in, one of
either "TB"
for Top-to-Bottom or "LR"
for
Left-to-Right. The default value is "LR"
. This
argument is only useful for dot
layouts.
logical; whether count information should be shown.
character; value to encode in the size of the nodes.
character; value to encode in the width of the edges.
character; node shape.
named list of values for arguments score
through
layout
to use if not explicitly supplied.
additional arguments for the graphNEL
plot
method.
logical; include GC information or not.
integer; maximal number of nodes to use; nodes with lower total hit counts are dropped.
numeric; if positive, nodes with hit percentages below this level are dropped.
Used for side effect.
Color is used to encode the fraction of total or self time spent in
each function or call. The scores used correspond to the values in
the printed representation produced by printProfileCallGraph
.
For now, see the gprof
manual for further details. The color
encoding for a score s
and a color map m
is
m[ceiling(length(m) * transfer(s))]
A style can be specified to set options to a set of cvalues that work well together.
User manual for gprof
, the GNU profiler.
Graphviz: https://graphviz.gitlab.io/download/
Rprof
,
summaryRprof
,
readProfileData
,
flatProfile
,
profileCallGraph2Dot
printProfileCallGraph
plain.style
google.style
# NOT RUN {
pd <- readProfileData(system.file("samples", "glmEx.out", package="proftools"))
plotProfileCallGraph(pd)
plotProfileCallGraph(pd, score = "none")
plotProfileCallGraph(pd, style = plain.style, score = "total")
# }
Run the code above in your browser using DataLab