diff --git a/NEWS.md b/NEWS.md index 0eaa2af..15b0dbd 100644 --- a/NEWS.md +++ b/NEWS.md @@ -2,6 +2,7 @@ * Deprecate `install_go()`. Visit to download the appropriate build of Go for your platform. * Use the copy of `pprof` that comes with Go. +* Disable Go telemetry to comply with CRAN policies. # proffer 0.1.6 diff --git a/R/pprof.R b/R/pprof.R index 819a478..9c435a3 100644 --- a/R/pprof.R +++ b/R/pprof.R @@ -192,14 +192,18 @@ show_url <- function(host, port) { } serve_pprof_impl <- function(args) { - with_safe_path( - Sys.getenv("PROFFER_GRAPHVIZ_BIN"), - processx::process$new( - command = go_bin_path(), - args = c("tool", "pprof", args), - stdout = "|", - stderr = "|", - supervise = TRUE - ) + processx::run( + command = go_bin_path(), + args = c("telemetry", "off"), + stdout = "|", + stderr = "|", + error_on_status = FALSE + ) + processx::process$new( + command = go_bin_path(), + args = c("tool", "pprof", args), + stdout = "|", + stderr = "|", + supervise = TRUE ) } diff --git a/README.Rmd b/README.Rmd index 0591f8d..d04e0b3 100644 --- a/README.Rmd +++ b/README.Rmd @@ -193,6 +193,10 @@ When you are done testing, you can clean up the process to conserve resources. process$kill() ``` +## Telemetry + +Recent versions of Go implement telemetry by default. Functions in `proffer` such as `pprof()` turn off telemetry in order to comply with CRAN policies. Read to learn how to restore telemetry settings after using `proffer`. + ## Contributing We encourage participation through [issues](https://github.com/r-prof/proffer/issues) and [pull requests](https://github.com/r-prof/proffer/pulls). `proffer` has a [Contributor Code of Conduct](https://github.com/r-prof/proffer/blob/main/CODE_OF_CONDUCT.md). By contributing to this project, you agree to abide by its terms. diff --git a/README.md b/README.md index 81538ed..1223f83 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ system.time({ x <- data.frame(x = x, y = y) }) #> user system elapsed -#> 0.018 0.001 0.019 +#> 0.019 0.001 0.020 ``` Moral of the story: before you optimize, throw away your assumptions and @@ -221,6 +221,13 @@ resources. process$kill() ``` +## Telemetry + +Recent versions of Go implement telemetry by default. Functions in +`proffer` such as `pprof()` turn off telemetry in order to comply with +CRAN policies. Read to learn how to +restore telemetry settings after using `proffer`. + ## Contributing We encourage participation through