Skip to contents

Progress updates generated by progressr are formally R conditions of class progression that are signalled and handled by R’s condition framework. Sometimes these progression conditions are not signalled, or transmitted, as expected. To troubleshoot such problems, we can use the built-in “debug” handler. For example,

> library(progressr)
> handlers("debug")
> handlers(global = TRUE)
> 
> y <- slow_sum(1:3)
[21:17:01.786] (0.000s => +0.015s) initiate: 0/3 (+0) '' {clear=TRUE, enabled=TRUE, status=}
[21:17:01.975] (0.189s => +0.179s) update: 0/3 (+0) '' {clear=TRUE, enabled=TRUE, status=}
[21:17:02.378] (0.593s => +0.002s) update: 0/3 (+0) '' {clear=TRUE, enabled=TRUE, status=}
[21:17:02.581] (0.796s => +0.002s) update: 1/3 (+1) 'P: Adding 1' {clear=TRUE, enabled=TRUE, status=}
M: Added value 1
[21:17:02.788] (1.002s => +0.004s) update: 1/3 (+0) 'P: Adding 1' {clear=TRUE, enabled=TRUE, status=}
[21:17:02.990] (1.205s => +0.001s) update: 1/3 (+0) 'P: Adding 1' {clear=TRUE, enabled=TRUE, status=}
[21:17:03.394] (1.608s => +0.002s) update: 1/3 (+0) 'P: Adding 1' {clear=TRUE, enabled=TRUE, status=}
[21:17:03.597] (1.812s => +0.002s) update: 2/3 (+1) 'P: Adding 2' {clear=TRUE, enabled=TRUE, status=}
M: Added value 2
[21:17:03.807] (2.021s => +0.007s) update: 2/3 (+0) 'P: Adding 2' {clear=TRUE, enabled=TRUE, status=}
[21:17:04.010] (2.224s => +0.001s) update: 2/3 (+0) 'P: Adding 2' {clear=TRUE, enabled=TRUE, status=}
[21:17:04.412] (2.627s => +0.001s) update: 2/3 (+0) 'P: Adding 2' {clear=TRUE, enabled=TRUE, status=}
[21:17:04.616] (2.830s => +0.002s) update: 3/3 (+1) 'P: Adding 3' {clear=TRUE, enabled=TRUE, status=}
[21:17:04.618] (2.832s => +0.004s) update: 3/3 (+0) 'P: Adding 3' {clear=TRUE, enabled=TRUE, status=}
M: Added value 3
>