R 代码
R 通过 WebR 运行,也就是编译为 WebAssembly 的 R。当您关心的校验是统计性的 而非结构性的时候,就该用它:响应时间分布、错误率、滑动平均。
| 符号 | 作用 |
|---|---|
input | 从输入端口收到的值 |
vars | 运行变量 |
cat(...)、print(...) | 写入执行日志 |
| 最后一个表达式 | 它的值会从 result 端口发出 |
标量会被拆包;带名字的列表会输出为 JSON 对象。
temps <- unlist(input$temps_ms)
moyenne <- mean(temps)p95 <- quantile(temps, 0.95)
cat(sprintf("moyenne %.1f ms, p95 %.1f ms\n", moyenne, p95))
list(moyenne = moyenne, p95 = unname(p95), n = length(temps))把输出接到一个使用 lt 的
断言上,就能在 p95 超出预算时让执行失败。
packages 字段接受 CRAN 包,由 WebR 的 WebAssembly 仓库提供。
需要知道的事
Section titled “需要知道的事”R 引擎是一个共享的单例,各次执行会排队进行。因此一段耗时较长的 R 脚本会延后
同一次执行中后续的脚本 —— 请保持它们简短,或相应地调大 timeout。