github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/metrics/configs/weekly-consistency-config.yaml (about) 1 metric: weekly-consistency 2 description: Calculate PR consistency for the past week. 3 query: | 4 select /* Calculate the probability a commit flaked */ 5 wk, 6 round(1-sum(flaked)/count(flaked),3) consistency, 7 count(flaked) commits 8 from ( /* For each week, count whether a (num, commit) flaked */ 9 select 10 wk, 11 num, 12 commit, 13 max(if(passed == runs or passed == 0, 0, 1)) flaked, 14 max(runs) builds 15 from ( 16 select /* For each week, count runs and passes for a (job, num, commit) */ 17 wk, 18 max(stamp) stamp, 19 num, 20 if(kind = "pull", commit, version) commit, 21 sum(if(result=='SUCCESS',1,0)) passed, 22 count(result) runs 23 from ( 24 SELECT /* Find jobs for the past quarter, noting its commit, week it ran, and whether it passed */ 25 job, 26 regexp_extract(path, r'pull/(\d+|batch)') as num, /* pr number */ 27 if(left(job, 3) == "pr:", "pull", "ci") kind, 28 version, 29 regexp_extract(metadata.value, r'^[^,]+,\d+:([^,"]+)') commit, /* git hash of pr */ 30 date(started) stamp, 31 date(date_add(date(started), -dayofweek(started), "day")) wk, /* group by week */ 32 result 33 FROM [k8s-gubernator:build.all] 34 where 35 started > date_add(current_timestamp(), -90, "DAY") 36 and version != "unknown" 37 and (metadata.key = 'repos' or left(job, 3) == "ci-") 38 and job in ( /* only consider merge-blocking jobs */ 39 'pr:pull-kubernetes-bazel-build', 40 'pr:pull-kubernetes-bazel-test', 41 'pr:pull-kubernetes-e2e-gce', 42 'pr:pull-kubernetes-e2e-gce-100-performance', 43 'pr:pull-kubernetes-e2e-kops-aws', 44 'pr:pull-kubernetes-integration', 45 'pr:pull-kubernetes-kubemark-e2e-gce-big', 46 'pr:pull-kubernetes-node-e2e', 47 'pr:pull-kubernetes-typecheck', 48 'pr:pull-kubernetes-verify', 49 ) 50 having kind=='pull' 51 ) 52 group by wk, job, num, commit 53 ) 54 group by wk, num, commit 55 ) 56 group by wk 57 order by wk 58 59 jqfilter: | 60 [(.[] | {commits: (.commits|tonumber), consistency: (.consistency|tonumber), wk: .wk})]