{"id":15014915,"url":"https://github.com/hyperledger-twgc/tape","last_synced_at":"2025-05-16T08:05:45.328Z","repository":{"id":39655093,"uuid":"206326196","full_name":"Hyperledger-TWGC/tape","owner":"Hyperledger-TWGC","description":"A Simple Traffic Generator for Hyperledger Fabric","archived":false,"fork":false,"pushed_at":"2025-03-26T07:25:05.000Z","size":1446,"stargazers_count":219,"open_issues_count":6,"forks_count":70,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-05-16T08:05:38.555Z","etag":null,"topics":["bottleneck","fabric","hyperledger-fabric","performance","test","tool","traffic-generator"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hyperledger-TWGC.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-04T13:29:56.000Z","updated_at":"2025-05-01T12:33:55.000Z","dependencies_parsed_at":"2023-07-13T15:16:22.681Z","dependency_job_id":"b0acf814-7f71-422f-b8e3-cdf603dd4871","html_url":"https://github.com/Hyperledger-TWGC/tape","commit_stats":{"total_commits":271,"total_committers":15,"mean_commits":"18.066666666666666","dds":0.6162361623616236,"last_synced_commit":"b794d1096451e9ed82754d7b78c3aa0b9e2e1b36"},"previous_names":["guoger/tape","guoger/stupid"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hyperledger-TWGC%2Ftape","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hyperledger-TWGC%2Ftape/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hyperledger-TWGC%2Ftape/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hyperledger-TWGC%2Ftape/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hyperledger-TWGC","download_url":"https://codeload.github.com/Hyperledger-TWGC/tape/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254493378,"owners_count":22080126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bottleneck","fabric","hyperledger-fabric","performance","test","tool","traffic-generator"],"created_at":"2024-09-24T19:46:16.071Z","updated_at":"2025-05-16T08:05:40.320Z","avatar_url":"https://github.com/Hyperledger-TWGC.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tape\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"logo.svg\" width=\"100\"\u003e\n\u003c/div\u003e\nTape 是一款轻量级 Hyperledger Fabric 性能测试工具\n\n[![Go doc](https://img.shields.io/badge/go.dev-reference-brightgreen?logo=go\u0026logoColor=white\u0026style=flat)](https://pkg.go.dev/github.com/hyperledger-twgc/tape)\n[![Github workflow test](https://github.com/Hyperledger-TWGC/tape/actions/workflows/test.yml/badge.svg)](https://github.com/Hyperledger-TWGC/tape/actions/workflows/test.yml)\n\n## 项目背景\n\nTape 项目原名 Stupid，最初由 超级账本中国技术工作组成员[郭剑南](https://github.com/guoger)开发，目的是提供一款轻量级、可以快速测试 Hyperledger Fabric TPS 值的工具。Stupid 取自[KISS](https://en.wikipedia.org/wiki/KISS_principle) 原则 Keep it Simple and Stupid，目前已正式更名为Tape，字面含义卷尺，寓意测量，测试。\n\n目前 Tape 已贡献到超级账本中国技术社区，由[TWGC 性能优化小组](https://github.com/Hyperledger-TWGC/fabric-performance-wiki)负责维护。\n\n## 项目特点\n\n1. **轻量级**， Tape 实现过程中没有使用 SDK，直接使用 gRPC 向 Fabric 节点发送和接收请求；\n2. **易操作**，通过简单的配置文件和命令即可快速启动测试；\n3. **结果准确**，Tape 直接使用 gRPC 发送交易，并且对交易和区块处理的不同阶段单独拆分，使用协程及通道缓存的方式并行处理，大幅度提升了 Tape 自身的处理效率，从而可以准确的测试出 Fabric 的真实性能。\n4. **参考标准** 其设计和功能参考[性能测试白皮书](https://github.com/Hyperledger-TWGC/fabric-performance-wiki/blob/master/performance-whitepaper.md)。\n\nTape由负载生成器客户端和观察者客户端组成。因此Tape仅可以用来对已经完成部署的Fabric网络进行测试。\n- 负载生成器客户端\n  - 直接使用了GRPC链接到被测网络而不使用任何SDK。因此避免了connection profile的配置， 减少了SDK的其他功能，如服务发现，可能带来的性能损耗。\n- 观察者客户端会观察在多个peer节点上的提交，但不会进行资源的实时监控。\n\n## 文档索引\n\n如果你想快速使用 Tape 测试 TPS，请参考[快速开始](docs/zh/gettingstarted.md)；\n\n如果你想了解配置文件中各项参数的具体含义，请参考[配置文件说明](docs/zh/configfile.md)；\n\n如果你想详细了解 Tape 工作流程，请参考[工作流程](docs/zh/workflow.md)；\n\n如果你在使用过程中遇到了问题请参考[FAQ](https://github.com/Hyperledger-TWGC/tape/wiki/FAQ)，如果 FAQ 还不能解决你的问题，请在 github 中提 issue，或者发邮件咨询项目维护者。\n\n\n## [如何贡献](CONTRIBUTING.md)\n\n## [维护者信息](MAINTAINERS.md)\n\n## 使用许可\n\nTape 遵守 [Apache 2.0 开源许可](LICENSE)。\n\n## Credits\nIcons made by \u003ca href=\"https://www.flaticon.com/authors/good-ware\" title=\"Good Ware\"\u003eGood Ware\u003c/a\u003e from \u003ca href=\"https://www.flaticon.com/\" title=\"Flaticon\"\u003ewww.flaticon.com\u003c/a\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperledger-twgc%2Ftape","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyperledger-twgc%2Ftape","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperledger-twgc%2Ftape/lists"}