#regex #timing #line #command-line #debugging #stdout #profiling

app timeln

在stdout上添加时间信息

3个版本

0.1.4 2023年6月24日
0.1.3 2023年6月20日
0.1.0 2023年6月16日

#19 in #stdout

GPL-3.0-only

130KB
689

https://crates.io/crates/timeln

timeln

在stdout上添加时间信息

你喜欢用大量的打印语句进行调试吗?你是否经常在代码的某些部分添加计时器以查看它们的执行时间?你希望看到程序输出的关键模式之间经过的时间吗?如果是这样,那么timeln就适合你!

timeln example

Timeln是一个用Rust编写的命令行工具,它会跟踪脚本打印语句中出现的模式,创建命令行应用程序和脚本的“时间线”。

该工具按行读取标准输入(stdin),测量程序开始到当前位置经过的时间以及后续行之间的时间差。这使得它非常适合计时脚本和程序,或者用于(黑客式的)性能分析,在耗时操作发生时。

功能

  • 逐行计时:从标准输入(stdin)逐行读取数据,并计算/显示经过的时间和后续行之间的时间差。
  • 正则表达式匹配:允许在正则表达式匹配之间进行计时,而不是在行之间,增加了在传入数据流中关注特定模式的能力。
  • 彩色输出:添加了彩色输出的选项,时间和时间戳以绿色显示,以提高可读性。
  • 正则表达式高亮显示:当启用彩色化时,正则表达式匹配以红色突出显示,便于识别。名称“Timeln”是“println”和“timeline”概念的恶搞,反映了其打印带时间戳的行作为程序执行时间线的功能。利用强大的StructOpt和正则表达式库,Timeln通过CLI确保直观的使用和强大的正则表达式功能。

从Crates.io安装

该程序在Crates.io上以timeln为名。

cargo install timeln

安装二进制文件

请参阅GitHub页面上的版本。

从源代码安装

要安装Timeln,您首先需要在您的计算机上安装Rust。如果您还没有安装Rust,可以按照此处的说明进行安装。

安装Rust后,您可以通过cargo,Rust包管理器克隆Timeln仓库并构建项目

git clone https://github.com/EthanJamesLew/timeln.git
cd timeln
cargo build --release

现在,timeln二进制文件将在target/release目录中可用。您可以将它移动到PATH上的目录中以便于访问

mv target/release/timeln <DIR IN PATH>

用法

使用Timeln非常简单。只需将命令的输出通过管道传入timeln(使用-c可以为输出着色)

python your_script.py | timeln -c

如果您想要计时正则表达式匹配而不是行,请使用-r选项后跟您的正则表达式模式

python your_script.py | timeln -r "your_regex_pattern"

在此模式下,Timeln只会显示与给定正则表达式模式匹配的行,并基于这些匹配行计算经过的时间和时间差。

当启用着色时,正则表达式匹配将以红色突出显示,以便于识别。

免责声明

让我们真诚地谈谈。Timeln非常酷,不是吗?您正在计时,观察那些毫秒级的时间差,感觉自己就像电影中的黑客。但是等等!在我们沉醉于其中之前,让我们记住一些关键的东西:Timeln是一个工具,而不是一种生活方式

虽然眯着眼睛看打印语句就像70年代一样有一种复古的魅力,但请记住,我们现在处于21世纪,我们有一些很棒的现代调试工具可供使用!这就像你口袋里有一部完美的智能手机,却用信鸽传递消息一样。迷人吗?当然。有效吗?可能不是那么有效。

换句话说,不要陷入"println调试"的陷阱。这就像用自行车参加一级方程式赛车——你可能最终会到达终点,但可能不会是领奖台。

所以,当你沉浸在Timeln输出的绿色光芒中时,请记住:这个工具只是你的开发者工具包的一部分,而不是整个工具包。明智地使用它,善于使用它,并且请记住,不要忘记你的调试器。

祝您编码愉快,并请记住:负责任地使用打印功能!

依赖关系

~10–24MB
~289K SLoC