Orion MCP 是一个用于性能回归分析的 Model Context Protocol (MCP) 服务器,由 cloud-bulldozer/orion 库提供支持。
# 克隆仓库
$ git clone https://github.com/YOUR_ORG/orion-mcp.git && cd orion-mcp
# 创建并激活虚拟环境
$ python3.11 -m venv .venv
$ source .venv/bin/activate
# 安装 Python 依赖项
$ pip install -r requirements.txt
设置数据源端点并启动本地服务器:
export ES_SERVER="https://opensearch.example.com:9200"
python orion_mcp.py # 默认监听 0.0.0.0:3030
| 工具 | 描述 | 默认参数 |
|---|---|---|
get_data_source | 返回配置的 OpenSearch URL | 无 |
get_orion_configs | 列出可用的 Orion 配置文件 | 无 |
get_orion_metrics | 列出按 Orion 配置分组的指标 | 无 |
openshift_report_on | 为一个或多个 OCP 版本生成趋势线 | versions="4.19", lookback="15", metric="podReadyLatency_P99", config="small-scale-udn-l3.yaml" |
openshift_report_on_pr | 新功能 分析特定拉取请求的性能影响 | version="4.20", lookback="15", organization="openshift", repository="ovn-kubernetes", pull_request="2841" |
has_openshift_regressed | 扫描所有配置以查找变化点 | version="4.19", lookback="15" |
metrics_correlation | 关联两个指标并返回散点图 | metric1="podReadyLatency_P99", metric2="ovnCPU_avg", config="trt-external-payload-cluster-density.yaml", version="4.19", lookback="15" |
openshift_report_on_pr 工具提供了针对 GitHub 拉取请求的 自动性能回归检测。此功能通过将特定 PR 的性能指标与周期性基线性能进行比较来识别潜在的回归。
PR 分析运行以下关键性能测试配置:
trt-external-payload-cluster-density.yaml - 集群密度和 Pod 缩放测试trt-external-payload-node-density.yaml - 节点级别性能和资源利用率trt-external-payload-node-density-cni.yaml - CNI 特定网络性能trt-外部负载-crd-scale.yaml - 自定义资源定义缩放测试(pull_value - periodic_avg) / periodic_avg > 0.10 表示潜在回归响应格式优化了 AI 分析。LLM 可以:
完整的文档:
分析此 PR 性能数据,并使用 10% 阈值识别任何回归:
[粘贴 JSON 响应]
对于每个显示 >10% 退化的指标,请解释:
1. 指标的名称及其测量内容
2. 基线与 PR 值
3. 百分比变化
4. 对用户的影响
podman build -t quay.io/YOUR_ORG/orion-mcp:latest .
提供了一个生产就绪的 openshift-deployment.yml:
# 如需更新 ES_SERVER 环境变量,则应用
oc apply -f openshift-deployment.yml
# 验证
oc get pods -l app.kubernetes.io/name=orion-mcp
使用 OpenShift 路由 暴露服务,并将您的 MCP 客户端指向 http://<host>:3030。
# 运行 linters 和测试
flake8
pytest
# 使用 black 和 isort 自动格式化
black . && isort .
非常欢迎拉取请求!请确保您已阅读并遵守 行为准则。
Orion-MCP 在 Apache 2.0 许可证下发布。查看 LICENSE 文件获取全文。