Use pprof to visualize profiling data produced by Rprof() or record_rprof().

serve_rprof(
  rprof,
  host = "localhost",
  port = proffer::random_port(),
  browse = interactive(),
  verbose = TRUE
)

Arguments

rprof

Path to profiling samples generated by Rprof() or record_rprof().

host

Host name. Set to "localhost" to view locally or "0.0.0.0" to view from another machine. If you view from another machine, the printed out URL will not be valid. For example, if pprof() or serve_pprof() prints "http://0.0.0.0:8080", then you need to replace 0.0.0.0 with your computer's name or IP address, e.g. "http://my_computer.com:8080".

port

Port number for hosting the local pprof server. Chosen randomly by default.

browse

Logical, whether to open a browser to view the pprof server.

verbose

Logical, whether to print console messages such as the URL of the local pprof server.

Value

A processx::process$new() handle. Use this handle to take down the server with $kill().

Details

Uses a local interactive server. Navigate a browser to a URL in the message. The server starts in a background process

Examples

if (identical(Sys.getenv("PROFFER_EXAMPLES"), "true")) {
rprof <- record_rprof(replicate(1e2, sample.int(1e4)))
# Start a pprof virtual server in the background.
px <- serve_rprof(rprof)
# Terminate the server.
px$kill()
}