# 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
[](#contributors-)
[](https://github.com/thoughtworks/metrik/issues)
[](https://github.com/thoughtworks/metrik/blob/main/LICENSE.txt)
[](https://github.com/thoughtworks/metrik/actions/workflows/backend_test.yaml)
[](https://github.com/thoughtworks/metrik/actions/workflows/frontend_test.yaml)
[](https://github.com/thoughtworks/metrik/actions/workflows/build_release_docker_image.yaml)
[](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)):
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!