从GitLab仓库中的编程语言生成Prometheus数据源的实用工具
项目描述
gitlab-languages
使用GitLab语言API为您GitLab实例生成Prometheus数据源文本文件的实用工具
从PyPI安装
-
作为CLI从PyPI安装
pip install -U gitlab-languages
-
运行程序
gitlab-languages --cache cache.json --args owned=True # more info about usage: see below
从源安装
-
安装python依赖项
poetry install
-
设置所需的环境变量
export GITLAB_TOKEN=<SOME_TOKEN_WITH_API_SCOPE> export GITLAB_URL=https://gitlab.com # optional, defaults to https://gitlab.com # optional: export WORKER_COUNT=24
-
运行工具
gitlab-languages
用法
usage: gitlab_languages [-h] [--project_limit PROJECT_LIMIT]
[--args ARGS [ARGS ...]]
[--groups GROUPS [GROUPS ...]]
[--ignore_groups IGNORE_GROUPS [IGNORE_GROUPS ...]]
[--cache CACHE] [-o OUTPUT]
optional arguments:
-h, --help show this help message and exit
--project_limit PROJECT_LIMIT
Set project limit to scan
--args ARGS [ARGS ...]
Provide custom args to the GitLab API
--groups GROUPS [GROUPS ...]
Scan only certain groups
--ignore_groups IGNORE_GROUPS [IGNORE_GROUPS ...]
Ignore certain groups and their projects
--cache CACHE Cache file to use
-o OUTPUT, --output OUTPUT
Location of the metrics file output
附加参数
您可以为直接传递给python-gitlab库或GitLab API端点的附加参数进行指定。示例
gitlab-languages --args owned=True
更多关于可用附加参数的信息,请在此处查找
示例输出
输出将类似于以下内容
metrics.txt
# HELP languages_percent Languages scanned in percent
# TYPE languages_percent gauge
languages_percent{language="Java"} 11.73
languages_percent{language="CSS"} 1.97
languages_percent{language="TypeScript"} 3.5
languages_percent{language="HTML"} 6.14
languages_percent{language="JavaScript"} 17.16
languages_percent{language="Python"} 10.4
languages_percent{language="Modelica"} 3.7
languages_percent{language="TeX"} 1.64
languages_percent{language="Shell"} 6.35
languages_percent{language="Batchfile"} 0.76
languages_percent{language="HCL"} 7.15
languages_percent{language="BitBake"} 0.56
languages_percent{language="C"} 5.25
languages_percent{language="C++"} 0.72
languages_percent{language="Matlab"} 2.77
languages_percent{language="TXL"} 0.05
languages_percent{language="Objective-C"} 1.48
languages_percent{language="XSLT"} 1.68
languages_percent{language="Perl"} 1.71
languages_percent{language="Ruby"} 0.03
languages_percent{language="C#"} 10.3
languages_percent{language="PowerShell"} 0.11
languages_percent{language="Pascal"} 0.01
languages_percent{language="ASP"} 0.0
languages_percent{language="PLpgSQL"} 0.0
languages_percent{language="Makefile"} 2.06
languages_percent{language="SQLPL"} 0.0
languages_percent{language="Puppet"} 0.0
languages_percent{language="Groovy"} 2.56
languages_percent{language="M4"} 0.01
languages_percent{language="Roff"} 0.15
languages_percent{language="CMake"} 0.01
languages_percent{language="NSIS"} 0.01
languages_percent{language="PHP"} 0.0
languages_percent{language="Go"} 0.0
languages_percent{language="Smalltalk"} 0.02
languages_percent{language="Visual Basic"} 0.0
languages_percent{language="Smarty"} 0.0
# HELP languages_scanned_total Total languages scanned
# TYPE languages_scanned_total gauge
languages_scanned_total 38.0
# HELP projects_scanned_total Total projects scanned
# TYPE projects_scanned_total gauge
projects_scanned_total 61.0
# HELP projects_skipped_total Total projects skipped
# TYPE projects_skipped_total gauge
projects_skipped_total 0.0
# HELP projects_no_language_total Projects without language detected
# TYPE projects_no_language_total gauge
projects_no_language_total 39.0
# HELP groups_scanned_total Total groups scanned
# TYPE groups_scanned_total gauge
groups_scanned_total 0.0
通过GitLab CI运行脚本并安排计划,然后将metrics.txt文件导出为GitLab页面。然后您可以将其添加到您的Prometheus实例中作为抓取源。
项目详情
关闭
gitlab_languages-2.4.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e3ea0bbd2cb4371513caf40c01e535011f726ae339cf2d8397a133abba78ba9f |
|
MD5 | 49ffdd5ebb5c66ee506d0539505d79a3 |
|
BLAKE2b-256 | 69d86546889aeaa7efb77623a548a8ccc4310a2de42b9a6c887ac6caa8d793ed |
关闭
gitlab_languages-2.4.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7b4f6e5fbdd8a6106c17a74dad9507a78d767efaba4a2ce7c6512f88bea7db7f |
|
MD5 | a0e3433a0101d60fe8dead7a3f5c8a6a |
|
BLAKE2b-256 | 572d17e73e2e6a467b39250b5f04d8376abd8fa018df17f6571452323c800d93 |