ghz 输出格式大全:从简单摘要到 Prometheus、InfluxDB 集成
ghz 是一款功能强大的 gRPC 基准测试和负载测试工具,支持多种输出格式,满足从简单结果查看、数据导出到监控系统集成的全流程需求。本文将详细介绍 ghz 支持的所有输出格式及其应用场景,帮助你快速掌握如何根据实际需求选择合适的输出方式。
一、基础输出格式:快速查看测试结果
ghz 提供了多种基础输出格式,适用于快速查看和分析测试结果,无需复杂配置即可获得关键指标。
1.1 摘要格式(summary)
适用场景:日常测试快速概览、命令行输出
特点:简洁展示关键性能指标,包括平均响应时间、吞吐量(RPS)、错误率等核心数据。
摘要格式是 ghz 的默认输出方式,执行测试命令后自动展示。典型输出包含测试概况、延迟分布、状态码统计等信息,帮助你快速判断服务性能表现。
1.2 JSON 与美化 JSON(json/pretty)
适用场景:数据导出、自动化分析、二次开发
特点:结构化输出完整测试数据,支持机器解析。
使用 --format json 可导出原始 JSON 数据,而 --format pretty 则提供格式化后的易读版本。示例命令:
ghz --format pretty --output result.json --proto ./testdata/greeter.proto --call helloworld.Greeter.SayHello localhost:50051
导出的 JSON 数据可用于进一步的数据分析或与其他工具集成,如导入到 Excel 生成图表或通过脚本进行自动化报告生成。
1.3 CSV 格式(csv)
适用场景:数据导入表格工具、批量数据分析
特点:逗号分隔的结构化数据,便于 Excel、Google Sheets 等工具直接处理。
CSV 格式适合需要对多组测试结果进行对比分析的场景。通过 --format csv 参数导出后,可直接用表格工具打开,进行排序、筛选和图表生成。
1.4 HTML 格式(html)
适用场景:可视化报告分享、存档
特点:生成包含图表的静态 HTML 文件,直观展示性能数据。
HTML 输出将测试结果以交互式图表形式呈现,包括延迟分布柱状图、状态码饼图等。生成的 HTML 文件可直接在浏览器中打开,方便团队内分享或报告展示。
二、高级输出格式:监控系统集成
ghz 不仅支持基础输出,还能与主流监控系统无缝集成,实现性能数据的长期存储和实时监控。
2.1 InfluxDB 集成(influx-summary/influx-details)
适用场景:时序数据存储、长期性能趋势分析
特点:将测试数据写入 InfluxDB,结合 Grafana 实现可视化监控。
ghz 提供两种 InfluxDB 输出格式:
influx-summary:输出汇总指标,如平均延迟、RPS 等influx-details:输出详细指标,包括分位数、错误分布等
图:ghz 与 InfluxDB 集成的详细监控面板,展示响应时间、吞吐量等关键指标随时间的变化趋势
配置示例:
ghz --format influx-details --influx-host http://influxdb:8086 --influx-db ghz --proto ./testdata/greeter.proto --call helloworld.Greeter.SayHello localhost:50051
对应的 Grafana 仪表盘模板可在项目的 extras/ 目录下找到,如 extras/influx-details-grafana-dashboard.json 和 extras/influx-summary-grafana-dashboard.json。
2.2 Prometheus 集成(prometheus)
适用场景:监控告警、指标聚合
特点:输出 Prometheus 兼容的指标格式,可直接被 Prometheus 采集。
通过 --format prometheus 参数,ghz 会生成符合 Prometheus 规范的指标数据,包括请求数、错误数、延迟分布等。这些指标可被 Prometheus 抓取,结合 Alertmanager 设置性能告警阈值。
图:ghz 测试报告详情页,展示了 Prometheus 兼容的各项性能指标,包括延迟分布、状态码分布等
三、Web 界面输出:直观的可视化报告
ghz 提供了 Web 界面,可通过 ghz-web 命令启动,将测试结果以更友好的方式展示和管理。
3.1 项目详情页
Web 界面的项目详情页展示特定项目的历史测试数据,包括平均响应时间、吞吐量等指标的趋势图,以及所有测试报告的列表。
图:ghz Web 界面的项目详情页,展示历史测试数据趋势和报告列表
3.2 报告详情页
报告详情页提供单轮测试的全面分析,包括摘要统计、延迟分布直方图、状态码分布饼图等。
图:ghz Web 界面的报告详情页,展示单轮测试的详细指标和可视化图表
四、如何选择合适的输出格式?
- 快速测试验证:选择
summary或pretty格式,直接在命令行查看结果 - 数据分析与报告:使用
json或csv格式导出数据,结合表格工具或脚本处理 - 长期监控:集成
influx-details或prometheus格式,实现性能指标的持续采集 - 团队分享:生成
html报告或使用ghz-web界面,直观展示测试结果
通过灵活运用 ghz 的多种输出格式,你可以构建从即时测试反馈到长期性能监控的完整解决方案,有效保障 gRPC 服务的性能稳定性。
要开始使用 ghz,可通过以下命令克隆仓库:
git clone https://gitcode.com/gh_mirrors/gh/ghz
更多详细使用方法请参考项目文档,探索 ghz 强大的负载测试能力。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



