#输出格式 #火焰图 #转换器 #跟踪 #二进制格式 #事件 #追踪

bin+lib hawktracer-converter

将 HawkTracer 输出格式转换为人类可读/众所周知的跟踪事件查看器格式

4 个版本 (2 个重大更新)

0.2.0 2020年1月26日
0.1.1 2019年12月31日
0.1.0 2019年12月31日
0.0.1 2019年1月27日

解析实现 中排名 1839

MIT 许可协议

210KB
1.5K SLoC

Rust 1K SLoC // 0.0% comments JavaScript 140 SLoC

Linux build status Windows build status Crates.io

HawkTracer Converter

HawkTracer Converter 是一个命令行工具,用于将 HawkTracer 二进制流转换为众所周知的跟踪格式。转换器支持以下输出格式

我们努力支持尽可能多的格式,所以请 创建一个问题 告诉我们您需要支持其他输出格式。

输出格式的截图

跟踪事件格式 火焰图
A screenshot of a Trace Event Format output A screenshot of a flamegraph output

安装

下载二进制文件

对于每个版本,团队发布了适用于 Linux 和 Windows 操作系统的可运行的可执行文件。如果您没有 rust 环境,并且不想自己构建转换器,我们建议您从 发布页面 下载二进制文件。
您应该下载以下名称的文件:hawktracer-converter-{VERSION}-{OPERATING_SYSTEM}-{ARCHITECTURE}(可选带有 .exe 扩展名,适用于 Windows 平台),例如 hawktracer-converter-0.1.0-linux-x86_64

Cargo 安装

如果您有 Rust 开发工具,最简单安装转换器的方法是运行 cargo install 命令

cargo install hawktracer-converter

此命令将安装 hawktracer-converter 应用程序到用户的安装 bin 根目录下的 bin 文件夹(默认为 $HOME/.cargo/bin)。请确保该目录在您的 $PATH 中,以便能够在不指定完整路径的情况下运行应用程序。

使用

$ hawktracer-converter --help
  USAGE:
    hawktracer-converter [FLAGS] [OPTIONS] --format <format> --output-file <output-file> --source <source>

  FLAGS:
    -h, --help       Prints help information
        --stdout     Print data to standard output
    -V, --version    Prints version information
        --verbose    Print debug information

  OPTIONS:
        --format <format>              Conversion format [possible values: debug, chrome-tracing, flamegraph]
        --map-files <map-files>        List of mapping files
        --output-file <output-file>    Output file [default: hawktracer-trace-%Y-%m-%d-%H_%M_%S.httrace]
        --source <source>              Data source description (either filename, or server address)

示例

  • 从网络读取 HawkTracer 数据流并在默认位置生成 FlameGraph
$ hawktracer-converter --format flamegraph --source 10.16.32.249:5443
  • 读取 HawkTracer 数据文件并将原始事件打印到标准输出
$ hawktracer-converter --format debug --stdout

构建

HawkTracer 转换器是用 Rust 实现的,建议使用 cargo 工具编译项目

$ git clone https://github.com/loganek/hawktracer-converter
$ cd hawktracer-converter
$ cargo build --release
$ ./target/release/hawktracer-converter --version
  hawktracer-converter 0.1.0

许可证摘要

该项目根据 MIT 许可证提供。(见 LICENSE 文件)

依赖项

~6–15MB
~173K SLoC