tracker | R Documentation |
The current implementation uses the 'closure trick' to hide all details from
the user and only allows to retrieve the results of the code inspection.
tracker
is used to create a new environment to manage and store the results
of the tracking process. The inspect
function requires such an
environment with the name "track" (currently mandatory). The tracker records how often each
and every function was called by inspect
and summarizes the results of
all calls.
tracker$init
initializes the tracker environment.
tracker$getTrackInfo
returns a list with the tracked results of the
inspection process.
tracker()
The 'trackInfo' S3 class object (list) has one entry for each function on the inspect list with the following elements:
The source code of the function.
The number of executions for each line of code.
A matrix. Each element in the matrix counts how often a code line was called from the previous code line in the execution flow.
Counts how often the function was called.
The declaration of the function.
init | initializes the tracker environment | |
addFunc | add function to the inspect tracking list (internal use) | |
getSource | return the modified source code used for during inspection the specified index (internal use) | |
bp | update tracking info for specified function index (internal use) | |
getTrackInfo | return 'trackInfo' object | |
isValid | check 'trackInfo' object for conformance to class contract | |
Thomas König, Klaus Jünemann & Matthias Burger
inspect
for the registration of functions & methods to
be on the tracking list, and
printHTML
for displaying results
## example functions
foo <- function(x){
y <- 0
for(i in 1:100)
{
y <- y + i
}
return(y)
}
bar <- function(x){
y <- 0
for(i in 1:100)
{
y <- y - i
}
return(y)
}
## the object name track is 'fixed' (current implementation)
track <- tracker()
## initialize the tracker
track$init()
## inspect the function
## resFoo1 will contain the result of calling foo(50)
resFoo1 <- inspect(foo(50), track = track)
resFoo2 <- inspect(foo(20), track = track)
resBar1 <- inspect(bar(30), track = track)
## get the tracked function call info for all inspect calls
resTrack <- track$getTrackInfo()
## create HTML sites in folder <tempdir>/results for all inspect calls
printHTML(resTrack, baseDir=tempdir())
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.