简单的Python包,用于定义存储在Elasticsearch中的构建和测试结果的模式。
项目描述
ebr-connector
简单的Python包,用于定义存储在Elasticsearch中的构建和测试结果的模式
条款
- 构建: CI系统构建/测试执行的单个实例。它应映射到CI系统上的单个URL/URI/UID。
- 构建ID: 与给定构建关联的ID(例如,1078929)。
- 任务: 描述如何运行构建的一系列任务集合。运行任务应导致构建。在Jenkins中,它映射到任务/项目,在Quickbuild中,它映射到配置(例如,cpp-tests,root/prod/main)。
- 产品: 与给定构建关联的产品的名称。
- 测试用例: 具有结果信息的单个测试(有时是C++中密切相关测试的聚合)。
- 测试套件: 测试用例的聚合集合,即套件。
测试和套件分离
为了更好地支持Grafana(Grafana在访问ElasticSearch中嵌套信息方面存在限制),测试和套件已被分离到两个数组中,而不是像此架构中那样将测试嵌套在套件中。
由于构建结果存储在一个文档中,因此不可能仅过滤出失败的测试用例。可以仅过滤包含失败测试的构建结果文档,但收到的响应也将包含成功的测试用例。
为了减少接收到的数据量,因此将测试分为已通过、失败和跳过的数组。
架构约定
由于在架构中使用嵌套类型,因此Elasticsearch索引器需要了解这一点。这是通过定义所谓的索引模板来实现的。
为了避免每次架构修改时都修改索引模板,我们决定使用动态模板,根据以下规则动态映射类型(按此顺序应用)
- 每个字段都必须以
br_
为前缀 - 那些不应该用于全文搜索的字段(keyword)以
_key
结尾,并将映射到类型keyword。 - 嵌套的字段以
_nested
结尾,并将映射到类型nested。 - 计数器字段以
_count
结尾,并将映射到类型integer。 - 名称中包含
duration
的字段将映射到类型float。 - 类型为string的字段会得到一个raw字段(除了它们以
_key
结尾),可用于非全文搜索,且限制为256个字符。
致谢
此包是用Cookiecutter和tomtom-international/cookiecutter-python项目模板创建的。
变更日志
0.1.0-dev (2019-04-10)
- 首次发布到PyPI。
项目详情
关闭
ebr-connector-0.1.5.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 64bd78076bfbcc60178602b7ebedf0ca5fc5c960cac65436838826558df2f3ad |
|
MD5 | 8d2b0ec8876b26397d9961ade5d08597 |
|
BLAKE2b-256 | 87533ee5c3b6dd2de03926986b590f22a04d6557173a0a5d6c91b0126a2b686f |