| Type: | Package | 
| Title: | Tools to Time Pipe Operations | 
| Version: | 0.0.1 | 
| Description: | Enable users to measure and record the execution time of pipe operations (using |>) with optional logging to dataframes and output to the console. | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| Suggests: | testthat (≥ 3.0.0), crayon, dplyr, ggplot2, stringr, tictoc, knitr, rmarkdown | 
| Config/testthat/edition: | 3 | 
| RoxygenNote: | 7.3.3 | 
| URL: | https://cygei.github.io/pipetime/; https://github.com/CyGei/pipetime | 
| BugReports: | https://github.com/CyGei/pipetime/issues | 
| VignetteBuilder: | knitr | 
| NeedsCompilation: | no | 
| Packaged: | 2025-09-29 19:13:44 UTC; cy | 
| Author: | Cyril Geismar | 
| Maintainer: | Cyril Geismar <c.geismar21@imperial.ac.uk> | 
| Depends: | R (≥ 4.1.0) | 
| Repository: | CRAN | 
| Date/Publication: | 2025-10-08 19:50:14 UTC | 
Retrieve a timing log (or all logs)
Description
Return a stored timing log from .pipetime_env.
If log = NULL, return all logs as a named list.
Usage
get_log(log = NULL)
Arguments
| log | Character string or  | 
Value
Either:
- A data frame with columns: -  timestamp(POSIXct): Pipeline start time
-  label(character): Operation label
-  duration(numeric): Elapsed time since pipeline start
-  unit(character): Time unit used
 
-  
- Or, if - log = NULL, a named list of such data frames.
See Also
Remove a timing log (or all logs)
Description
Delete a timing log from .pipetime_env.
If log = NULL, all logs are removed, but only when force = TRUE.
Usage
rm_log(log = NULL, force = FALSE)
Arguments
| log | Character string or  | 
| force | Logical. To remove all logs,  | 
Value
Invisibly, TRUE.
See Also
Measure execution time in a pipeline
Description
Records the runtime of a pipeline (|>) from its start to the point where time_pipe() is called.
Prints results to the console and/or logs them in .pipetime_env.
Defaults can be set via options(pipetime.*).
Usage
time_pipe(
  .data,
  label = NULL,
  log = getOption("pipetime.log", NULL),
  console = getOption("pipetime.console", TRUE),
  unit = getOption("pipetime.unit", "secs")
)
Arguments
| .data | Input object passed through the pipeline. | 
| label | Character string. Operation name. Defaults to the expression if  | 
| log | Character string or  | 
| console | Logical. Print timing to console? Default:  | 
| unit | Character string. Time unit for  | 
Details
time_pipe() measures elapsed time from pipeline start to the call.
If log is set, results are appended to a data frame in .pipetime_env with columns:
-  timestamp: Pipeline start time (POSIXct)
-  label: Operation label
-  duration: Elapsed time since pipeline start (numeric)
-  unit: Time unit used
Stored logs can be retrieved with get_log().
Value
.data, unchanged. Timing information is printed and/or stored separately.
Examples
library(dplyr)
data.frame(x = 1:3) |>
mutate(y = {Sys.sleep(0.5); x*2 }) |>
time_pipe("calc 1") |>
mutate(z = {Sys.sleep(0.5); x/2 }) |>
time_pipe("total pipeline")