1 个不稳定版本

0.1.0 2019年9月13日

#1596 in WebAssembly

Download history 1207/week @ 2024-03-14 2057/week @ 2024-03-21 1878/week @ 2024-03-28 1505/week @ 2024-04-04 1962/week @ 2024-04-11 1542/week @ 2024-04-18 1637/week @ 2024-04-25 1353/week @ 2024-05-02 1157/week @ 2024-05-09 1343/week @ 2024-05-16 1169/week @ 2024-05-23 1487/week @ 2024-05-30 1301/week @ 2024-06-06 1247/week @ 2024-06-13 1593/week @ 2024-06-20 1202/week @ 2024-06-27

5,667 每月下载量

MIT/Apache

8KB

gloo-console-timer

Build Status Crates.io version Download docs.rs docs

API文档 | 贡献 | 聊天

由Rust和WebAssembly工作组使用🦀🕸构建

console.timeconsole.timeEnd函数允许您将命名操作的计时记录到浏览器的开发者工具控制台。当操作开始时,调用console.time("foo"),当操作完成时,调用console.timeEnd("foo")

此外,这些测量将显示在您的浏览器分析器的“时间线”或“瀑布”视图中。

请参阅MDN获取更多信息.

此API将timetimeEnd调用包装到单个名为ConsoleTimer的类型中,确保都调用。

作用域测量

使用ConsoleTimer::scope在闭包中包装要测量的代码。

use gloo_console_timer::ConsoleTimer;

let value = ConsoleTimer::scope("foo", || {
    // Place code to be measured here
    // Optionally return a value.
});

RAII样式测量

对于无法使用ConsoleTimer::scope的场景,例如异步操作,您可以使用ConsoleTimer::new创建计时器。测量结束当计时器对象超出作用域/被丢弃时。

use gloo_console_timer::ConsoleTimer;
use gloo_timers::callback::Timeout;

// Start timing a new operation.
let timer = ConsoleTimer::new("foo");

// And then asynchronously finish timing.
let timeout = Timeout::new(1_000, move || {
    drop(timer);
});

依赖关系

~6.5–8.5MB
~169K SLoC