跳转到主要内容

简单的Python包,用于定义存储在Elasticsearch中的构建和测试结果的模式。

项目描述

ebr-connector

Azure DevOps builds Azure DevOps tests Azure DevOps coverage PyPI - Version PyPI - License PyPI - Python Versions PyPI - Format PyPI - Status PyUp - Updates

简单的Python包,用于定义存储在Elasticsearch中的构建和测试结果的模式

条款

  • 构建: CI系统构建/测试执行的单个实例。它应映射到CI系统上的单个URL/URI/UID。
  • 构建ID: 与给定构建关联的ID(例如,1078929)。
  • 任务: 描述如何运行构建的一系列任务集合。运行任务应导致构建。在Jenkins中,它映射到任务/项目,在Quickbuild中,它映射到配置(例如,cpp-testsroot/prod/main)。
  • 产品: 与给定构建关联的产品的名称。
  • 测试用例: 具有结果信息的单个测试(有时是C++中密切相关测试的聚合)。
  • 测试套件: 测试用例的聚合集合,即套件。

测试和套件分离

为了更好地支持Grafana(Grafana在访问ElasticSearch中嵌套信息方面存在限制),测试和套件已被分离到两个数组中,而不是像此架构中那样将测试嵌套在套件中。

由于构建结果存储在一个文档中,因此不可能仅过滤出失败的测试用例。可以仅过滤包含失败测试的构建结果文档,但收到的响应也将包含成功的测试用例。

为了减少接收到的数据量,因此将测试分为已通过、失败和跳过的数组。

架构约定

由于在架构中使用嵌套类型,因此Elasticsearch索引器需要了解这一点。这是通过定义所谓的索引模板来实现的。

为了避免每次架构修改时都修改索引模板,我们决定使用动态模板,根据以下规则动态映射类型(按此顺序应用)

  • 每个字段都必须以br_为前缀
  • 那些不应该用于全文搜索的字段(keyword)以_key结尾,并将映射到类型keyword
  • 嵌套的字段以_nested结尾,并将映射到类型nested
  • 计数器字段以_count结尾,并将映射到类型integer
  • 名称中包含duration的字段将映射到类型float
  • 类型为string的字段会得到一个raw字段(除了它们以_key结尾),可用于非全文搜索,且限制为256个字符。

致谢

此包是用Cookiecuttertomtom-international/cookiecutter-python项目模板创建的。

变更日志

0.1.0-dev (2019-04-10)

  • 首次发布到PyPI。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

ebr-connector-0.1.5.tar.gz (32.2 kB 查看哈希值)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面