The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

profile

rcc Codecov test coverage CRAN status

The goal of profile is to read and write files that contain run time profiling data. Currently, profile supports:

The data is available to the user for inspection and manipulation in a documented stable data format.

Installation

You can install profile from GitHub with:

# install.packages("remotes")
remotes::install_github("r-prof/profile")

Example

This simple example converts an .out file generated by Rprof() to the .proto format understood by pprof.

rprof_path <- tempfile("profile", fileext = ".out")
Rprof(rprof_path, line.profiling = TRUE)
x <- runif(1e6)
res <- vapply(x, function(x) if (x < 0.5) sqrt(x) else x * x, numeric(1))
Rprof(NULL)

library(profile)
ds <- read_rprof(rprof_path)
ds
#> Profile data: 28 samples
names(ds)
#> [1] "meta"         "sample_types" "samples"      "locations"    "functions"   
#> [6] ".rprof"
write_pprof(ds, file.path(tempdir(), "1.pb.gz"))

Code of Conduct

Please note that the profile project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.