From a3bf304f4226c99f5643ae4ab53ad691295887bc Mon Sep 17 00:00:00 2001 From: Armando Migliaccio Date: Wed, 10 Feb 2016 18:09:10 -0800 Subject: [PATCH] Add Neutron Failure Rate dashboard to Grafana It is incredibly useful to see failure rates over time and Grafana is an excellent tool for this. This patch creates a dashboard that captures the failure rates of Neutron check and gate jobs. Change-Id: If7552e10bcafd17e245b3a5de839bcaa0ef12b97 --- grafana/neutron.yaml | 79 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 grafana/neutron.yaml diff --git a/grafana/neutron.yaml b/grafana/neutron.yaml new file mode 100644 index 0000000000..afc56c5f41 --- /dev/null +++ b/grafana/neutron.yaml @@ -0,0 +1,79 @@ +dashboard: + title: Neutron Failure Rate + rows: + - title: Description + height: 100px + panels: + - title: Description + content: | + **This dashboard is managed by [Grafyaml](http://docs.openstack.org/infra/system-config/grafyaml.html).** + + If you would like to make changes to this dashboard, please see the grafana directory in [project-config](https://git.openstack.org/cgit/openstack-infra/project-config/tree/grafana/neutron.yaml). + type: text + - title: Graphs + height: 320px + panels: + - title: Unit Tests Failure Rates (Check queue) + span: 4 + targets: + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.check.job.gate-neutron-python27-constraints.FAILURE),sum(stats_counts.zuul.pipeline.check.job.gate-neutron-python27-constraints.{SUCCESS,FAILURE})),'24hours'), 'gate-neutron-python27-constraints') + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.check.job.gate-neutron-python34-constraints.FAILURE),sum(stats_counts.zuul.pipeline.check.job.gate-neutron-python34-constraints.{SUCCESS,FAILURE})),'24hours'), 'gate-neutron-python34-constraints') + type: graph + - title: Graphs + height: 320px + panels: + - title: Unit Tests Failure Rates (Gate queue) + span: 4 + targets: + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.gate.job.gate-neutron-python27-constraints.FAILURE),sum(stats_counts.zuul.pipeline.gate.job.gate-neutron-python27-constraints.{SUCCESS,FAILURE})),'24hours'), 'gate-neutron-python27-constraints') + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.gate.job.gate-neutron-python34-constraints.FAILURE),sum(stats_counts.zuul.pipeline.gate.job.gate-neutron-python34-constraints.{SUCCESS,FAILURE})),'24hours'), 'gate-neutron-python34-constraints') + type: graph + - title: Graphs + height: 320px + panels: + - title: Integrated Failure Rates (Gate queue) + span: 4 + targets: + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.gate.job.gate-tempest-dsvm-neutron-full.FAILURE),sum(stats_counts.zuul.pipeline.gate.job.gate-tempest-dsvm-neutron-full.{SUCCESS,FAILURE})),'24hours'), 'gate-tempest-dsvm-neutron-full') + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.gate.job.gate-neutron-dsvm-api.FAILURE),sum(stats_counts.zuul.pipeline.gate.job.gate-neutron-dsvm-api.{SUCCESS,FAILURE})),'24hours'), 'gate-neutron-dsvm-api') + - target: alias(miovingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.gate.job.gate-grenade-dsvm-neutron.FAILURE),sum(stats_counts.zuul.pipeline.gate.job.gate-grenade-dsvm-neutron.{SUCCESS,FAILURE})),'24hours'), 'gate-grenade-dsvm-neutron') + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.gate.job.gate-tempest-dsvm-neutron-linuxbridge.FAILURE),sum(stats_counts.zuul.pipeline.gate.job.gate-tempest-dsvm-neutron-linuxbridge.{SUCCESS,FAILURE})),'24hours'), 'gate-tempest-dsvm-neutron-linuxbridge') + type: graph + - title: Graphs + height: 320px + panels: + - title: API/Functional/Fullstack Failure Rates (Check queue) + span: 4 + targets: + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.check.job.gate-neutron-dsvm-api.FAILURE),sum(stats_counts.zuul.pipeline.check.job.gate-neutron-dsvm-api.{SUCCESS,FAILURE})),'24hours'), 'gate-neutron-dsvm-api') + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.check.job.gate-neutron-dsvm-functional.FAILURE),sum(stats_counts.zuul.pipeline.check.job.gate-neutron-dsvm-functional.{SUCCESS,FAILURE})),'24hours'), 'gate-neutron-dsvm-functional') + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.check.job.gate-neutron-dsvm-fullstack.FAILURE),sum(stats_counts.zuul.pipeline.check.job.gate-neutron-dsvm-fullstack.{SUCCESS,FAILURE})),'24hours'), 'gate-neutron-dsvm-fullstack') + type: graph + - title: Graphs + height: 320px + panels: + - title: DVR/LinuxBridge/Multi-node Failure Rates (Check queue) + span: 4 + targets: + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.check.job.gate-tempest-dsvm-neutron-dvr.FAILURE),sum(stats_counts.zuul.pipeline.check.job.gate-tempest-dsvm-neutron-dvr.{SUCCESS,FAILURE})),'24hours'), 'gate-tempest-dsvm-neutron-dvr') + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.check.job.gate-tempest-dsvm-neutron-linuxbridge.FAILURE),sum(stats_counts.zuul.pipeline.check.job.gate-tempest-dsvm-neutron-linuxbridge.{SUCCESS,FAILURE})),'24hours'), 'gate-tempest-dsvm-neutron-linuxbridge') + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.check.job.gate-tempest-dsvm-neutron-multinode-full.FAILURE),sum(stats_counts.zuul.pipeline.check.job.gate-tempest-dsvm-neutron-multinode-full.{SUCCESS,FAILURE})),'24hours'), 'gate-tempest-dsvm-neutron-multinode-full') + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.check.job.gate-tempest-dsvm-neutron-dvr-multinode-full.FAILURE),sum(stats_counts.zuul.pipeline.check.job.gate-tempest-dsvm-neutron-dvr-multinode-full.{SUCCESS,FAILURE})),'24hours'), 'gate-tempest-dsvm-neutron-dvr-multinode-full') + type: graph + - title: Graphs + height: 320px + panels: + - title: LBaaS Failure Rates + span: 4 + targets: + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.check.job.gate-neutron-lbaasv2-dsvm-minimal.FAILURE),sum(stats_counts.zuul.pipeline.check.job.gate-neutron-lbaasv2-dsvm-minimal.{SUCCESS,FAILURE})),'24hours'), 'gate-neutron-lbaasv2-dsvm-minimal (check)') + type: graph + - title: Graphs + height: 320px + panels: + - title: Rally Failure Rates + span: 4 + targets: + - target: alias(movingAverage(asPercent(transformNull(stats_counts.zuul.pipeline.check.job.gate-rally-dsvm-neutron-neutron.FAILURE),sum(stats_counts.zuul.pipeline.check.job.gate-rally-dsvm-neutron-neutron.{SUCCESS,FAILURE})),'24hours'), 'gate-rally-dsvm-neutron-neutron (check)') + type: graph +