开源代码仓库的 star、fork、commit、pull request、issue 等相关数据统计并可视化展示
352
开源代码仓库的 star、fork、commit、pull request、issue 等相关数据,是分析和了解代码仓库的客观依据,这些数据在一定程度上反应了开源项目的受欢迎程度、活跃度、影响力等。
RepoStats 致力于解决的痛点问题是:
主要原理示意图如下:

$ docker run --name {some_container_name} -v {path_to_config_file}:/app/repostats.ini -p {local_port}:9103 -d baratsemet/repostats:latest
-v {path_to_config_file}:/app/repostats.ini镜像启动时,会读取 app/repostats.ini 文件,并试图从中获取必要的系统配置参数,其内容请参照:
[repostats]
debug = false
admin_port = 9103
[postgres]
host = localhost
port = 15432
user = postgres
password = DePmoG_123
database = repostats
max_open_conn = 20
max_idle_conn = 5
[grafana]
host = localhost
port = 13000
user = admin
password = admin
-p {local_port}:9103镜像启动时,会开启容器 9103 端口服务,请映射必要的本地端口
数据库说明:
PostgreSQL 数据库中创建名称 repostats 的数据库sql/db.sql、sql/gitee.sql、sql/roles.sql 创建必要的表及视图等RepoStats 启动成功之后,请使用帐号密码登录 Admin 管理后台。管理后台默认的账户名密码信息如下:
repostats
-2aDzm=0(ln_9^1
在开始爬取 Gitee 数据并向 Grafana 推送相关统计结果之前,需要对其进行一定的配置:
Gitee 配置 页面根据提示配置必要的 Oauth 参数 从而保证能够正常获取 Gitee 相关数据Grafana 配置 页面中根据提示配置必要的 Grafana 参数 从而确保能够与 Grafana 进行通信Test & Save 才能保证数据源正常 (这个问题暂时似乎是没办法处理的,后续会想办法处理)代码仓库列表 页面中,根据界面提示添加想要关注的代码仓库RepoStats 当前版本支持3大类共计21项统计数据可视化结果展示,这些统计数据不能表示一个开源项目的好与坏,仅从数据层面对开源代码仓库进行一定的展示。这些数据指标分类以下三类:
统计汇总 分类中展示的数据,与时间无关,它们代表的是所有项目(Gitee Overview)后者是某个指定的项目的汇总数据结果,其中包括:
仓库统计
当前抓取的仓库总数量、总 Star 人数、总 Fork 人数、总 Watch 人数
基本信息
当前仓库的 Star 人数、Fork 人数、Watch 人数
Commit 统计
Commit 总数、Commit Author 总数(去重)、Commit Committer 总数(去重)
Issue 统计
Issue 综述、Issue 总人数、打开状态的 Issue 总数、已关闭状态的 Issue 总数、已拒绝状态的 Issue 总数、处理中的 Issue 总数
Issue 状态图
已关闭、已拒绝、打开、处理中 状态的 Issue 占比示意图
Pull Request 统计
Pull Request 总数、Pull Request 人数、打开状态的 Pull Request 总数、已合并状态的 Pull Request 总数、已关闭状态的 Pull Request 总数
Pull Request 状态图
已合并、打开、已关闭 的 Pull Reqeust 占比示意图
Issue 处理时间分析
所有 Issue 从 created_at 到 finished_at 的最小耗时、平均耗时、最大耗时,单位:小时
Pull Request 合并时间分析
所有 可合并的 Pull Request 从 created_at 到 merged_at 的最小耗时、平均耗时、最大耗时,单位:小时
动态趋势 分类中展示的数据,是 某个时间段内 数据量的动态变化过程,可以通过 Grafana 面板右上角的时间选项查看指定时间范围内的变化趋势,其中包括:
Star 趋势图
指定时间范围内,关注仓库的总人数变化趋势
Commit 趋势图
指定时间范围内,Commit 提交次数的变化趋势
Issue 趋势图
指定时间范围内,新增 Issue 数的变化趋势
Pull Request 趋势图 指定时间范围内,新增 Pull Request 数的变化趋势
Pull Request 合并时间分析
指定时间范围内,可合并的 Pull Request 从 created_at 到 merged_at 的最小耗时、平均耗时、最大耗时,单位:小时
Issue 处理时间分析
指定时间范围内,新增的 Issue 从 created_at 到 finished_at 的最小耗时、平均耗时、最大耗时,单位:小时
数据列表 分类中展示的数据,与时间无关,它们代表的是所有项目(Gitee Overview)后者是某个指定的项目的汇总数据结果,其中包括:
仓库列表
所有仓库的明细列表
Commit 列表
Commit 明细列表
Issue 列表 Issue 明细列表
Pull Request 列表
Pull Request 明细列表
Commit Author 排行
Commit Auhtor 次数排行
Commit Committer 排行 Commit Committer 次数排行
RepoStats 启动之后,默认情况下每隔 4小时 抓取一次数据并更新 Grafana 视图面板
所有仓库总视图

指定某个仓库的视图

Admin 后端管理界面

Content type
Image
Digest
Size
11.3 MB
Last updated
over 4 years ago
docker pull baratsemet/repostats