15 个版本

0.3.2 2024 年 8 月 26 日
0.3.1 2024 年 8 月 25 日
0.2.1 2024 年 8 月 24 日
0.1.9 2024 年 8 月 24 日

#132 in 性能分析

Download history 1095/week @ 2024-08-19

每月 1,095 次下载

LGPL-2.1 OR BSD-2-Clause

53KB
1.5K SLoC

Rust 742 SLoC // 0.0% comments C 531 SLoC // 0.1% comments

Flaregun

Linux 的跟踪和监控工具。

允许跟踪

  • 块和字符设备 I/O 延迟
  • 运行队列调度延迟
  • 文件系统延迟
  • TCP 数据包延迟

并监控

  • CPU 利用率 %
  • 虚拟内存利用率 %

这些指标可以以列、CSV 或 JSON 格式导出。

当以 CSV 文件格式写入时,输出可以使用 fl-plot 进行绘图

fl --all --output-file /tmp/trace.csv --pid 42
# ...
fl-plot -i /tmp/trace.csv -o /tmp/trace.html

绘图是一个独立的 HTML 文件,可以在浏览器中打开。

这是一个库,以及一些命令行工具。

Usage: fl [OPTIONS]

Options:
  -a, --all
          Enable all tracing and monitoring tools
      --bio-lat
          Enable block and character device i/o latency tracing
      --rq-lat
          Enable run queue latency tracing
      --fs-lat
          Enable file system latency tracing
      --tcp-pkt-lat
          Enable TCP packet latency tracing
      --cpu-pct
          Enable cpu utilization % monitoring
      --mem-pct
          Enable virtual memory utilization % monitoring
  -p, --pid <PID>
          Process ID to trace, or 0 for everything [default: 0]
      --tgid <TGID>
          Thread ID to trace [default: 0]
  -l, --min-lat-us <MIN_LAT_US>
          Trace latency higher than this value [default: 10000]
  -i, --reporting-interval-ms <REPORTING_INTERVAL_MS>
          For monitoring tools, stats will be reported at this interval [default: 1000]
  -f, --output-format <OUTPUT_FORMAT>
          Some output styles are better for humans (columnar), others for machines [default: columnar] [possible values: columnar, csv, json]
      --duration-format <DURATION_FORMAT>
          Output format for the duration since this program's start [default: usecs] [possible values: hh-mm-ss, hh-mm-ss-mss, usecs]
  -o, --output-file <OUTPUT_FILE>
          Write events to this file, if present, or to standard output if not given
      --no-header
          Omit the header (tool/time/task/pid/value) as the first line of output
      --just-header
          Show a header and exit ('-V, --version' has precedence)
  -h, --help
          Print help (see more with '--help')
  -V, --version
          Print version

依赖项

~15–28MB
~433K SLoC