Jenkins Pipeline中perfReport的Expert Mode约束配置方法咨询
在Jenkins Performance Plugin的Pipeline配置中,Expert Mode的约束规则通过constraints参数传入即可,Absolute Constraint对应$class: 'AbsoluteConstraint'的配置项,参考示例如下:
perfReport sourceDataFiles: 'result.jtl', // 原有Standard Mode的阈值配置可保留,也可仅使用Expert Mode规则 errorFailedThreshold: 5, errorUnstableThreshold: 1, // Expert Mode约束规则配置 constraints: [ // 示例1:全局平均响应时间大于1500ms时,标记构建失败 [ $class: 'AbsoluteConstraint', metric: 'RESPONSE_TIME', operator: 'GT', threshold: 1500, result: 'FAILURE' ], // 示例2:90百分位响应时间大于2000ms时,标记构建不稳定 [ $class: 'AbsoluteConstraint', metric: 'PERCENTILE90', operator: 'GT', threshold: 2000, result: 'UNSTABLE' ], // 示例3:全局错误率超过3%时标记构建失败 [ $class: 'AbsoluteConstraint', metric: 'ERROR_PERCENT', operator: 'GT', threshold: 3, result: 'FAILURE' ], // 示例4:仅针对/login接口设置约束:平均响应时间超过800ms即标记构建失败 [ $class: 'AbsoluteConstraint', metric: 'RESPONSE_TIME', operator: 'GT', threshold: 800, result: 'FAILURE', includeUrls: '^/login.*' // 支持正则匹配请求路径 ] ]
常用配置字段说明
metric:需要校验的指标,常用可选值如下:RESPONSE_TIME:平均响应时间PERCENTILE90/PERCENTILE95/PERCENTILE99:对应百分位响应时间ERROR_PERCENT:错误率(百分比)SAMPLE_COUNT:请求总样本数THROUGHPUT:吞吐量(单位:请求数/秒)
operator:阈值比较逻辑,可选值为GT(大于)、LT(小于)、EQ(等于)result:触发阈值后的构建状态,可选值为FAILURE(构建失败)、UNSTABLE(构建不稳定)、SUCCESS(不影响构建结果,仅记录告警)includeUrls/excludeUrls:可选参数,支持用正则指定规则仅匹配/排除部分请求路径生效
如果对参数取值不熟悉,可以直接使用Jenkins自带的「流水线语法生成器」,可视化配置完需要的Expert Mode约束规则后,自动生成对应Pipeline代码即可,避免手动编写参数出错。
内容的提问来源于stack exchange,提问作者Sebastian
相关产品推荐
相关产品推荐

