跳转到主要内容

未提供项目描述

项目描述

概述

MI项目从GitHub仓库收集数据。您可以使用它来收集存储在本地或Amazon S3云中的数据。对于个人使用,请参阅《<使用>》部分。

mi-scheduler一起,我们为请求的仓库和组织提供自动化数据提取管道,用于数据挖掘。此管道可以自定义安排,例如每日、每周等。

数据提取请求

要请求仓库或组织的数据提取,请在仓库中创建<数据提取>问题。请使用此链接 TODO

数据提取管道(图表)

MI管道易于理解,请参见下面的图表

                  +---------+
                  |ConfigMap|
                  +----+----+
                       |
            +--+-------+--------+--+
            |  |                |  |
            |  |  mi-scheduler  |  |
            |  |                |  |
            +------+---+---+-------+
                |   |   |   |    |
                |   |   |   |    |
                |   |   |   |    |
                | Argo Workflows |
                |   |   |   |    |
                |   |   |   |    |
+---------------v---v---v---v----v------------------+                                          +--------------------        +--------------------+
|                                                   |                                          |   Visualization   |        |   Recommendation   |
|  +---------+  +---------+            +---------+  |                                          +-------------------+        +--------------------+
|  |thoth/   |  |  AICoE  |            | your    |  |                                          |   Project Health  |        |   thoth            |
|  |  station|  |         |            |     org |  |                                          |    (dashboard)    |        |                    |
|  +---------+  +---------+            +---------+  |                                          |                   |        |                    |
|  |solver   |  |...      |            |your     |  |                                          +---------+---------+        +----------+---------+
|  |         |  |         |            |   repos |  |           thoth-station/mi                         ^                             ^
|  |amun     |  |...      | X X X X X  |         |  |     (Meta-information Indicators)                  |                             |
|  |         |  |         |            |         |  |                                                    +-------------+---------------+
|  |adviser  |  |...      |            |         |  |                                                                  |
|  |         |  |         |            |         |  |                                                                  |
|  |....     |  |...      |            |         |  |                                                +-----------------+-------------------+
|  |         |  |         |            |         |  |                                                |                                     |
|  +---------+  +---------+            +---------+  |                                                |       Knowledge Processsing         |
|                                                   |                                                |                                     |
+-----------------------+---------------------------+                                                +-----------------+-------------------+
GitHub repositories   |                                                                                              ^
                        |                 +--------------------------------------------------------+                   |
                        |                 |                                                        |                   |
                        |                 |      Entities Analysis   +------->      Knowledge      |                   |
                        +---------------->-+                                                      +--------------------+
                                          +---------+----------------+----------+------------------+
                                          |  Issues |  Pull Requests |  Readmes |  etc...........  |
                                          |         |                |          |                  |
                                          +---------+----------------+----------+------------------+

MI可以从GitHub中提取什么?

MI分析srcopsmetrics/pages/entities页面指定的实体。实体基本上是要检查的仓库元数据(例如问题或拉取请求),从中提取指定的功能并存储到dataframe中。

MI基本上围绕PyGitHub模块提供,以提供无心的数据提取,同时处理API速率限制和数据更新。

安装

pip

MI通过PyPI提供,因此您可以这样做

pip install srcopsmetrics

git

或者,您可以通过克隆仓库来安装srcopsmetrics

git clone https://github.com/thoth-station/mi.git

cd mi

pipenv install --dev

使用

设置

连接到GitHub

要从GitHub提取数据,必须配置访问令牌。要生成一个,请阅读

要使用该令牌与mi一起使用,将GITHUB_ACESS_TOKEN环境变量设置为令牌值,例如

export GITHUB_ACESS_TOKEN=<token_string>

GITHUB_ACESS_TOKEN=<token_string> python -m srcopsmetrics.cli ...

等等。

数据位置

要本地存储数据,请在调用CLI时使用-l,或在使用作为模块时设置is_local=True。

默认情况下,将尝试在Ceph上存储数据。要在Ceph上存储,您需要提供以下环境变量

  • S3_ENDPOINT_URL Ceph主机名

  • CEPH_BUCKET Ceph存储桶名称

  • CEPH_BUCKET_PREFIX Ceph 前缀

  • CEPH_KEY_ID Ceph 密钥 ID

  • CEPH_SECRET_KEY Ceph 密钥

有关 Ceph 存储的更多信息,请参阅此处

CLI

要查看所有可用命令及其描述,请使用

python -m srcopsmetrics.cli --help

以下是一些通用用法示例

本地获取存储库 PullRequest 数据

python -m srcopsmetrics.cli --create --is-local --repository foo_repo --entities PullRequest

相当于

python -m srcopsmetrics.cli -clr foo_repo -e PullRequest

本地获取组织 PR 数据

python -m srcopsmetrics.cli -clo foo_org -e PullRequest

本地获取多个存储库 PR 数据

python -m srcopsmetrics.cli -clr foo_repo,bar_repo -e PullRequest

本地获取多个实体数据

python -m srcopsmetrics.cli -clr foo_repo -e PullRequest,Issue,Commit

元信息实体数据

如何加载数据

指标

要了解更多关于从数据中提取的指标,请参阅元信息指标

如何贡献

随时欢迎打开新的问题或参与现有的问题!

自定义实体和指标

如果您想通过添加新的实体或指标来贡献,这些实体或指标将用于分析 GitHub 存储库,请随时打开一个问题并描述为什么您认为这个新的实体应该进行分析以及这样做的好处是什么,根据 thoth-station/mi 项目的目标

创建问题后,您可以等待 thoth-station 开发者的回复。请记住在您的 Pull Request 中引用该问题。

实现

查看模板实体以获取满足自定义实体实现的必要条件的要求。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分发

srcopsmetrics-2.12.0.tar.gz (56.2 kB 查看哈希值)

上传时间

构建分发

srcopsmetrics-2.12.0-py3-none-any.whl (88.4 kB 查看哈希值)

上传时间 Python 3

支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误记录StatusPageStatusPage状态页面