dashboard:
  title: 'Nodepool: OSIC'
  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/nodepool-osic.yaml).
          type: text
    - title: Nodes
      showTitle: true
      height: 150px
      panels:
        - title: Building
          span: 3
          sparkline:
            full: true
            show: true
          targets:
            - target: sumSeries(stats.gauges.nodepool.provider.osic-*.nodes.building)
          type: singlestat
          valueName: current
        - title: Ready
          span: 3
          sparkline:
            full: true
            show: true
          targets:
            - target: sumSeries(stats.gauges.nodepool.provider.osic-*.nodes.ready)
          type: singlestat
          valueName: current
        - title: In Use
          span: 3
          sparkline:
            full: true
            show: true
          targets:
            - target: sumSeries(stats.gauges.nodepool.provider.osic-*.nodes.used)
          type: singlestat
          valueName: current
        - title: Deleting
          span: 3
          sparkline:
            full: true
            show: true
          targets:
              - target: sumSeries(stats.gauges.nodepool.provider.osic-*.nodes.delete)
          type: singlestat
          valueName: current
    - title: API Operations
      showTitle: true
      height: 250px
      panels:
        - title: Create Server
          type: graph
          span: 4
          leftYAxisLabel: "time"
          y_formats:
            - s
            - none
          targets:
            - target: alias(scale(stats.timers.nodepool.task.osic-cloud1.ServerCreate.mean, '0.001'), 'Cloud 1')
        - title: Get Server
          type: graph
          span: 4
          leftYAxisLabel: "time"
          y_formats:
            - s
            - none
          targets:
            - target: alias(scale(stats.timers.nodepool.task.osic-cloud1.ServerGet.mean, '0.001'), 'Cloud 1')
        - title: Delete Server
          type: graph
          span: 4
          leftYAxisLabel: "time"
          y_formats:
            - s
            - none
          targets:
            - target: alias(scale(stats.timers.nodepool.task.osic-cloud1.ServerDelete.mean, '0.001'), 'Cloud 1')
        - title: List Servers
          type: graph
          span: 4
          leftYAxisLabel: "time"
          y_formats:
            - s
            - none
          targets:
            - target: alias(scale(stats.timers.nodepool.task.osic-cloud1.ServerList.mean, '0.001'), 'Cloud 1')
        - title: List Ports
          type: graph
          span: 4
          leftYAxisLabel: "time"
          y_formats:
            - s
            - none
          targets:
            - target: alias(scale(stats.timers.nodepool.task.osic-cloud1.PortList.mean, '0.001'), 'Cloud 1')
        - title: Create Floating IP
          type: graph
          span: 4
          leftYAxisLabel: "time"
          y_formats:
            - s
            - none
          targets:
            - target: alias(scale(stats.timers.nodepool.task.osic-cloud1.NeutronFloatingIPCreate.mean, '0.001'), 'Cloud 1')
        - title: Delete Floating IP
          type: graph
          span: 4
          leftYAxisLabel: "time"
          y_formats:
            - s
            - none
          targets:
            - target: alias(scale(stats.timers.nodepool.task.osic-cloud1.NeutronFloatingIPDelete.mean, '0.001'), 'Cloud 1')
        - title: List Floating IPs
          type: graph
          span: 4
          leftYAxisLabel: "time"
          y_formats:
            - s
            - none
          targets:
            - target: alias(scale(stats.timers.nodepool.task.osic-cloud1.NeutronFloatingIPList.mean, '0.001'), 'Cloud 1')
    - title: Node Launches
      showTitle: true
      height: 250px
      panels:
        - title: Ready Node Launch Attempts
          type: graph
          span: 4
          nullPointMode: null as zero
          leftYAxisLabel: "events / min"
          targets:
            - target: alias(smartSummarize(stats_counts.nodepool.launch.provider.osic-cloud1.ready, '1m'), 'Cloud 1')
        - title: Error Node Launch Attempts
          type: graph
          span: 4
          nullPointMode: null as zero
          leftYAxisLabel: "events / min"
          targets:
            - target: alias(smartSummarize(sumSeries(stats_counts.nodepool.launch.provider.osic-cloud1.error.*), '1m'), 'Cloud 1')
        - title: Time to Ready
          type: graph
          span: 4
          leftYAxisLabel: "time"
          y_formats:
            - s
            - none
          targets:
            - target: alias(scale(stats.timers.nodepool.launch.provider.osic-cloud1.ready.mean, '0.001'), 'Cloud 1')
        - title: Test Nodes (Cloud 1)
          type: graph
          span: 4
          stack: true
          tooltip:
            value_type: individual
          leftYAxisLabel: "nodes"
          targets:
            - target: alias(stats.gauges.nodepool.provider.osic-cloud1.nodes.building, 'Building')
            - target: alias(stats.gauges.nodepool.provider.osic-cloud1.nodes.ready, 'Available')
            - target: alias(stats.gauges.nodepool.provider.osic-cloud1.nodes.used, 'In Use')
            - target: alias(stats.gauges.nodepool.provider.osic-cloud1.nodes.delete, 'Deleting')
            - target: alias(stats.gauges.nodepool.provider.osic-cloud1.max_servers, 'Max')
          seriesOverrides:
            - alias: Max
              stack: False
    - title: Job Runtimes
      showTitle: true
      height: 250px
      panels:
        - title: gate-tempest-dsvm-full
          type: graph
          span: 6
          leftYAxisLabel: "time"
          y_formats:
            - s
            - none
          targets:
            - target: alias(scale(stats.timers.nodepool.job.gate-tempest-dsvm-full.master.ubuntu-trusty.osic-cloud1.runtime.mean, '0.001'), 'Cloud 1')
        - title: gate-tempest-dsvm-neutron-full
          type: graph
          span: 6
          leftYAxisLabel: "time"
          y_formats:
            - s
            - none
          targets:
            - target: alias(scale(stats.timers.nodepool.job.gate-tempest-dsvm-neutron-full.master.ubuntu-trusty.osic-cloud1.runtime.mean, '0.001'), 'Cloud 1')