3个版本

0.1.2 2019年7月5日
0.1.1 2019年7月5日
0.1.0 2019年7月5日

#16 in #slow

每月35次下载

MIT 许可证

8KB
124 行代码(不含注释)

🐈 sleepycat

Build Status MIT licensed

sleepycatstdin 读取数据,以每秒给定行数(LPS)输出到 stdout

为什么

我正在编写一个程序以解析日志文件并在实时绘制图表。我需要一个方法来反复测试它而无需从源应用程序生成日志文件。因此诞生了 sleepycat,这样我就可以重复使用相同的日志文件,并以可定制的速率将其引入我的应用程序。

当然,您可以使用一些巧妙的Bash脚本来完成它,但我希望将来能够添加一些自定义模式。

安装

您有多种方法可以获得 sleepycat

  1. crates.io 下载: cargo install sleepycat
  2. *即将推出* 从 发布页面 下载预构建的二进制文件。
  3. 自己构建。
    1. 克隆此仓库: git clone https://github.com/daniellockyer/sleepycat
    2. 以发布模式构建二进制文件: cargo build --release
    3. 二进制文件在 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