猎户座MCP
 ](https://www.python.org/downloads/)\ Orion MCP是一个模型上下文协议(MCP)服务器,用于性能回归分析,由 云推土机/猎户座 图书馆。
______________________________________________________________________
主要特点
- 回归检测 自动检测OpenShift和Kubernetes集群中的性能退化。
- 交互式MCP API –公开一组可组合的工具和资源,这些工具和资源可以通过HTTP或其他MCP代理使用。
- 可视化报告 –为趋势、多版本比较和指标相关性生成可发布的图表(PNG/JPEG)。
- 集装箱优先 –附带轻量级OCI映像和示例OpenShift部署清单。
______________________________________________________________________
目录
______________________________________________________________________
入门指南
先决条件
- python 3.11或更新版本
- 一 OpenSearch (或Elasticsearch≥7.17)具有Orion索引基准测试结果的端点
- 波德曼 或 码头工人 (可选——用于容器化执行)
安装(虚拟环境)
# Clone repository
$ git clone https://github.com/YOUR_ORG/orion-mcp.git && cd orion-mcp
# Create & activate a virtual environment
$ python3.11 -m venv .venv
$ source .venv/bin/activate
# Install Python dependencies
$ pip install -r requirements.txt______________________________________________________________________
快速开始
设置数据源终结点并在本地启动服务器:
export ES_SERVER="https://opensearch.example.com:9200"
python orion_mcp.py # listens on 0.0.0.0:3030 by default______________________________________________________________________
可用工具
| 工具 | 描述 | 默认参数 |
|---|---|---|
get_data_source | 返回已配置的OpenSearch URL | _无_ |
get_orion_configs | 列出可用的Orion配置文件 | _无_ |
get_orion_metrics | 列出按Orion配置分组的指标 | config_name="small-scale-udn-l3.yaml", version="4.20" |
get_orion_metrics_with_meta | 列出Orion配置的指标和元数据 | config_name="small-scale-udn-l3.yaml", version="4.19" |
get_orion_performance_data | 返回配置/度量/版本的原始性能值 | config_name="small-scale-udn-l3.yaml", metric="podReadyLatency_P99", version="4.19", lookback="15" |
openshift_report_on | 为一个或多个OCP版本生成趋势线 | versions="4.19", lookback="15", metric="podReadyLatency_P99", config_name="small-scale-udn-l3.yaml" |
openshift_report_on_pr | 新 分析特定Pull Request的性能影响 | 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_name="trt-external-payload-cluster-density.yaml", version="4.19", lookback="15" |
______________________________________________________________________
拉取请求性能分析
概述
这 openshift_report_on_pr 工具提供 自动性能回归检测 GitHub Pull请求。此功能将特定PR的性能指标与周期性基线性能进行比较,以识别潜在的回归。
运作原理
- 基线收集:在回顾期内收集指定OpenShift版本的定期性能数据
- 公关分析:专门针对目标Pull Request运行性能测试
- 比较:使用 10%阈值
- 多配置测试:在多种猎户座配置上进行测试,以实现全面覆盖
支持的配置
PR分析针对以下关键性能测试配置运行:
trt-external-payload-cluster-density.yaml-集群密度和吊舱缩放测试trt-external-payload-node-density.yaml-节点级性能和资源利用率trt-external-payload-node-density-cni.yaml-CNI特定的网络性能trt-external-payload-crd-scale.yaml-自定义资源定义缩放测试
解释结果
- 周期平均值:回顾期内平均的基线绩效指标
- 拉:特定PR测试运行的性能指标
- 回归检测:使用10%阈值比较值:
- (pull_value - periodic_avg) / periodic_avg > 0.10 表示潜在的回归 - ±10%以内的值被视为正态方差
与AI/LLM集成
响应格式针对AI分析进行了优化。LLM可以:
- 自动检测回归 通过比较周期平均值与拉取指标
- 应用10%的阈值 确定重要性
- 生成人类可读的报告 突出关注变化
- 提供可操作的见解 哪些指标出现了倒退,倒退了多少
文档
有关综合文档:
AI分析提示示例
Analyze this PR performance data and identify any regressions using a 10% threshold:
[paste the JSON response]
For each metric that shows >10% degradation, explain:
1. The metric name and what it measures
2. The baseline vs PR values
3. The percentage change
4. Potential impact on users______________________________________________________________________
部署
容器图像
podman build -t quay.io/YOUR_ORG/orion-mcp:latest .开放式移位
要部署到OpenShift集群,请在kustomize/base/.env中指定ES_SERVER,例如:
ES_SERVER=https://USER:PASSWORD@SERVER:443要部署应用程序,请执行以下操作:
# Expose your quay credentials to fetch the container image
export QUAY_CRED=''
# Build and apply the manifests
kustomize build --load-restrictor=LoadRestrictionsNone ./kustomize/base | envsubst | oc apply -f -要验证清单的任何更改,您可以在本地呈现它们,例如:
kustomize build ./kustomize/base | envsubst > manifests.yaml 要从外部访问该服务,请使用 OpenShift路线 并将您的MCP客户端指向 http://:3030.
______________________________________________________________________
发展
# Run linters & tests
flake8
pytest
# Auto-format with black & isort
black . && isort .______________________________________________________________________
贡献
拉取请求非常受欢迎!请确保您已阅读并遵守 行为准则.
- 分叉存储库
- 为您的功能或错误修复创建新分支
- 进行更改并添加测试(如果适用)
- 提交一个拉取请求,明确描述您的更改
______________________________________________________________________
许可证
猎户座MCP分布在 Apache 2.0 许可证。请参阅 许可证 文件全文。
