{"id":33178962,"url":"https://github.com/zrbcool/pepper-metrics","last_synced_at":"2025-11-20T21:03:04.687Z","repository":{"id":35085792,"uuid":"197136394","full_name":"zrbcool/pepper-metrics","owner":"zrbcool","description":"pepper metrics is a tool, it can helps you collect runtime performance use RED method, and then output as log / timeseries data, by default it use prometheus as datasource, grafana as UI","archived":false,"fork":false,"pushed_at":"2023-03-08T17:27:53.000Z","size":823,"stargazers_count":175,"open_issues_count":3,"forks_count":44,"subscribers_count":12,"default_branch":"master","last_synced_at":"2023-11-07T18:48:18.757Z","etag":null,"topics":["dubbo","grafana","jedis","mybatis","perf","performance","profile","prometheus","servlet"],"latest_commit_sha":null,"homepage":"http://blog.zrbcool.top/","language":"Java","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/zrbcool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-16T06:44:58.000Z","updated_at":"2023-10-25T01:44:33.000Z","dependencies_parsed_at":"2023-01-15T13:32:09.941Z","dependency_job_id":null,"html_url":"https://github.com/zrbcool/pepper-metrics","commit_stats":null,"previous_names":[],"tags_count":14,"template":null,"template_full_name":null,"purl":"pkg:github/zrbcool/pepper-metrics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrbcool%2Fpepper-metrics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrbcool%2Fpepper-metrics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrbcool%2Fpepper-metrics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrbcool%2Fpepper-metrics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zrbcool","download_url":"https://codeload.github.com/zrbcool/pepper-metrics/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrbcool%2Fpepper-metrics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285511775,"owners_count":27184237,"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","status":"online","status_checked_at":"2025-11-20T02:00:05.334Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["dubbo","grafana","jedis","mybatis","perf","performance","profile","prometheus","servlet"],"created_at":"2025-11-16T03:00:36.817Z","updated_at":"2025-11-20T21:03:04.669Z","avatar_url":"https://github.com/zrbcool.png","language":"Java","funding_links":[],"categories":["指标库"],"sub_categories":[],"readme":"# Pepper Metrics Project  \n![GitHub stars](https://img.shields.io/github/stars/zrbcool/pepper-metrics.svg?style=social)\n![GitHub followers](https://img.shields.io/github/followers/zrbcool.svg?style=social)\n\n## Overview\nPepper Metrics基于[RED](https://grafana.com/blog/2018/08/02/the-red-method-how-to-instrument-your-services/)理论，即对每个服务\n（这里的服务特指进程中的某种调用，比如调用一次数据库查询）进行RED指标收集，并持久化到数据库，并通过dashboard进行展示，辅助进行性能趋势分析。\n\n## Support Us\n如果项目对你有帮助，请狠击**右上角**那个叫**Star**的按钮，如下图：  \n![](http://oss.zrbcool.top/picgo/give-us-star.png)  \n  \n或者觉得我们有很多不足，请狠击**Issues**然后留下你的问题，我们会第一时间回复\n## Document / WIKI\nhttps://github.com/zrbcool/pepper-metrics/wiki\n## Features\n- 对Jedis/JedisCluster操作进行性能收集分析\n- 对Http请求进行性能分析\n- 对Mybatis的数据库操作进行性能分析\n- 对Motan/Dubbo的RPC调用进行性能分析（支持调用方及服务方）\n- 对多种时序数据库数据源的支持，目前默认为Prometheus\n- 开箱即用的Grafana Dashboard，方便对历史趋势进行分析\n- 基于SPI的可扩展架构，非常容易开发插件支持更多的开源组件\n\n## Who use\n酷划在线成立于2014年，是国内激励广告行业的领军者。酷划致力于打造一个用户、广告主、平台三方共赢的激励广告生态体系，旗下产品“酷划锁屏”“淘新闻”分别为锁屏、资讯行业的领跑者。  \n[![](docs/logos/coohua-logo.png)](https://www.coohua.com/) [![](docs/logos/taonews-logo.png)](https://www.coohua.com/)\n\n## Quickly Run A Demo Within 10 minutes\n请参考独立项目：[https://github.com/zrbcool/pepper-metrics-demo](https://github.com/zrbcool/pepper-metrics-demo)    \n线上Demo：[http://blog.zrbcool.top/](http://blog.zrbcool.top/)  \n\n\n## Quick Start  \n以Mybatis集成为例，更多其他请参考：[User Guide](https://github.com/zrbcool/pepper-metrics/wiki/ZH-User-Guide#samples)  \n- 增加maven依赖\n```xml\n\u003cdependencies\u003e\n    \u003c!-- pepper metrics dependencies --\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003etop.zrbcool\u003c/groupId\u003e\n        \u003cartifactId\u003epepper-metrics-mybatis\u003c/artifactId\u003e\n        \u003cversion\u003e1.0.11\u003c/version\u003e\n    \u003c/dependency\u003e\n    \u003c!-- pepper-metrics datasource use prometheus by default --\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003etop.zrbcool\u003c/groupId\u003e\n        \u003cartifactId\u003epepper-metrics-ds-prometheus\u003c/artifactId\u003e\n        \u003cversion\u003e1.0.11\u003c/version\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n- 配置Pepper Metrics定制的Mybatis插件使集成生效\n```xml\n\u003cconfiguration\u003e\n    \u003ctypeAliases\u003e\n        ...\n    \u003c/typeAliases\u003e\n    \u003c!-- 加入如下配置 --\u003e\n    \u003cplugins\u003e\n        \u003cplugin interceptor=\"com.pepper.metrics.integration.mybatis.MybatisProfilerPlugin\" /\u003e\n    \u003c/plugins\u003e\n    \u003cmappers\u003e\n        ...\n    \u003c/mappers\u003e\n\u003c/configuration\u003e\n```\n- 日志输出效果：\n```bash\n18:27:28 [perf-mybatis:20190822182728] ---------------------------------------------------------------------------------------------------------------------------------------------------------\n18:27:28 [perf-mybatis:20190822182728] | Metrics                                                                     Concurrent Count(Err/Sum)   P90(ms)   P99(ms)  P999(ms)   Max(ms)     Qps | \n18:27:28 [perf-mybatis:20190822182728] | com.pepper.metrics.sample.mybatis.mapper.HotelMapper.selectByCityId                  0         0/1950       0.6       1.4       2.5       3.5    32.5 | \n18:27:28 [perf-mybatis:20190822182728] | sample.mybatis.mapper.CityMapper.selectCityById                                      0         0/1950       0.8       2.4      56.6      56.6    32.5 | \n18:27:28 [perf-mybatis:20190822182728] ---------------------------------------------------------------------------------------------------------------------------------------------------------\n```\n- Prometheus指标输出效果（默认的实现，可以修改为其他数据库）\n```bash\n ✗ curl localhost:9146/metrics\n# HELP app_mapper_summary_seconds_max  \n# TYPE app_mapper_summary_seconds_max gauge\napp_mapper_summary_seconds_max{class=\"com/pepper/metrics/sample/mybatis/mapper/CityMapper.xml\",operation=\"sample.mybatis.mapper.CityMapper.selectCityById\",} 0.051129036\napp_mapper_summary_seconds_max{class=\"com/pepper/metrics/sample/mybatis/mapper/HotelMapper.xml\",operation=\"com.pepper.metrics.sample.mybatis.mapper.HotelMapper.selectByCityId\",} 0.011559611\n# HELP app_mapper_summary_seconds  \n# TYPE app_mapper_summary_seconds summary\napp_mapper_summary_seconds{class=\"com/pepper/metrics/sample/mybatis/mapper/CityMapper.xml\",operation=\"sample.mybatis.mapper.CityMapper.selectCityById\",quantile=\"0.9\",} 5.5296E-4\napp_mapper_summary_seconds{class=\"com/pepper/metrics/sample/mybatis/mapper/CityMapper.xml\",operation=\"sample.mybatis.mapper.CityMapper.selectCityById\",quantile=\"0.99\",} 0.001765376\napp_mapper_summary_seconds{class=\"com/pepper/metrics/sample/mybatis/mapper/CityMapper.xml\",operation=\"sample.mybatis.mapper.CityMapper.selectCityById\",quantile=\"0.999\",} 0.052424704\napp_mapper_summary_seconds{class=\"com/pepper/metrics/sample/mybatis/mapper/CityMapper.xml\",operation=\"sample.mybatis.mapper.CityMapper.selectCityById\",quantile=\"0.99999\",} 0.052424704\napp_mapper_summary_seconds_count{class=\"com/pepper/metrics/sample/mybatis/mapper/CityMapper.xml\",operation=\"sample.mybatis.mapper.CityMapper.selectCityById\",} 3040.0\napp_mapper_summary_seconds_sum{class=\"com/pepper/metrics/sample/mybatis/mapper/CityMapper.xml\",operation=\"sample.mybatis.mapper.CityMapper.selectCityById\",} 1.45711331\napp_mapper_summary_seconds{class=\"com/pepper/metrics/sample/mybatis/mapper/HotelMapper.xml\",operation=\"com.pepper.metrics.sample.mybatis.mapper.HotelMapper.selectByCityId\",quantile=\"0.9\",} 4.4032E-4\napp_mapper_summary_seconds{class=\"com/pepper/metrics/sample/mybatis/mapper/HotelMapper.xml\",operation=\"com.pepper.metrics.sample.mybatis.mapper.HotelMapper.selectByCityId\",quantile=\"0.99\",} 0.001308672\napp_mapper_summary_seconds{class=\"com/pepper/metrics/sample/mybatis/mapper/HotelMapper.xml\",operation=\"com.pepper.metrics.sample.mybatis.mapper.HotelMapper.selectByCityId\",quantile=\"0.999\",} 0.002881536\napp_mapper_summary_seconds{class=\"com/pepper/metrics/sample/mybatis/mapper/HotelMapper.xml\",operation=\"com.pepper.metrics.sample.mybatis.mapper.HotelMapper.selectByCityId\",quantile=\"0.99999\",} 0.012056576\napp_mapper_summary_seconds_count{class=\"com/pepper/metrics/sample/mybatis/mapper/HotelMapper.xml\",operation=\"com.pepper.metrics.sample.mybatis.mapper.HotelMapper.selectByCityId\",} 3040.0\napp_mapper_summary_seconds_sum{class=\"com/pepper/metrics/sample/mybatis/mapper/HotelMapper.xml\",operation=\"com.pepper.metrics.sample.mybatis.mapper.HotelMapper.selectByCityId\",} 0.772147736\n# HELP app_mapper_concurrent_gauge  \n# TYPE app_mapper_concurrent_gauge gauge\napp_mapper_concurrent_gauge{class=\"com/pepper/metrics/sample/mybatis/mapper/CityMapper.xml\",operation=\"sample.mybatis.mapper.CityMapper.selectCityById\",} 0.0\napp_mapper_concurrent_gauge{class=\"com/pepper/metrics/sample/mybatis/mapper/HotelMapper.xml\",operation=\"com.pepper.metrics.sample.mybatis.mapper.HotelMapper.selectByCityId\",} 0.0\n\n```\n### Maven dependency\n以Mybatis为例，更多其他请参考：[User Guide](https://github.com/zrbcool/pepper-metrics/wiki/ZH-User-Guide#samples)  \n```xml\n\u003cdependencies\u003e\n    \u003c!-- pepper metrics dependencies --\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003etop.zrbcool\u003c/groupId\u003e\n        \u003cartifactId\u003epepper-metrics-mybatis\u003c/artifactId\u003e\n        \u003cversion\u003e1.0.11\u003c/version\u003e\n    \u003c/dependency\u003e\n    \u003c!-- pepper-metrics datasource use prometheus by default --\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003etop.zrbcool\u003c/groupId\u003e\n        \u003cartifactId\u003epepper-metrics-ds-prometheus\u003c/artifactId\u003e\n        \u003cversion\u003e1.0.11\u003c/version\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n## Building  \n```bash\nmvn clean package install -DskipTests\n```\n\n## Contact  \n* Bugs: [Issues](https://github.com/zrbcool/pepper-metrics/issues/new?template=dubbo-issue-report-template.md)\n* Plan \u0026 Progress: [Trello](https://trello.com/b/WfTQtssJ/pepper-metrics)\n* Dingtalk chat group [Link](https://qr.dingtalk.com/action/joingroup?code=v1,k1,U4KKXEbTFBpuMbQMIQNij2IYszit+yktsAJh/9NjLFM=\u0026_dt_no_comment=1\u0026origin=11):  \n![](http://oss.zrbcool.top/picgo/pepper-metrics-dingtalk-qrcode.png) \n* Developer\n    * [@zrbcool](https://github.com/zrbcool)\n    * [@Lord-X](https://github.com/Lord-X)\n\n## Special Thanks\n感谢作者所在公司[酷划在线](https://www.coohua.com/)给作者提供开放的技术环境，并充分支持回馈开源社区项目。\n\n# License\nPepper Metrics is released under the [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzrbcool%2Fpepper-metrics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzrbcool%2Fpepper-metrics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzrbcool%2Fpepper-metrics/lists"}