Rework topk panels implementation

Change-Id: I76f010a27f9385041c53e480b614864be13a3197
Related-PROD: PROD-34330
diff --git a/nova/files/grafana_dashboards/nova_top_instances_prometheus.json b/nova/files/grafana_dashboards/nova_top_instances_prometheus.json
index fe3720c..7904aa4 100644
--- a/nova/files/grafana_dashboards/nova_top_instances_prometheus.json
+++ b/nova/files/grafana_dashboards/nova_top_instances_prometheus.json
@@ -18,7 +18,7 @@
   "editable": true,
   "gnetId": null,
   "graphTooltip": 0,
-  "iteration": 1575030056499,
+  "iteration": 1579104982497,
   "links": [],
   "panels": [
     {
@@ -73,7 +73,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,libvirt_domain_info_virtual_cpus{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\"})",
+              "expr": "libvirt_domain_info_virtual_cpus{instance_uuid=~\"$cpu_allocation\"}",
               "format": "time_series",
               "instant": false,
               "intervalFactor": 1,
@@ -165,7 +165,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,libvirt_domain_info_cpu_time_seconds:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\"})",
+              "expr": "libvirt_domain_info_cpu_time_seconds:rate5m{instance_uuid=~\"$cpu_usage\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -270,7 +270,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,libvirt_domain_memory_actual_balloon_bytes{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\"})",
+              "expr": "libvirt_domain_memory_actual_balloon_bytes{instance_uuid=~\"$memory_allocation\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -361,7 +361,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,libvirt_domain_memory_rss_bytes{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\"})",
+              "expr": "libvirt_domain_memory_rss_bytes{instance_uuid=~\"$memory_usage\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -467,7 +467,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_read_bytes:rate5m{instance_uuid=~\"$file_disk_r_t\",type=\"file\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -558,7 +558,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_write_bytes:rate5m{instance_uuid=~\"$file_disk_w_t\",type=\"file\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -632,7 +632,7 @@
             "h": 7,
             "w": 24,
             "x": 0,
-            "y": 32
+            "y": 4
           },
           "id": 271,
           "legend": {
@@ -663,7 +663,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_read_bytes:rate5m{instance_uuid=~\"$block_disk_r_t\",type=\"block\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -723,7 +723,7 @@
             "h": 7,
             "w": 24,
             "x": 0,
-            "y": 39
+            "y": 11
           },
           "id": 272,
           "legend": {
@@ -754,7 +754,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_write_bytes:rate5m{instance_uuid=~\"$block_disk_w_t\",type=\"block\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -859,7 +859,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_read_bytes:rate5m{instance_uuid=~\"$net_disk_r_t\",type=\"network\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -950,7 +950,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_write_bytes:rate5m{instance_uuid=~\"$net_disk_w_t\",type=\"network\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -1056,7 +1056,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_read_requests:rate5m{instance_uuid=~\"$file_disk_r_io\",type=\"file\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -1147,7 +1147,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_write_requests:rate5m{instance_uuid=~\"$file_disk_w_io\",type=\"file\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -1221,7 +1221,7 @@
             "h": 7,
             "w": 24,
             "x": 0,
-            "y": 35
+            "y": 21
           },
           "id": 282,
           "legend": {
@@ -1252,7 +1252,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_read_requests:rate5m{instance_uuid=~\"$block_disk_r_io\",type=\"block\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -1312,7 +1312,7 @@
             "h": 7,
             "w": 24,
             "x": 0,
-            "y": 42
+            "y": 28
           },
           "id": 281,
           "legend": {
@@ -1343,7 +1343,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_write_requests:rate5m{instance_uuid=~\"$block_disk_w_io\",type=\"block\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -1417,7 +1417,7 @@
             "h": 7,
             "w": 24,
             "x": 0,
-            "y": 22
+            "y": 36
           },
           "id": 264,
           "legend": {
@@ -1448,7 +1448,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_read_requests:rate5m{instance_uuid=~\"$net_disk_r_io\",type=\"network\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -1508,7 +1508,7 @@
             "h": 7,
             "w": 24,
             "x": 0,
-            "y": 29
+            "y": 43
           },
           "id": 265,
           "legend": {
@@ -1539,7 +1539,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_write_requests:rate5m{instance_uuid=~\"$net_disk_w_io\",type=\"network\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -1644,7 +1644,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_capacity{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_capacity{instance_uuid=~\"$file_disk_allocation\",type=\"file\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -1735,7 +1735,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_physical{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_physical{instance_uuid=~\"$file_disk_usage\",type=\"file\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -1809,7 +1809,7 @@
             "h": 7,
             "w": 24,
             "x": 0,
-            "y": 38
+            "y": 24
           },
           "id": 288,
           "legend": {
@@ -1840,7 +1840,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_capacity{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_capacity{instance_uuid=~\"$block_disk_allocation\",type=\"block\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -1900,7 +1900,7 @@
             "h": 7,
             "w": 24,
             "x": 0,
-            "y": 45
+            "y": 31
           },
           "id": 287,
           "legend": {
@@ -1931,7 +1931,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_physical{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_physical{instance_uuid=~\"$block_disk_usage\",type=\"block\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -2005,7 +2005,7 @@
             "h": 7,
             "w": 24,
             "x": 0,
-            "y": 25
+            "y": 39
           },
           "id": 259,
           "legend": {
@@ -2036,7 +2036,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_capacity{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_capacity{instance_uuid=~\"$net_disk_allocation\",type=\"network\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -2096,7 +2096,7 @@
             "h": 7,
             "w": 24,
             "x": 0,
-            "y": 32
+            "y": 46
           },
           "id": 258,
           "legend": {
@@ -2127,7 +2127,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_block_stats_physical{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}) without(source_file,target_device))",
+              "expr": "instance:libvirt_domain_block_stats_physical{instance_uuid=~\"$net_disk_usage\",type=\"network\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -2232,7 +2232,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_interface_stats_receive_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\"}) without(source_bridge,target_device))",
+              "expr": "instance:libvirt_domain_interface_stats_receive_bytes:rate5m{instance_uuid=~\"$network_rx\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -2323,7 +2323,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(libvirt_domain_interface_stats_transmit_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\"}) without(source_bridge,target_device))",
+              "expr": "instance:libvirt_domain_interface_stats_transmit_bytes:rate5m{instance_uuid=~\"$network_tx\"}",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "{{host}} / {{project_name}} / {{user_name}} / {{$ident}} ({{flavor}})",
@@ -2541,7 +2541,7 @@
         "useTags": false
       },
       {
-        "allValue": null,
+        "allValue": ".*",
         "current": {
           "text": "All",
           "value": [
@@ -2594,6 +2594,582 @@
         "query": "instance_name,instance_uuid",
         "skipUrlSync": false,
         "type": "custom"
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "cpu_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(libvirt_domain_info_virtual_cpus{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "cpu_usage",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(libvirt_domain_info_cpu_time_seconds:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "memory_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(libvirt_domain_memory_actual_balloon_bytes{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "memory_usage",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(libvirt_domain_memory_rss_bytes{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_r_t",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_w_t",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_r_t",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_w_t",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_r_t",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_w_t",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_r_io",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_w_io",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_r_io",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_w_io",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_r_io",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_w_io",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_capacity{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_usage",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_physical{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_capacity{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_usage",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_physical{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_capacity{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_usage",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_block_stats_physical{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "network_rx",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_interface_stats_receive_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "network_tx",
+        "options": [],
+        "query": "query_result(topk($topx,avg_over_time(instance:libvirt_domain_interface_stats_transmit_bytes:rate5m{host=~\"$host\",$ident=~\"$instance_ident\",project_name=~\"$project_name\",user_name=~\"$user_name\"}[${__range_s}s])))",
+        "refresh": 2,
+        "regex": "/.*instance_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
       }
     ]
   },
diff --git a/nova/files/grafana_dashboards/nova_top_tenants_prometheus.json b/nova/files/grafana_dashboards/nova_top_tenants_prometheus.json
index 4432358..af25874 100644
--- a/nova/files/grafana_dashboards/nova_top_tenants_prometheus.json
+++ b/nova/files/grafana_dashboards/nova_top_tenants_prometheus.json
@@ -18,7 +18,7 @@
   "editable": true,
   "gnetId": null,
   "graphTooltip": 0,
-  "iteration": 1575032526525,
+  "iteration": 1579523757601,
   "links": [],
   "panels": [
     {
@@ -74,7 +74,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_info_virtual_cpus{host=~\"$host\",project_name=~\"$project_name\"}) without(host))",
+              "expr": "sum(host_project:libvirt_domain_info_virtual_cpus{host=~\"$host\",project_uuid=~\"$cpu_allocation\"}) without(host)",
               "format": "time_series",
               "instant": false,
               "intervalFactor": 1,
@@ -167,7 +167,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_info_cpu_time_seconds:rate5m{host=~\"$host\",project_name=~\"$project_name\"}) without(host))",
+              "expr": "sum(host_project:libvirt_domain_info_cpu_time_seconds:rate5m{host=~\"$host\",project_uuid=~\"$cpu_usage\"}) without(host)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -271,7 +271,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_memory_actual_balloon_bytes{host=~\"$host\",project_name=~\"$project_name\"}) without(host))",
+              "expr": "sum(host_project:libvirt_domain_memory_actual_balloon_bytes{host=~\"$host\",project_uuid=~\"$memory_allocation\"}) without(host)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -361,7 +361,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_memory_rss_bytes{host=~\"$host\",project_name=~\"$project_name\"}) without(host))",
+              "expr": "sum(host_project:libvirt_domain_memory_rss_bytes{host=~\"$host\",project_uuid=~\"$memory_usage\"}) without(host)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -467,7 +467,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"file\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_uuid=~\"$file_disk_r_t\",type=\"file\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -558,7 +558,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"file\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_uuid=~\"$file_disk_w_t\",type=\"file\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -663,7 +663,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"block\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_uuid=~\"$block_disk_r_t\",type=\"block\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -754,7 +754,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"block\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_uuid=~\"$block_disk_w_t\",type=\"block\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -859,7 +859,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"network\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_uuid=~\"$net_disk_r_t\",type=\"network\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -950,7 +950,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"network\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_uuid=~\"$net_disk_w_t\",type=\"network\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -1056,7 +1056,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"file\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_uuid=~\"$file_disk_r_io\",type=\"file\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -1147,7 +1147,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"file\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_uuid=~\"$file_disk_w_io\",type=\"file\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -1252,7 +1252,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"block\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_uuid=~\"$block_disk_r_io\",type=\"block\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -1343,7 +1343,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"block\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_uuid=~\"$block_disk_w_io\",type=\"block\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -1448,7 +1448,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"network\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_uuid=~\"$net_disk_r_io\",type=\"network\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -1539,7 +1539,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"network\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_uuid=~\"$net_disk_w_io\",type=\"network\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -1644,7 +1644,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_capacity{host=~\"$host\",project_name=~\"$project_name\",type=\"file\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_capacity{host=~\"$host\",project_uuid=~\"$file_disk_allocation\",type=\"file\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -1735,7 +1735,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_physical{host=~\"$host\",project_name=~\"$project_name\",type=\"file\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_physical{host=~\"$host\",project_uuid=~\"$file_disk_usage\",type=\"file\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -1840,7 +1840,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_capacity{host=~\"$host\",project_name=~\"$project_name\",type=\"block\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_capacity{host=~\"$host\",project_uuid=~\"$block_disk_allocation\",type=\"block\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -1931,7 +1931,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_physical{host=~\"$host\",project_name=~\"$project_name\",type=\"block\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_physical{host=~\"$host\",project_uuid=~\"$block_disk_usage\",type=\"block\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -2036,7 +2036,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_capacity{host=~\"$host\",project_name=~\"$project_name\",type=\"network\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_capacity{host=~\"$host\",project_uuid=~\"$net_disk_allocation\",type=\"network\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -2127,7 +2127,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_block_stats_physical{host=~\"$host\",project_name=~\"$project_name\",type=\"network\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_project:libvirt_domain_block_stats_physical{host=~\"$host\",project_uuid=~\"$net_disk_usage\",type=\"network\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -2231,7 +2231,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_interface_stats_receive_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\"}) without(host,source_bridge,target_device))",
+              "expr": "sum(host_project:libvirt_domain_interface_stats_receive_bytes:rate5m{host=~\"$host\",project_uuid=~\"$network_rx\"}) without(host,source_bridge,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -2321,7 +2321,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_project:libvirt_domain_interface_stats_transmit_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\"}) without(host,source_bridge,target_device))",
+              "expr": "sum(host_project:libvirt_domain_interface_stats_transmit_bytes:rate5m{host=~\"$host\",project_uuid=~\"$network_tx\"}) without(host,source_bridge,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}}",
@@ -2510,6 +2510,582 @@
         "tagsQuery": "",
         "type": "query",
         "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "cpu_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_info_virtual_cpus{host=~\"$host\",project_name=~\"$project_name\"}[${__range_s}s])) without(host)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "cpu_usage",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_info_cpu_time_seconds:rate5m{host=~\"$host\",project_name=~\"$project_name\"}[${__range_s}s])) without(host)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "memory_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_memory_actual_balloon_bytes{host=~\"$host\",project_name=~\"$project_name\"}[${__range_s}s])) without(host)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "memory_usage",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_memory_rss_bytes{host=~\"$host\",project_name=~\"$project_name\"}[${__range_s}s])) without(host)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_r_t",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"file\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_w_t",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"file\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_r_t",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"block\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_w_t",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"block\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_r_t",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"network\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_w_t",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"network\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_r_io",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"file\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_w_io",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"file\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_r_io",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"block\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_w_io",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"block\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_r_io",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"network\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_w_io",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",type=\"network\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_capacity{host=~\"$host\",project_name=~\"$project_name\",type=\"file\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_usage",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_physical{host=~\"$host\",project_name=~\"$project_name\",type=\"file\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_capacity{host=~\"$host\",project_name=~\"$project_name\",type=\"block\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_usage",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_physical{host=~\"$host\",project_name=~\"$project_name\",type=\"block\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_capacity{host=~\"$host\",project_name=~\"$project_name\",type=\"network\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_usage",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_block_stats_physical{host=~\"$host\",project_name=~\"$project_name\",type=\"network\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "network_rx",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_interface_stats_receive_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\"}[${__range_s}s])) without(host,source_bridge,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "network_tx",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_project:libvirt_domain_interface_stats_transmit_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\"}[${__range_s}s])) without(host,source_bridge,target_device)))",
+        "refresh": 2,
+        "regex": "/.*project_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
       }
     ]
   },
diff --git a/nova/files/grafana_dashboards/nova_top_users_prometheus.json b/nova/files/grafana_dashboards/nova_top_users_prometheus.json
index 3e7d647..dbb31df 100644
--- a/nova/files/grafana_dashboards/nova_top_users_prometheus.json
+++ b/nova/files/grafana_dashboards/nova_top_users_prometheus.json
@@ -74,7 +74,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_info_virtual_cpus{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\"}) without(host))",
+              "expr": "sum(host_user:libvirt_domain_info_virtual_cpus{host=~\"$host\",user_uuid=~\"$cpu_allocation\"}) without(host)",
               "format": "time_series",
               "instant": false,
               "intervalFactor": 1,
@@ -167,7 +167,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_info_cpu_time_seconds:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\"}) without(host))",
+              "expr": "sum(host_user:libvirt_domain_info_cpu_time_seconds:rate5m{host=~\"$host\",user_uuid=~\"$cpu_usage\"}) without(host)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -272,7 +272,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_memory_actual_balloon_bytes{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\"}) without(host))",
+              "expr": "sum(host_user:libvirt_domain_memory_actual_balloon_bytes{host=~\"$host\",user_uuid=~\"$memory_allocation\"}) without(host)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -363,7 +363,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_memory_rss_bytes{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\"}) without(host))",
+              "expr": "sum(host_user:libvirt_domain_memory_rss_bytes{host=~\"$host\",user_uuid=~\"$memory_usage\"}) without(host)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -469,7 +469,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",user_uuid=~\"$file_disk_r_t\",type=\"file\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -560,7 +560,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",user_uuid=~\"$file_disk_w_t\",type=\"file\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -665,7 +665,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",user_uuid=~\"$block_disk_r_t\",type=\"block\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -756,7 +756,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",user_uuid=~\"$block_disk_w_t\",type=\"block\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -861,7 +861,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",user_uuid=~\"$net_disk_r_t\",type=\"network\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -952,7 +952,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",user_uuid=~\"$net_disk_w_t\",type=\"network\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -1058,7 +1058,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",user_uuid=~\"$file_disk_r_io\",type=\"file\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -1149,7 +1149,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",user_uuid=~\"$file_disk_w_io\",type=\"file\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -1254,7 +1254,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",user_uuid=~\"$block_disk_r_io\",type=\"block\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -1345,7 +1345,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",user_uuid=~\"$block_disk_w_io\",type=\"block\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -1450,7 +1450,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",user_uuid=~\"$net_disk_r_io\",type=\"network\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -1541,7 +1541,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",user_uuid=~\"$net_disk_w_io\",type=\"network\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -1646,7 +1646,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_capacity{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_capacity{host=~\"$host\",user_uuid=~\"$file_disk_allocation\",type=\"file\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -1737,7 +1737,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_physical{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_physical{host=~\"$host\",user_uuid=~\"$file_disk_usage\",type=\"file\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -1842,7 +1842,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_capacity{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_capacity{host=~\"$host\",user_uuid=~\"$block_disk_allocation\",type=\"block\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -1933,7 +1933,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_physical{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_physical{host=~\"$host\",user_uuid=~\"$block_disk_usage\",type=\"block\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -2038,7 +2038,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_capacity{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_capacity{host=~\"$host\",user_uuid=~\"$net_disk_allocation\",type=\"network\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -2129,7 +2129,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_block_stats_physical{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}) without(host,source_file,target_device))",
+              "expr": "sum(host_user:libvirt_domain_block_stats_physical{host=~\"$host\",user_uuid=~\"$net_disk_usage\",type=\"network\"}) without(host,source_file,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -2233,7 +2233,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_interface_stats_receive_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\"}) without(host,source_bridge,target_device))",
+              "expr": "sum(host_user:libvirt_domain_interface_stats_receive_bytes:rate5m{host=~\"$host\",user_uuid=~\"$network_rx\"}) without(host,source_bridge,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -2323,7 +2323,7 @@
           "steppedLine": false,
           "targets": [
             {
-              "expr": "topk($topx,sum(host_user:libvirt_domain_interface_stats_transmit_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\"}) without(host,source_bridge,target_device))",
+              "expr": "sum(host_user:libvirt_domain_interface_stats_transmit_bytes:rate5m{host=~\"$host\",user_uuid=~\"$network_tx\"}) without(host,source_bridge,target_device)",
               "format": "time_series",
               "intervalFactor": 1,
               "legendFormat": "${host_aggregate:csv} / {{project_name}} / {{user_name}}",
@@ -2539,6 +2539,582 @@
         "tagsQuery": "",
         "type": "query",
         "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "cpu_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_info_virtual_cpus{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\"}[${__range_s}s])) without(host)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "cpu_usage",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_info_cpu_time_seconds:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\"}[${__range_s}s])) without(host)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "memory_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_memory_actual_balloon_bytes{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\"}[${__range_s}s])) without(host)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "memory_usage",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_memory_rss_bytes{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\"}[${__range_s}s])) without(host)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_r_t",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_w_t",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_r_t",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_w_t",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_r_t",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_read_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_w_t",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_write_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_r_io",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_w_io",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_r_io",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_w_io",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_r_io",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_read_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_w_io",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_write_requests:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_capacity{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "file_disk_usage",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_physical{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"file\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_capacity{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "block_disk_usage",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_physical{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"block\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_allocation",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_capacity{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "net_disk_usage",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_block_stats_physical{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\",type=\"network\"}[${__range_s}s])) without(host,source_file,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "network_rx",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_interface_stats_receive_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\"}[${__range_s}s])) without(host,source_bridge,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allValue": null,
+        "current": {
+          "text": "All",
+          "value": "$__all"
+        },
+        "datasource": "prometheus",
+        "hide": 2,
+        "includeAll": true,
+        "label": null,
+        "multi": true,
+        "name": "network_tx",
+        "options": [],
+        "query": "query_result(topk($topx,sum(avg_over_time(host_user:libvirt_domain_interface_stats_transmit_bytes:rate5m{host=~\"$host\",project_name=~\"$project_name\",user_name=~\"$user_name\"}[${__range_s}s])) without(host,source_bridge,target_device)))",
+        "refresh": 2,
+        "regex": "/.*user_uuid=\"(.*?)\".*/",
+        "skipUrlSync": false,
+        "sort": 0,
+        "tagValuesQuery": "",
+        "tags": [],
+        "tagsQuery": "",
+        "type": "query",
+        "useTags": false
       }
     ]
   },
diff --git a/nova/meta/prometheus.yml b/nova/meta/prometheus.yml
index 323ec01..cc48363 100644
--- a/nova/meta/prometheus.yml
+++ b/nova/meta/prometheus.yml
@@ -101,6 +101,9 @@
     libvirt_domain_block_stats_read_bytes:rate5m:
       query: >-
         rate(libvirt_domain_block_stats_read_bytes_total[5m])
+    instance:libvirt_domain_block_stats_read_bytes:rate5m:
+      query: >-
+        sum(libvirt_domain_block_stats_read_bytes:rate5m) without (source_file,target_device)
     host_user:libvirt_domain_block_stats_read_bytes:rate5m:
       query: >-
         sum(libvirt_domain_block_stats_read_bytes:rate5m) by (host,project_name,project_uuid,type,user_name,user_uuid)
@@ -110,6 +113,9 @@
     libvirt_domain_block_stats_read_requests:rate5m:
       query: >-
         rate(libvirt_domain_block_stats_read_requests_total[5m])
+    instance:libvirt_domain_block_stats_read_requests:rate5m:
+      query: >-
+        sum(libvirt_domain_block_stats_read_requests:rate5m) without (source_file,target_device)
     host_user:libvirt_domain_block_stats_read_requests:rate5m:
       query: >-
         sum(libvirt_domain_block_stats_read_requests:rate5m) by (host,project_name,project_uuid,type,user_name,user_uuid)
@@ -119,6 +125,9 @@
     libvirt_domain_block_stats_write_bytes:rate5m:
       query: >-
         rate(libvirt_domain_block_stats_write_bytes_total[5m])
+    instance:libvirt_domain_block_stats_write_bytes:rate5m:
+      query: >-
+        sum(libvirt_domain_block_stats_write_bytes:rate5m) without (source_file,target_device)
     host_user:libvirt_domain_block_stats_write_bytes:rate5m:
       query: >-
         sum(libvirt_domain_block_stats_write_bytes:rate5m) by (host,project_name,project_uuid,type,user_name,user_uuid)
@@ -128,24 +137,36 @@
     libvirt_domain_block_stats_write_requests:rate5m:
       query: >-
         rate(libvirt_domain_block_stats_write_requests_total[5m])
+    instance:libvirt_domain_block_stats_write_requests:rate5m:
+      query: >-
+        sum(libvirt_domain_block_stats_write_requests:rate5m) without (source_file,target_device)
     host_user:libvirt_domain_block_stats_write_requests:rate5m:
       query: >-
         sum(libvirt_domain_block_stats_write_requests:rate5m) by (host,project_name,project_uuid,type,user_name,user_uuid)
     host_project:libvirt_domain_block_stats_write_requests:rate5m:
       query: >-
         sum(libvirt_domain_block_stats_write_requests:rate5m) by (host,project_name,project_uuid,type)
+    instance:libvirt_domain_block_stats_allocation:
+      query: >-
+        sum(libvirt_domain_block_stats_allocation) without (source_file,target_device)
     host_user:libvirt_domain_block_stats_allocation:
       query: >-
         sum(libvirt_domain_block_stats_allocation) by (host,project_name,project_uuid,type,user_name,user_uuid)
     host_project:libvirt_domain_block_stats_allocation:
       query: >-
         sum(libvirt_domain_block_stats_allocation) by (host,project_name,project_uuid,type)
+    instance:libvirt_domain_block_stats_capacity:
+      query: >-
+        sum(libvirt_domain_block_stats_capacity) without (source_file,target_device)
     host_user:libvirt_domain_block_stats_capacity:
       query: >-
         sum(libvirt_domain_block_stats_capacity) by (host,project_name,project_uuid,type,user_name,user_uuid)
     host_project:libvirt_domain_block_stats_capacity:
       query: >-
         sum(libvirt_domain_block_stats_capacity) by (host,project_name,project_uuid,type)
+    instance:libvirt_domain_block_stats_physical:
+      query: >-
+        sum(libvirt_domain_block_stats_physical) without (source_file,target_device)
     host_user:libvirt_domain_block_stats_physical:
       query: >-
         sum(libvirt_domain_block_stats_physical) by (host,project_name,project_uuid,type,user_name,user_uuid)
@@ -156,6 +177,9 @@
     libvirt_domain_interface_stats_receive_drops:rate5m:
       query: >-
         rate(libvirt_domain_interface_stats_receive_drops_total[5m])
+    instance:libvirt_domain_interface_stats_receive_drops:rate5m:
+      query: >-
+        sum(libvirt_domain_interface_stats_receive_drops:rate5m) without (source_bridge,target_device)
     host_user:libvirt_domain_interface_stats_receive_drops:rate5m:
       query: >-
         sum(libvirt_domain_interface_stats_receive_drops:rate5m) by (host,project_name,project_uuid,user_name,user_uuid)
@@ -165,6 +189,9 @@
     libvirt_domain_interface_stats_receive_errors:rate5m:
       query: >-
         rate(libvirt_domain_interface_stats_receive_errors_total[5m])
+    instance:libvirt_domain_interface_stats_receive_errors:rate5m:
+      query: >-
+        sum(libvirt_domain_interface_stats_receive_errors:rate5m) without (source_bridge,target_device)
     host_user:libvirt_domain_interface_stats_receive_errors:rate5m:
       query: >-
         sum(libvirt_domain_interface_stats_receive_errors:rate5m) by (host,project_name,project_uuid,user_name,user_uuid)
@@ -174,6 +201,9 @@
     libvirt_domain_interface_stats_receive_packets:rate5m:
       query: >-
         rate(libvirt_domain_interface_stats_receive_packets_total[5m])
+    instance:libvirt_domain_interface_stats_receive_packets:rate5m:
+      query: >-
+        sum(libvirt_domain_interface_stats_receive_packets:rate5m) without (source_bridge,target_device)
     host_user:libvirt_domain_interface_stats_receive_packets:rate5m:
       query: >-
         sum(libvirt_domain_interface_stats_receive_packets:rate5m) by (host,project_name,project_uuid,user_name,user_uuid)
@@ -183,6 +213,9 @@
     libvirt_domain_interface_stats_transmit_bytes:rate5m:
       query: >-
         rate(libvirt_domain_interface_stats_transmit_bytes_total[5m])
+    instance:libvirt_domain_interface_stats_transmit_bytes:rate5m:
+      query: >-
+        sum(libvirt_domain_interface_stats_transmit_bytes:rate5m) without (source_bridge,target_device)
     host_user:libvirt_domain_interface_stats_transmit_bytes:rate5m:
       query: >-
         sum(libvirt_domain_interface_stats_transmit_bytes:rate5m) by (host,project_name,project_uuid,user_name,user_uuid)
@@ -192,6 +225,9 @@
     libvirt_domain_interface_stats_transmit_drops:rate5m:
       query: >-
         rate(libvirt_domain_interface_stats_transmit_drops_total[5m])
+    instance:libvirt_domain_interface_stats_transmit_drops:rate5m:
+      query: >-
+        sum(libvirt_domain_interface_stats_transmit_drops:rate5m) without (source_bridge,target_device)
     host_user:libvirt_domain_interface_stats_transmit_drops:rate5m:
       query: >-
         sum(libvirt_domain_interface_stats_transmit_drops:rate5m) by (host,project_name,project_uuid,user_name,user_uuid)
@@ -201,6 +237,9 @@
     libvirt_domain_interface_stats_transmit_errors:rate5m:
       query: >-
         rate(libvirt_domain_interface_stats_transmit_errors_total[5m])
+    instance:libvirt_domain_interface_stats_transmit_errors:rate5m:
+      query: >-
+        sum(libvirt_domain_interface_stats_transmit_errors:rate5m) without (source_bridge,target_device)
     host_user:libvirt_domain_interface_stats_transmit_errors:rate5m:
       query: >-
         sum(libvirt_domain_interface_stats_transmit_errors:rate5m) by (host,project_name,project_uuid,user_name,user_uuid)
@@ -210,6 +249,9 @@
     libvirt_domain_interface_stats_transmit_packets:rate5m:
       query: >-
         rate(libvirt_domain_interface_stats_transmit_packets_total[5m])
+    instance:libvirt_domain_interface_stats_transmit_packets:rate5m:
+      query: >-
+        sum(libvirt_domain_interface_stats_transmit_packets:rate5m) without (source_bridge,target_device)
     host_user:libvirt_domain_interface_stats_transmit_packets:rate5m:
       query: >-
         sum(libvirt_domain_interface_stats_transmit_packets:rate5m) by (host,project_name,project_uuid,user_name,user_uuid)
@@ -219,6 +261,9 @@
     libvirt_domain_interface_stats_receive_bytes:rate5m:
       query: >-
         rate(libvirt_domain_interface_stats_receive_bytes_total[5m])
+    instance:libvirt_domain_interface_stats_receive_bytes:rate5m:
+      query: >-
+        sum(libvirt_domain_interface_stats_receive_bytes:rate5m) without (source_bridge,target_device)
     host_user:libvirt_domain_interface_stats_receive_bytes:rate5m:
       query: >-
         sum(libvirt_domain_interface_stats_receive_bytes:rate5m) by (host,project_name,project_uuid,user_name,user_uuid)