This is a development package for creating a high-level otf2 wrapper for tracing R scripts.
Wrapper built using Rcpp.
Using ZeroMQ socket to communicate with process responsible for otf2 logging.
Using PMPMEAS (Poor Man's Performance Measurement tool) to interface with papi/perf for performance metrics.
Install libotf2, and zeromq required dependency.
If metrics enabled (default: yes), install boost required dependency, and install papi optional (but recommended) dependency.
Then install rTrace from github with:
devtools::install_github("DylanKierans/rTrace")Refer to debugging section if you are having errors.
-
Dependency not found during installation. Either dependency is not installed or is installed in non-standard directories.
configure: error: Unable to find FOO.h ERROR: configuration failed for package ‘rTrace’Solution: if installed in non-standard dirctory pass the following argument to
devtools::install_githubwhereFOOcan be one of the dependencies{zeromq, otf2, papi, perf, boost}.Example: Error -
configure: error: Unable to find FOO_HEADER.h.devtools::install_github("DylanKierans/rTrace", configure.args="--with-FOO=/path/to/install/directory")
-
If you are receiving error about
devtoolsnot installed.Solution: install with
install.packages("devtools")
# <import packages>
# <define user functions>
instrumentation_init()
instrument_all_functions()
# <...enter relevant area...>
instrumentation_enable()
# <...do work...>
instrumentation_disable()
# <...exit relevant area...>
instrumentation_finalize()Dylan Kierans
Dirk Pleiter (PMPMEAS)
Licensed under GPL-3.0
-
Clean up naming convention for:
- Functions
- Package variables in
pkg.env
-
Add get/set function for
pkg.envglobal variablesMAX_FUNCTION_DEPTHPRINT_SKIPS,PRINT_FUNC_INDEXES,PRINT_INSTRUMENTSFLAG_INSTRUMENT_ALL,FLAG_INSTRUMENT_USER_FUNCTIONS
-
Compile functions with
cmpfun(disabled to speed up testing workflow) -
Allow users to specify functions to instrument or add exceptions
-
Integrate socket and port management from tests branch