3个版本
0.1.2 | 2019年7月5日 |
---|---|
0.1.1 | 2019年7月5日 |
0.1.0 | 2019年7月5日 |
#16 in #slow
每月35次下载
8KB
124 行代码(不含注释)
🐈 sleepycat
sleepycat
从 stdin
读取数据,以每秒给定行数(LPS)输出到 stdout
。
为什么
我正在编写一个程序以解析日志文件并在实时绘制图表。我需要一个方法来反复测试它而无需从源应用程序生成日志文件。因此诞生了 sleepycat
,这样我就可以重复使用相同的日志文件,并以可定制的速率将其引入我的应用程序。
当然,您可以使用一些巧妙的Bash脚本来完成它,但我希望将来能够添加一些自定义模式。
安装
您有多种方法可以获得 sleepycat
- 从 crates.io 下载:
cargo install sleepycat
- *即将推出* 从 发布页面 下载预构建的二进制文件。
- 自己构建。
- 克隆此仓库:
git clone https://github.com/daniellockyer/sleepycat
- 以发布模式构建二进制文件:
cargo build --release
- 二进制文件在
target/release/sleepycat
中可用
- 克隆此仓库:
准确性
目前,这个项目只是尝试运行一些东西。它没有考虑打印一行所需的时间,所以它 sleep
的时间太长,实际LPS最终低于目标。对于较小的目标来说这并不是什么大问题,但它很难达到更高的数字。
您可以使用以下命令测试准确性
cargo run --release < access.log | pv --line-mode --rate > /dev/null
- 对于10 LPS的目标,它达到9.99。
- 对于100 LPS的目标,它达到98.1。
- 对于500 LPS的目标,它达到460。
依赖关系
~760KB