# metrik **Repository Path**: thoughtworks/metrik ## Basic Information - **Project Name**: metrik - **Description**: 自动化 DevOps 度量工具,内建 Dashboard。可以从持续集成(Jenkins、Bamboo等)、持续交付流水线中提取数据,分析四项关键 DevOps 度量指标:部署频率、变更前置时间、服务恢复时间、变更失败率。 - **Primary Language**: Kotlin - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 41 - **Forks**: 14 - **Created**: 2021-06-03 - **Last Updated**: 2025-06-17 ## Categories & Tags **Categories**: DevOps **Tags**: None ## README [![All Contributors](https://img.shields.io/badge/all_contributors-26-orange.svg?style=flat-square)](#contributors-) [![Issues](https://img.shields.io/github/issues-raw/thoughtworks/metrik.svg?style=flat)](https://github.com/thoughtworks/metrik/issues) [![Licnece](https://img.shields.io/github/license/thoughtworks/metrik.svg?style=flat)](https://github.com/thoughtworks/metrik/blob/main/LICENSE.txt) [![Backend test](https://github.com/thoughtworks/metrik/actions/workflows/backend_test.yaml/badge.svg)](https://github.com/thoughtworks/metrik/actions/workflows/backend_test.yaml) [![Frontend test](https://github.com/thoughtworks/metrik/actions/workflows/frontend_test.yaml/badge.svg)](https://github.com/thoughtworks/metrik/actions/workflows/frontend_test.yaml) [![Publish release Docker image](https://github.com/thoughtworks/metrik/actions/workflows/build_release_docker_image.yaml/badge.svg)](https://github.com/thoughtworks/metrik/actions/workflows/build_release_docker_image.yaml) [![Release](https://img.shields.io/github/v/release/thoughtworks/metrik.svg?include_prereleases&style=flat)](https://github.com/thoughtworks/metrik/releases) *多语言支持:*[English](https://github.com/thoughtworks/metrik), [简体中文](https://github.com/thoughtworks/metrik/blob/main/README-CH.md)

由ThoughtWorks Inc SEA团队维护

目录
## 关于本项目 对于想要衡量其软件交付和运营(SDO)效能的开发团队来说,本项目是一个帮助他们从CD管道收集数据并以友好的可视化方式展示关键指标的工具。 **关键差异化因素:** * 单页配置,简单易用. * 具有跨多个CD平台工作的能力. * 用户可以自行选择要分析的环境(是的,生产环境不是唯一重要的环境)。 [不知道什么是四个关键指标?](https://www.thoughtworks.com/radar/techniques/four-key-metrics) ### 集成路线 产品现在支持/计划支持的CD工具清单 - [x] Jenkins - [x] Bamboo - [ ] Github Actions - [ ] CircleCI ...以及更多即将集成的产品 ## 用法 按照以下两个步骤来运行该工具,并测量你的项目的四个关键指标。 ### 安装和运行 该产品被发布到ECR Docker仓库`public.ecr.aws/j2s5d3z8/4-key-metrics`。请按照以下步骤操作。 1. 确保[Docker](https://www.docker.com)已经安装在你的操作系统上。 2. 在发布页中查找可用的[已发布版本](https://github.com/thoughtworks/metrik/releases)。 或者,你可以从我们的[镜像库]中找到所有的历史版本(https://gallery.ecr.aws/j2s5d3z8/4-key-metrics) 3. 通过以下命令在本地运行该容器: ``` bash docker run -d -p 80:80 --name metrik public.ecr.aws/j2s5d3z8/4-key-metrics:${release_version} ``` *⚠️ 我们使用80端口来访问该应用程序。如果80端口被你机器上运行的其他应用程序占用,你可以切换到任何其他端口。 *⚠️ `latest`标签匹配该仓库的最新版本。因此,使用 public.ecr.aws/j2s5d3z8/4-key-metrics:latest 或 public.ecr.aws/j2s5d3z8/4-key-metrics 将确保你运行的是这个镜像的最新版本*。 如果你想使用一个特定的版本标签,请记住版本名称中没有 "v"。例如,public.ecr.aws/j2s5d3z8/4-key-metrics:1.1.10 ### 配置 容器在你的机器上运行后。进入你最喜欢的浏览器并打开该应用程序。如果在本地运行,那就是`http://localhost:80/`。 1. 开始配置:
2. 随后每个关键指标的图表将出现在主页面上:
3. 如果你想把它放在大屏幕上,还可以全屏观看:
### 高级用法 如果你想保留4-key-metrics的数据,以避免在删除容器时丢失任何数据,你可以将数据库文件夹`/data/db`挂出。 可以把数据库文件夹`/data/db`挂载出来。如果你挂载日志文件夹`/app/logs`,那么日志也会被保存。如下面的例子所示。 ``` bash docker run -d -p 80:80 --name metrik -v "/path/to/local/directory:/data/db" -v "/path/to/another/directory:/app/logs" public.ecr.aws/j2s5d3z8/4-key-metrics:${release_version} ``` ## 算法 [详细算法请参考Wiki页面](https://github.com/thoughtworks/metrik/wiki) ## 贡献 贡献是使开源社区成为一个学习、激励和创造的神奇场所的原因。我们真诚的感谢你所做的任何类型的贡献. 请在[这里](https://github.com/thoughtworks/metrik/blob/main/CONTRIBUTING.md)查看我们的贡献者指南。 ## 快速开始 该代码库由三个主要部分组成:"前端"、"后端 "和 "CI"。 * 前端应用由以下技术栈构建: * TypeScript * ReactJS * ReCharts 可以在[前端文件夹](https://github.com/thoughtworks/metrik/tree/main/frontend)找到更多细节。 * 后端程序由以下技术栈构建: * Kotlin * Spring Boot Web * MongoDB 可以在[后端文件夹](https://github.com/thoughtworks/metrik/tree/main/backend)找到更多细节。 * 构建/打包的脚本在[CI文件夹](https://github.com/thoughtworks/metrik/tree/main/ci)下。 ## License 在MIT许可下发布。更多信息见[LICENSE](https://github.com/thoughtworks/metrik/blob/main/LICENSE.txt) ## Contributors ✨ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Zhe ZHAO

💻

Hao Yang

💻

Jason Zhang

🚇

橘子小睿

💻

HUANG Binfang

💻

HeZhuConnie

💻

Mengqiu PENG

💻

Kiky

💻

Rong

💻

Piaopiao-TW

💻

zydxt

💻

ifeelcold1824

💻

快乐心情

💻

Taiyu Guo

💻

sasasakuna

💻

Chen

💻

ivy-pugai

💻

ZengXiaoXing

💻

HeyWen

💻

yong-wang1

💻

Paula Ferreira

🚇

twpei

💻

Henning S.

💻

Prateek

💻

Karuppiah Natarajan

💻

Fabio Formosa

📖
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!