返回市场
猎户座-mcp

猎户座-mcp

作者:jtaleric2 星标更新:2025-11-18

项目介绍

Orion MCP

License Python Version
Orion MCP 是一个用于性能回归分析的 Model Context Protocol (MCP) 服务器,由 cloud-bulldozer/orion 库提供支持。


主要特性

  • 回归检测 – 自动检测 OpenShift 和 Kubernetes 集群中的性能回归。
  • 交互式 MCP API – 提供一组可通过 HTTP 或其他 MCP 代理使用的可组合工具和资源。
  • 可视化报告 – 生成可用于出版的趋势图、多版本比较图和指标相关性图(PNG/JPEG)。
  • 容器优先 – 包含一个轻量级的 OCI 镜像和一个示例 OpenShift 部署清单。

目录

  1. 开始使用
  2. 快速开始
  3. 可用工具
  4. 部署
  5. 开发
  6. 贡献
  7. 许可证

开始使用

先决条件

  • Python 3.11 或更高版本
  • 一个带有 Orion 指数基准结果的 OpenSearch(或 Elasticsearch ≥7.17)端点
  • PodmanDocker(可选 – 用于容器化执行)

安装(虚拟环境)

# 克隆仓库
$ 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 的性能指标与周期性基线性能进行比较来识别潜在的回归。

工作原理

  1. 基线收集:在指定的回溯期内收集 OpenShift 版本的周期性性能数据
  2. PR 分析:针对目标拉取请求运行性能测试
  3. 比较:使用 10% 阈值 将 PR 性能与周期性基线进行比较
  4. 多配置测试:跨多个 Orion 配置进行全面覆盖测试

支持的配置

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 - 自定义资源定义缩放测试

结果解释

  • periodic_avg:回溯期内平均的基线性能指标
  • pull:特定 PR 测试运行的性能指标
  • 回归检测:使用 10% 阈值比较值:
    • (pull_value - periodic_avg) / periodic_avg > 0.10 表示潜在回归
    • ±10% 内的值被认为是正常波动

与 AI/LLM 的集成

响应格式优化了 AI 分析。LLM 可以:

  1. 自动检测回归 通过比较 periodic_avg 和 pull 指标
  2. 应用 10% 阈值 来确定显著性
  3. 生成易于理解的报告 突出显示关注的变化
  4. 提供操作洞察 关于哪些指标退化以及退化的程度

文档

完整的文档:

示例 AI 分析提示

分析此 PR 性能数据,并使用 10% 阈值识别任何回归:
[粘贴 JSON 响应]

对于每个显示 >10% 退化的指标,请解释:
1. 指标的名称及其测量内容
2. 基线与 PR 值
3. 百分比变化
4. 对用户的影响

部署

容器镜像

podman build -t quay.io/YOUR_ORG/orion-mcp:latest .

OpenShift

提供了一个生产就绪的 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 .

贡献

非常欢迎拉取请求!请确保您已阅读并遵守 行为准则

  1. 分叉仓库
  2. 为您的功能或错误修复创建一个新的分支
  3. 进行更改并添加测试(如适用)
  4. 提交一个清晰描述您更改的拉取请求

许可证

Orion-MCP 在 Apache 2.0 许可证下发布。查看 LICENSE 文件获取全文。