Files
project-config/grafana/zuul-status.yaml
James E. Blair a75b92eb92 Update Zuul status node graphs
This updates the "Test Nodes" and "Node Requessts" graphs on the
Zuul status dashboard to be more consistent:

* The node requests graph is now stacked, like the test nodes graph,
  so that the topmost line is the total.
* The popover for the node requests graph will now show all the
  values.
* The test nodes graph now also shows requested nodes (a new state).
* The y-axis attributes for the node requests graph do not seem to
  be necessary, so are removed.

Change-Id: I0f23bb80472e236f53124334290943394e148efd
2025-07-07 06:43:38 -07:00

306 lines
11 KiB
YAML

dashboard:
title: Zuul Status
rows:
- title: Description
height: 100px
panels:
- title: Description
content: |
**This dashboard is managed by [Grafyaml](https://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://opendev.org/openstack/project-config/src/grafana/zuul-status.yaml).
type: text
- title: Pipelines
height: 150px
panels:
- title: Check
span: 2
sparkline:
full: true
show: true
targets:
- target: stats.gauges.zuul.tenant.openstack.pipeline.check.current_changes
type: singlestat
valueName: current
- title: Gate
span: 2
sparkline:
full: true
show: true
targets:
- target: stats.gauges.zuul.tenant.openstack.pipeline.gate.current_changes
type: singlestat
valueName: current
- title: Post
span: 2
sparkline:
full: true
show: true
targets:
- target: stats.gauges.zuul.tenant.openstack.pipeline.post.current_changes
type: singlestat
- title: Promote
span: 2
sparkline:
full: true
show: true
targets:
- target: stats.gauges.zuul.tenant.openstack.pipeline.promote.current_changes
type: singlestat
- title: Release-Post
span: 2
sparkline:
full: true
show: true
targets:
- target: stats.gauges.zuul.tenant.openstack.pipeline.release-post.current_changes
type: singlestat
valueName: current
valueName: current
- title: Tag
span: 2
sparkline:
full: true
show: true
targets:
- target: stats.gauges.zuul.tenant.openstack.pipeline.tag.current_changes
type: singlestat
valueName: current
- title: Pre-Release
span: 2
sparkline:
full: true
show: true
targets:
- target: stats.gauges.zuul.tenant.openstack.pipeline.pre-release.current_changes
type: singlestat
valueName: current
- title: Release
span: 2
sparkline:
full: true
show: true
targets:
- target: stats.gauges.zuul.tenant.openstack.pipeline.release.current_changes
type: singlestat
valueName: current
- title: Experimental
span: 2
sparkline:
full: true
show: true
targets:
- target: stats.gauges.zuul.tenant.openstack.pipeline.experimental.current_changes
type: singlestat
valueName: current
- title: Periodic
span: 2
sparkline:
full: true
show: true
targets:
- target: stats.gauges.zuul.tenant.openstack.pipeline.periodic.current_changes
type: singlestat
valueName: current
- title: Periodic-Stable
span: 2
sparkline:
full: true
show: true
targets:
- target: stats.gauges.zuul.tenant.openstack.pipeline.periodic-stable.current_changes
type: singlestat
valueName: current
- title: Merge-Check
span: 2
sparkline:
full: true
show: true
targets:
- target: stats.gauges.zuul.tenant.openstack.pipeline.merge-check.current_changes
type: singlestat
valueName: current
showTitle: true
- title: Graphs
height: 250px
panels:
- title: Zuul Jobs Launched (per Hour)
span: 6
targets:
- target: alias(summarize(sumSeries(stats_counts.zuul.tenant.openstack.pipeline.*.all_jobs), '1h'), 'All Jobs')
type: graph
- title: Node Requests
span: 6
stack: true
tooltip:
value_type: individual
targets:
- target: alias(stats.gauges.zuul.nodeset_requests.state.requested, 'Requested')
- target: alias(stats.gauges.zuul.nodeset_requests.state.accepted, 'Accepted')
- target: alias(stats.gauges.zuul.nodeset_requests.state.fulfilled, 'Fulfilled')
- target: alias(stats.gauges.zuul.nodeset_requests.state.failed, 'Failed')
type: graph
- title: Gerrit Events (per Hour)
span: 6
targets:
- target: alias(summarize(stats_counts.zuul.event.gerrit.comment-added, '1h'), 'Comment added')
- target: alias(summarize(stats_counts.zuul.event.gerrit.patchset-created, '1h'), 'Patchset created')
- target: alias(summarize(stats_counts.zuul.event.gerrit.change-merged, '1h'), 'Change merged')
type: graph
- title: Test Nodes
span: 6
stack: true
tooltip:
value_type: individual
targets:
- target: alias(stats.gauges.zuul.nodes.state.requested, 'Requested')
- target: alias(stats.gauges.zuul.nodes.state.building, 'Building')
- target: alias(stats.gauges.zuul.nodes.state.ready, 'Available')
- target: alias(stats.gauges.zuul.nodes.state.in-use, 'In Use')
- target: alias(stats.gauges.zuul.nodes.state.used, 'Used')
- target: alias(sumSeries(stats.gauges.zuul.provider.*.limit.instances), 'Max')
seriesOverrides:
- alias: Max
stack: False
type: graph
- title: Executors
showTitle: true
height: 250px
panels:
- title: Executors
span: 6
targets:
- target: alias(stats.gauges.zuul.executors.online, 'Online')
- target: alias(stats.gauges.zuul.executors.accepting, 'Accepting')
type: graph
- title: Running Builds
span: 6
targets:
- target: aliasSub(stats.gauges.zuul.executor.*_opendev_org.running_builds, ".*\.(.*)_opendev_org.*", "\1")
type: graph
- title: Executor Queue
span: 6
targets:
- target: alias(stats.gauges.zuul.executors.jobs_queued, 'Queued Jobs')
- target: alias(stats.gauges.zuul.executors.jobs_running, 'Running Jobs')
type: graph
- title: Load Average
span: 6
targets:
- target: aliasSub(scale(stats.gauges.zuul.executor.*_opendev_org.load_average, 0.01), ".*\.(.*)_opendev_org.*", "\1")
type: graph
- title: Starting Builds
span: 6
targets:
- target: aliasSub(stats.gauges.zuul.executor.*_opendev_org.starting_builds, ".*\.(.*)_opendev_org.*", "\1")
type: graph
- title: Used HDD (Percentage)
span: 6
yaxes:
- label: Used HDD %
format: percent
- show: false
targets:
- target: aliasSub(scale(stats.gauges.zuul.executor.*_opendev_org.pct_used_hdd, 0.01), ".*\.(.*)_opendev_org.*", "\1")
type: graph
- title: Used RAM (Percentage)
span: 6
yaxes:
- label: Used RAM %
format: percent
- show: false
targets:
- target: aliasSub(scale(stats.gauges.zuul.executor.*_opendev_org.pct_used_ram, 0.01), ".*\.(.*)_opendev_org.*", "\1")
type: graph
- title: Mergers
showTitle: true
height: 250px
panels:
- title: Mergers
span: 6
targets:
- target: alias(stats.gauges.zuul.mergers.online, 'Online')
type: graph
- title: Merger Queue
span: 6
targets:
- target: alias(stats.gauges.zuul.mergers.jobs_queued, 'Queued Jobs')
- target: alias(stats.gauges.zuul.mergers.jobs_running, 'Running Jobs')
type: graph
- title: Web
showTitle: true
height: 250px
panels:
- title: Streams
span: 6
targets:
- target: aliasSub(stats.gauges.zuul.web.server.*_opendev_org.streamers, ".*\.(.*)_opendev_org.*", "\1")
type: graph
- title: Threadpool Queue
span: 6
targets:
- target: aliasSub(stats.gauges.zuul.web.server.*_opendev_org.threadpool.queue, ".*\.(.*)_opendev_org.*", "\1")
type: graph
- title: Threadpool Idle
span: 6
targets:
- target: aliasSub(stats.gauges.zuul.web.server.*_opendev_org.threadpool.idle, ".*\.(.*)_opendev_org.*", "\1")
type: graph
- title: ZooKeeper
showTitle: true
height: 250px
panels:
- title: Zuul Event Processing Time
nullPointMode: "connected"
span: 4
yaxes:
- label: "time"
format: ms
- show: false
targets:
- target: alias(averageSeries(stats.timers.zuul.tenant.*.event_enqueue_processing_time.mean), 'Trigger Events')
type: graph
- title: ZooKeeper Average Latency
span: 4
targets:
- target: aliasByNode(stats.gauges.zk.zk0[1-3].zk_avg_latency, 3)
yaxes:
- label: time
format: ms
- show: false
type: graph
- title: ZooKeeper Approximate Data Size
span: 4
targets:
- target: aliasByNode(stats.gauges.zk.zk0[1-3].zk_approximate_data_size, 3)
yaxes:
- label: size
format: bytes
- show: false
type: graph
- title: ZooKeeper ZNodes
span: 4
targets:
- target: aliasByNode(stats.gauges.zk.zk0[1-3].zk_znode_count, 3)
type: graph
- title: ZooKeeper Watches
span: 4
targets:
- target: aliasByNode(stats.gauges.zk.zk0[1-3].zk_watch_count, 3)
type: graph
- title: ZooKeeper Ephemeral Nodes
span: 4
targets:
- target: aliasByNode(stats.gauges.zk.zk0[1-3].zk_ephemerals_count, 3)
type: graph
- title: ZooKeeper Outstanding Requests
span: 4
targets:
- target: aliasByNode(stats.gauges.zk.zk0[1-3].zk_outstanding_requests, 3)
type: graph
- title: ZooKeeper Followers
span: 4
targets:
- target: aliasByNode(stats.gauges.zk.zk0[1-3].zk_synced_followers, 3)
type: graph