Skip to content

Instantly share code, notes, and snippets.

@davaymne
Last active January 12, 2021 11:36
Show Gist options
  • Save davaymne/1b18d0653b3687dab17b5afdada9423e to your computer and use it in GitHub Desktop.
Save davaymne/1b18d0653b3687dab17b5afdada9423e to your computer and use it in GitHub Desktop.
Grafana - Main Page
{
"__inputs": [
{
"name": "DS_GRAPHQL_DATA SOURCE",
"label": "GraphQL Data Source",
"description": "",
"type": "datasource",
"pluginId": "fifemon-graphql-datasource",
"pluginName": "GraphQL Data Source"
},
{
"name": "DS_PROMETHEUS",
"label": "prometheus",
"description": "",
"type": "datasource",
"pluginId": "prometheus",
"pluginName": "Prometheus"
},
{
"name": "DS_POSTGRES",
"label": "postgres",
"description": "",
"type": "datasource",
"pluginId": "postgres",
"pluginName": "PostgreSQL"
},
{
"name": "DS_POSTGRESAGENT",
"label": "postgresAgent",
"description": "",
"type": "datasource",
"pluginId": "postgres",
"pluginName": "PostgreSQL"
}
],
"__requires": [
{
"type": "datasource",
"id": "fifemon-graphql-datasource",
"name": "GraphQL Data Source",
"version": "1.1.3"
},
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "7.1.1"
},
{
"type": "panel",
"id": "graph",
"name": "Graph",
"version": ""
},
{
"type": "datasource",
"id": "postgres",
"name": "PostgreSQL",
"version": "1.0.0"
},
{
"type": "datasource",
"id": "prometheus",
"name": "Prometheus",
"version": "1.0.0"
},
{
"type": "panel",
"id": "stat",
"name": "Stat",
"version": ""
},
{
"type": "panel",
"id": "table",
"name": "Table",
"version": ""
},
{
"type": "panel",
"id": "table-old",
"name": "Table (old)",
"version": ""
}
],
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": null,
"iteration": 1607434908207,
"links": [],
"panels": [
{
"datasource": "${DS_GRAPHQL_DATA SOURCE}",
"fieldConfig": {
"defaults": {
"custom": {
"align": null
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "rewardsEarned"
},
"properties": [
{
"id": "unit",
"value": "short"
},
{
"id": "decimals"
}
]
},
{
"matcher": {
"id": "byName",
"options": "queryFeesCollected"
},
"properties": [
{
"id": "unit",
"value": "short"
}
]
}
]
},
"gridPos": {
"h": 2,
"w": 2,
"x": 0,
"y": 0
},
"id": 49,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"last"
],
"fields": "/^rewardsEarned$/",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "7.1.1",
"targets": [
{
"aliasBy": "",
"annotationTags": "",
"annotationText": "",
"annotationTitle": "",
"constant": 6.5,
"dataPath": "indexer",
"groupBy": "",
"queryText": "{\n indexer(id: \"0x14c7db0bf796060da7212c0f851ce62a47805502\", orderBy: rewardsEarned, orderDirection: desc) {\n id\n account{\n names {\n name\n }\n }\n rewardsEarned\n queryFeesCollected\n }\n}\n",
"refId": "B"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Reward",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"account.names.0.name": true,
"id": true
},
"indexByName": {},
"renameByName": {}
}
}
],
"type": "stat"
},
{
"datasource": "${DS_GRAPHQL_DATA SOURCE}",
"fieldConfig": {
"defaults": {
"custom": {
"align": null
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "rewardsEarned"
},
"properties": [
{
"id": "unit",
"value": "short"
}
]
},
{
"matcher": {
"id": "byName",
"options": "queryFeesCollected"
},
"properties": [
{
"id": "unit",
"value": "short"
}
]
}
]
},
"gridPos": {
"h": 2,
"w": 2,
"x": 2,
"y": 0
},
"id": 48,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"last"
],
"fields": "/^queryFeesCollected$/",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "7.1.1",
"targets": [
{
"aliasBy": "",
"annotationTags": "",
"annotationText": "",
"annotationTitle": "",
"constant": 6.5,
"dataPath": "indexer",
"groupBy": "",
"queryText": "{\n indexer(id: \"0x14c7db0bf796060da7212c0f851ce62a47805502\", orderBy: rewardsEarned, orderDirection: desc) {\n id\n account{\n names {\n name\n }\n }\n rewardsEarned\n queryFeesCollected\n }\n}\n",
"refId": "B"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Query Fees",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"account.names.0.name": true,
"id": true
},
"indexByName": {},
"renameByName": {}
}
}
],
"type": "stat"
},
{
"aliasColors": {},
"bars": false,
"cacheTimeout": null,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_PROMETHEUS}",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 8,
"fillGradient": 0,
"gridPos": {
"h": 4,
"w": 5,
"x": 4,
"y": 0
},
"hiddenSeries": false,
"id": 44,
"legend": {
"alignAsTable": true,
"avg": false,
"current": false,
"max": false,
"min": false,
"show": false,
"sort": "total",
"sortDesc": true,
"total": true,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "connected",
"percentage": false,
"pluginVersion": "7.1.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
"repeatDirection": "v",
"seriesOverrides": [],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"targets": [
{
"expr": "sum(increase(query_execution_time_count[1m])) by (deployment)",
"format": "time_series",
"instant": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "{{subgraph_deployment}}",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Queries (All Subgraphs)",
"tooltip": {
"shared": true,
"sort": 2,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "locale",
"label": "",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_PROMETHEUS}",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 4,
"w": 5,
"x": 9,
"y": 0
},
"hiddenSeries": false,
"id": 46,
"legend": {
"alignAsTable": false,
"avg": true,
"current": false,
"max": false,
"min": false,
"show": false,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"percentage": false,
"pluginVersion": "7.1.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum(increase(indexer_service_queries_total[1m]))",
"interval": "",
"legendFormat": "Total",
"refId": "A"
},
{
"expr": "sum(increase(indexer_service_queries_failed[1m]))",
"interval": "",
"legendFormat": "Failed",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Service Queries Total vs Failed",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_PROMETHEUS}",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 4,
"w": 5,
"x": 14,
"y": 0
},
"hiddenSeries": false,
"id": 55,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"percentage": false,
"pluginVersion": "7.1.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "increase(indexer_service_cost_model_batch_queries[1m])",
"interval": "",
"legendFormat": "{{job}}",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Service Cost Model Batch Queries",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"alert": {
"alertRuleTags": {},
"conditions": [
{
"evaluator": {
"params": [
2
],
"type": "lt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A",
"5m",
"now"
]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"executionErrorState": "alerting",
"for": "15m",
"frequency": "1m",
"handler": 1,
"message": "Blocks Processed per Minute (all subgraphs) alert",
"name": "Blocks Processed per Minute (all subgraphs) alert",
"noDataState": "no_data",
"notifications": []
},
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_PROMETHEUS}",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 4,
"w": 5,
"x": 19,
"y": 0
},
"hiddenSeries": false,
"id": 39,
"legend": {
"avg": true,
"current": false,
"max": true,
"min": true,
"show": false,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"percentage": false,
"pluginVersion": "7.1.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum(increase(deployment_block_processing_duration_sum[1m]))",
"interval": "",
"legendFormat": "",
"refId": "A"
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "lt",
"value": 2
}
],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Blocks Processed per Minute (all subgraphs)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"datasource": "${DS_POSTGRES}",
"fieldConfig": {
"defaults": {
"custom": {
"align": null
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "#EAB839",
"value": 50
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "deployment"
},
"properties": [
{
"id": "thresholds",
"value": {
"mode": "absolute",
"steps": [
{
"color": "white",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
}
]
}
]
},
"gridPos": {
"h": 3,
"w": 2,
"x": 0,
"y": 2
},
"id": 10,
"links": [],
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"count"
],
"fields": "/^deployment$/",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "7.1.1",
"targets": [
{
"format": "table",
"group": [],
"metricColumn": "none",
"rawQuery": true,
"rawSql": "-- grafana ignore\nselect\n g.name || (case\n when g.pending_version = v.id then ' (P)'\n when g.current_version = v.id then ' (C)'\n else ' (U)' end) as subgraph_name,\n m.description as description,\n d.id as deployment,\n s.id as schema,\n replace(a.node_id, 'index_node_','') as nodeId,\n sd.health as health,\n (case when sd.health = 'healthy' then 0\n when sd.health = 'failed' then 2 end) health_map,\n --sd.failed as failed,\n d.synced::text,\n n.name as network,\n (n.head_block_number - d.latest_ethereum_block_number) as blocks_behind_network,\n (case when n.name = 'mainnet' then ((n.head_block_number - d.latest_ethereum_block_number)/4)::text\n when n.name = 'rinkeby' then ((n.head_block_number - d.latest_ethereum_block_number)/4)::text\n when n.name = 'kovan' then ((n.head_block_number - d.latest_ethereum_block_number)/15)::text\n when n.name = 'poa-core' then ((n.head_block_number - d.latest_ethereum_block_number)/12)::text\n else 'ø' end) as lag\nfrom subgraphs.subgraph_deployment as d,\n subgraphs.subgraph_deployment_assignment as a,\n subgraphs.subgraph_version as v,\n subgraphs.subgraph as g,\n subgraphs.ethereum_contract_data_source as ds,\n subgraphs.subgraph_manifest m,\n ethereum_networks as n,\n deployment_schemas as s,\n subgraphs.subgraph_deployment_detail as sd\nwhere g.id = v.subgraph\n and v.id in (g.pending_version, g.current_version)\n and a.id = d.id\n and m.id = d.manifest \n and ds.id = m.data_sources[1]\n and s.subgraph = d.id\n and v.deployment = d.id\n --and not d.failed\n and n.name = ds.network\n and sd.manifest = m.id\norder by blocks_behind_network desc, subgraph_name;",
"refId": "A",
"select": [
[
{
"params": [
"value"
],
"type": "column"
}
]
],
"timeColumn": "time",
"where": [
{
"name": "$__timeFilter",
"params": [],
"type": "macro"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Subgraphs Total ",
"transformations": [],
"type": "stat"
},
{
"datasource": "${DS_POSTGRES}",
"fieldConfig": {
"defaults": {
"custom": {
"align": null
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "dark-red",
"value": null
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "deployment"
},
"properties": [
{
"id": "thresholds",
"value": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "dark-red",
"value": 0
}
]
}
}
]
}
]
},
"gridPos": {
"h": 2,
"w": 2,
"x": 2,
"y": 2
},
"id": 35,
"links": [],
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"count"
],
"fields": "/^deployment$/",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "7.1.1",
"targets": [
{
"format": "table",
"group": [],
"metricColumn": "none",
"rawQuery": true,
"rawSql": "-- grafana ignore\nselect\n g.name || (case\n when g.pending_version = v.id then ' (P)'\n when g.current_version = v.id then ' (C)'\n else ' (U)' end) as subgraph_name,\n m.description as description,\n d.id as deployment,\n s.id as schema,\n replace(a.node_id, 'index_node_','') as nodeId,\n sd.health as health,\n (case when sd.health = 'healthy' then 0\n when sd.health = 'failed' then 2 end) health_map,\n --sd.failed as failed,\n d.synced::text,\n n.name as network,\n (n.head_block_number - d.latest_ethereum_block_number) as blocks_behind_network,\n (case when n.name = 'mainnet' then ((n.head_block_number - d.latest_ethereum_block_number)/4)::text\n when n.name = 'rinkeby' then ((n.head_block_number - d.latest_ethereum_block_number)/4)::text\n when n.name = 'kovan' then ((n.head_block_number - d.latest_ethereum_block_number)/15)::text\n when n.name = 'poa-core' then ((n.head_block_number - d.latest_ethereum_block_number)/12)::text\n else 'ø' end) as lag\nfrom subgraphs.subgraph_deployment as d,\n subgraphs.subgraph_deployment_assignment as a,\n subgraphs.subgraph_version as v,\n subgraphs.subgraph as g,\n subgraphs.ethereum_contract_data_source as ds,\n subgraphs.subgraph_manifest m,\n ethereum_networks as n,\n deployment_schemas as s,\n subgraphs.subgraph_deployment_detail as sd\nwhere g.id = v.subgraph\n and v.id in (g.pending_version, g.current_version)\n and a.id = d.id\n and m.id = d.manifest \n and ds.id = m.data_sources[1]\n and s.subgraph = d.id\n and v.deployment = d.id\n and d.failed\n and n.name = ds.network\n and sd.manifest = m.id\norder by blocks_behind_network desc, subgraph_name;",
"refId": "A",
"select": [
[
{
"params": [
"value"
],
"type": "column"
}
]
],
"timeColumn": "time",
"where": [
{
"name": "$__timeFilter",
"params": [],
"type": "macro"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Failed",
"transformations": [],
"type": "stat"
},
{
"datasource": "${DS_POSTGRES}",
"fieldConfig": {
"defaults": {
"custom": {
"align": null
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "#EAB839",
"value": 50
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 2,
"w": 2,
"x": 2,
"y": 4
},
"id": 42,
"links": [],
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"count"
],
"fields": "/^deployment$/",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "7.1.1",
"targets": [
{
"format": "table",
"group": [],
"metricColumn": "none",
"rawQuery": true,
"rawSql": "-- grafana ignore\nselect\n g.name || (case\n when g.pending_version = v.id then ' (P)'\n when g.current_version = v.id then ' (C)'\n else ' (U)' end) as subgraph_name,\n m.description as description,\n d.id as deployment,\n s.id as schema,\n replace(a.node_id, 'index_node_','') as nodeId,\n sd.health as health,\n (case when sd.health = 'healthy' then 0\n when sd.health = 'failed' then 2 end) health_map,\n --sd.failed as failed,\n d.synced::text,\n n.name as network,\n (n.head_block_number - d.latest_ethereum_block_number) as blocks_behind_network,\n (case when n.name = 'mainnet' then ((n.head_block_number - d.latest_ethereum_block_number)/4)::text\n when n.name = 'rinkeby' then ((n.head_block_number - d.latest_ethereum_block_number)/4)::text\n when n.name = 'kovan' then ((n.head_block_number - d.latest_ethereum_block_number)/15)::text\n when n.name = 'poa-core' then ((n.head_block_number - d.latest_ethereum_block_number)/12)::text\n else 'ø' end) as lag\nfrom subgraphs.subgraph_deployment as d,\n subgraphs.subgraph_deployment_assignment as a,\n subgraphs.subgraph_version as v,\n subgraphs.subgraph as g,\n subgraphs.ethereum_contract_data_source as ds,\n subgraphs.subgraph_manifest m,\n ethereum_networks as n,\n deployment_schemas as s,\n subgraphs.subgraph_deployment_detail as sd\nwhere g.id = v.subgraph\n and v.id in (g.pending_version, g.current_version)\n and a.id = d.id\n and m.id = d.manifest \n and ds.id = m.data_sources[1]\n and s.subgraph = d.id\n and v.deployment = d.id\n --and not d.failed\n and n.name = ds.network\n and sd.manifest = m.id\n and sd.health = 'healthy'\n and a.node_id LIKE '%index_node_%'\norder by blocks_behind_network desc, subgraph_name;",
"refId": "A",
"select": [
[
{
"params": [
"value"
],
"type": "column"
}
]
],
"timeColumn": "time",
"where": [
{
"name": "$__timeFilter",
"params": [],
"type": "macro"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Running",
"transformations": [],
"type": "stat"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_PROMETHEUS}",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 4,
"w": 5,
"x": 4,
"y": 4
},
"hiddenSeries": false,
"id": 51,
"legend": {
"alignAsTable": false,
"avg": true,
"current": false,
"max": false,
"min": false,
"show": false,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"percentage": false,
"pluginVersion": "7.1.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum(indexer_service_queries_total)",
"interval": "",
"legendFormat": "Total",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Service Queries Total ",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_PROMETHEUS}",
"fieldConfig": {
"defaults": {
"custom": {},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"fill": 4,
"fillGradient": 0,
"gridPos": {
"h": 4,
"w": 5,
"x": 9,
"y": 4
},
"hiddenSeries": false,
"id": 50,
"legend": {
"alignAsTable": true,
"avg": true,
"current": false,
"max": false,
"min": false,
"rightSide": true,
"show": false,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"percentage": false,
"pluginVersion": "7.1.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "rate(indexer_error[5m])",
"interval": "",
"legendFormat": "{{job}}-{{code}}",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Service Indexer Error",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_PROMETHEUS}",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 4,
"fillGradient": 0,
"gridPos": {
"h": 4,
"w": 5,
"x": 14,
"y": 4
},
"hiddenSeries": false,
"id": 53,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"percentage": false,
"pluginVersion": "7.1.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"targets": [
{
"expr": "sum(increase(indexer_service_channel_messages_total[1m])) by (job)",
"interval": "",
"legendFormat": "{{job}}",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Service Channel Message Total",
"tooltip": {
"shared": true,
"sort": 2,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_PROMETHEUS}",
"fieldConfig": {
"defaults": {
"custom": {
"align": null
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 4,
"w": 5,
"x": 19,
"y": 4
},
"hiddenSeries": false,
"id": 37,
"legend": {
"avg": true,
"current": false,
"max": true,
"min": true,
"show": false,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"percentage": false,
"pluginVersion": "7.1.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum(deployment_blocks_behind)",
"interval": "",
"legendFormat": "",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Blocks behind over time (all subgraphs)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"datasource": "${DS_PROMETHEUS}",
"fieldConfig": {
"defaults": {
"custom": {},
"mappings": [
{
"from": "",
"id": 0,
"text": "",
"to": "",
"type": 1
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "cost_model_automation_grt_per_dai{instance=\"indexer-agent:7300\", job=\"indexer-agent\"}"
},
"properties": [
{
"id": "decimals",
"value": 5
}
]
}
]
},
"gridPos": {
"h": 3,
"w": 2,
"x": 0,
"y": 5
},
"id": 41,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"last"
],
"fields": "/^cost_model_automation_grt_per_dai\\{instance=\"indexer\\-agent:7300\", job=\"indexer-agent\"\\}$/",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "7.1.1",
"targets": [
{
"expr": "cost_model_automation_grt_per_dai",
"interval": "",
"legendFormat": "",
"refId": "A"
}
],
"timeFrom": null,
"timeShift": null,
"title": "GRT per DAI",
"type": "stat"
},
{
"datasource": "${DS_POSTGRES}",
"fieldConfig": {
"defaults": {
"custom": {
"align": null
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "yellow",
"value": null
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "deployment"
},
"properties": [
{
"id": "thresholds",
"value": {
"mode": "absolute",
"steps": [
{
"color": "yellow",
"value": null
}
]
}
}
]
}
]
},
"gridPos": {
"h": 2,
"w": 2,
"x": 2,
"y": 6
},
"id": 40,
"links": [],
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"count"
],
"fields": "/^deployment$/",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "7.1.1",
"targets": [
{
"format": "table",
"group": [],
"metricColumn": "none",
"rawQuery": true,
"rawSql": "-- grafana ignore\nselect\na.node_id,\n g.name || (case\n when g.pending_version = v.id then ' (P)'\n when g.current_version = v.id then ' (C)'\n else ' (U)' end) as subgraph_name,\n m.description as description,\n d.id as deployment,\n s.id as schema,\n (case when a.node_id like '%node%' then replace(a.node_id, 'index_node_','')\n else 'stopped' end) as nodeId,\n sd.health as health,\n (case when sd.health = 'healthy' then 0\n when sd.health = 'failed' then 2 end) health_map,\n --sd.failed as failed,\n d.synced::text,\n n.name as network,\n (n.head_block_number - d.latest_ethereum_block_number) as blocks_behind_network,\n (case when n.name = 'mainnet' then ((n.head_block_number - d.latest_ethereum_block_number)/4)::text\n when n.name = 'rinkeby' then ((n.head_block_number - d.latest_ethereum_block_number)/4)::text\n when n.name = 'kovan' then ((n.head_block_number - d.latest_ethereum_block_number)/15)::text\n when n.name = 'poa-core' then ((n.head_block_number - d.latest_ethereum_block_number)/12)::text\n else 'ø' end) as lag\nfrom subgraphs.subgraph_deployment as d,\n subgraphs.subgraph_deployment_assignment as a,\n subgraphs.subgraph_version as v,\n subgraphs.subgraph as g,\n subgraphs.ethereum_contract_data_source as ds,\n subgraphs.subgraph_manifest m,\n ethereum_networks as n,\n deployment_schemas as s,\n subgraphs.subgraph_deployment_detail as sd\nwhere g.id = v.subgraph\n and v.id in (g.pending_version, g.current_version)\n and a.id = d.id\n and m.id = d.manifest \n and ds.id = m.data_sources[1]\n and s.subgraph = d.id\n and v.deployment = d.id\n --and d.failed\n and n.name = ds.network\n and sd.manifest = m.id\n and a.node_id = 'removed'\norder by blocks_behind_network desc, subgraph_name;",
"refId": "A",
"select": [
[
{
"params": [
"value"
],
"type": "column"
}
]
],
"timeColumn": "time",
"where": [
{
"name": "$__timeFilter",
"params": [],
"type": "macro"
}
]
},
{
"format": "table",
"group": [],
"hide": true,
"metricColumn": "none",
"rawQuery": true,
"rawSql": "-- grafana ignore\nselect\n g.name || (case\n when g.pending_version = v.id then ' (P)'\n when g.current_version = v.id then ' (C)'\n else ' (U)' end) as subgraph_name,\n m.description as description,\n d.id as deployment,\n s.id as schema,\n (case when a.node_id like '%node%' then replace(a.node_id, 'index_node_','')\n else 'stopped' end) as nodeId,\n sd.health as health,\n (case when sd.health = 'healthy' then 0\n when sd.health = 'failed' then 2 end) health_map,\n --sd.failed as failed,\n d.synced::text,\n n.name as network,\n (n.head_block_number - d.latest_ethereum_block_number) as blocks_behind_network,\n (case when n.name = 'mainnet' then ((n.head_block_number - d.latest_ethereum_block_number)/4)::text\n when n.name = 'rinkeby' then ((n.head_block_number - d.latest_ethereum_block_number)/4)::text\n when n.name = 'kovan' then ((n.head_block_number - d.latest_ethereum_block_number)/15)::text\n when n.name = 'poa-core' then ((n.head_block_number - d.latest_ethereum_block_number)/12)::text\n else 'ø' end) as lag\nfrom subgraphs.subgraph_deployment as d,\n subgraphs.subgraph_deployment_assignment as a,\n subgraphs.subgraph_version as v,\n subgraphs.subgraph as g,\n subgraphs.ethereum_contract_data_source as ds,\n subgraphs.subgraph_manifest m,\n ethereum_networks as n,\n deployment_schemas as s,\n subgraphs.subgraph_deployment_detail as sd\nwhere g.id = v.subgraph\n and v.id in (g.pending_version, g.current_version)\n and a.id = d.id\n and m.id = d.manifest \n and ds.id = m.data_sources[1]\n and s.subgraph = d.id\n and v.deployment = d.id\n and d.failed\n and n.name = ds.network\n and sd.manifest = m.id\n and a.node_id = 'removed'\norder by blocks_behind_network desc, subgraph_name;",
"refId": "B",
"select": [
[
{
"params": [
"value"
],
"type": "column"
}
]
],
"timeColumn": "time",
"where": [
{
"name": "$__timeFilter",
"params": [],
"type": "macro"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Stopped",
"transformations": [],
"type": "stat"
},
{
"datasource": "-- Mixed --",
"fieldConfig": {
"defaults": {
"custom": {
"align": null
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "deployment"
},
"properties": [
{
"id": "custom.width",
"value": 433
}
]
},
{
"matcher": {
"id": "byName",
"options": "schema"
},
"properties": [
{
"id": "custom.width",
"value": 31
}
]
},
{
"matcher": {
"id": "byName",
"options": "nodeid"
},
"properties": [
{
"id": "custom.width",
"value": 85
},
{
"id": "custom.align",
"value": "center"
}
]
},
{
"matcher": {
"id": "byName",
"options": "health"
},
"properties": [
{
"id": "custom.width",
"value": 64
},
{
"id": "custom.align",
"value": "center"
}
]
},
{
"matcher": {
"id": "byName",
"options": "synced"
},
"properties": [
{
"id": "custom.width",
"value": 53
},
{
"id": "custom.align",
"value": "center"
}
]
},
{
"matcher": {
"id": "byName",
"options": "lag"
},
"properties": [
{
"id": "custom.width",
"value": 82
},
{
"id": "unit",
"value": "m"
},
{
"id": "noValue",
"value": "0"
},
{
"id": "decimals",
"value": 1
}
]
},
{
"matcher": {
"id": "byName",
"options": "blocks_behind_network"
},
"properties": [
{
"id": "custom.width",
"value": 88
}
]
},
{
"matcher": {
"id": "byName",
"options": "network"
},
"properties": [
{
"id": "custom.width",
"value": 65
}
]
},
{
"matcher": {
"id": "byName",
"options": "entity_count"
},
"properties": [
{
"id": "custom.width",
"value": 96
}
]
},
{
"matcher": {
"id": "byName",
"options": "latest_block"
},
"properties": [
{
"id": "custom.width",
"value": 119
}
]
},
{
"matcher": {
"id": "byName",
"options": "description"
},
"properties": [
{
"id": "custom.width",
"value": 218
}
]
},
{
"matcher": {
"id": "byName",
"options": "allocation"
},
"properties": [
{
"id": "custom.width",
"value": 104
}
]
},
{
"matcher": {
"id": "byName",
"options": "QPM"
},
"properties": [
{
"id": "custom.width",
"value": 68
}
]
},
{
"matcher": {
"id": "byName",
"options": "QPS"
},
"properties": [
{
"id": "custom.width",
"value": 42
}
]
}
]
},
"gridPos": {
"h": 15,
"w": 24,
"x": 0,
"y": 8
},
"id": 34,
"links": [],
"options": {
"showHeader": true,
"sortBy": [
{
"desc": false,
"displayName": "nodeid"
}
]
},
"pluginVersion": "7.1.1",
"targets": [
{
"datasource": "${DS_POSTGRES}",
"format": "table",
"group": [],
"hide": false,
"metricColumn": "none",
"rawQuery": true,
"rawSql": "-- grafana ignore\nselect\n g.name || (case\n when g.pending_version = v.id then ' (P)'\n when g.current_version = v.id then ' (C)'\n else ' (U)' end) as subgraph_name,\n m.description as description,\n sd.entity_count as entity_count,\n d.id as deployment,\n s.id as schema,\n (case when a.node_id like '%node%' then replace(a.node_id, 'index_node_','')\n else 'stopped' end) as nodeId,\n sd.health as health,\n (case when sd.health = 'healthy' then 0\n when sd.health = 'failed' then 2 end) health_map,\n --sd.failed as failed,\n --d.synced::text,\n (case when d.synced then '✔' else '-' end) as synced,\n n.name as network,\n d.latest_ethereum_block_number as latest_block,\n (n.head_block_number - d.latest_ethereum_block_number) as blocks_behind_network,\n (case when n.name = 'mainnet' then ((n.head_block_number - d.latest_ethereum_block_number)/4)::decimal\n when n.name = 'rinkeby' then ((n.head_block_number - d.latest_ethereum_block_number)/4)::decimal\n when n.name = 'kovan' then ((n.head_block_number - d.latest_ethereum_block_number)/15)::decimal\n when n.name = 'poa-core' then ((n.head_block_number - d.latest_ethereum_block_number)/12)::decimal --text\n else 0 end) as lag --'ø'\nfrom subgraphs.subgraph_deployment as d,\n subgraphs.subgraph_deployment_assignment as a,\n subgraphs.subgraph_version as v,\n subgraphs.subgraph as g,\n subgraphs.ethereum_contract_data_source as ds,\n subgraphs.subgraph_manifest m,\n ethereum_networks as n,\n deployment_schemas as s,\n subgraphs.subgraph_deployment_detail as sd\nwhere g.id = v.subgraph\n and v.id in (g.pending_version, g.current_version)\n and a.id = d.id\n and m.id = d.manifest \n and ds.id = m.data_sources[1]\n and s.subgraph = d.id\n and v.deployment = d.id\n --and not d.failed\n and n.name = ds.network\n and sd.manifest = m.id\norder by blocks_behind_network desc, subgraph_name;",
"refId": "A",
"select": [
[
{
"params": [
"value"
],
"type": "column"
}
]
],
"timeColumn": "time",
"where": [
{
"name": "$__timeFilter",
"params": [],
"type": "macro"
}
]
},
{
"datasource": "${DS_POSTGRESAGENT}",
"format": "table",
"group": [],
"hide": false,
"metricColumn": "none",
"rawQuery": true,
"rawSql": "SELECT \nd.ipfs as deployment,\nr.\"allocationAmount\"/1000000000000000000 as allocation,\nm.model as model\nFROM subgraphs_desc as d\nLEFT JOIN public.\"IndexingRules\" as r ON d.bytes32 = r.deployment\nLEFT JOIN public.\"CostModels\" as m ON d.bytes32 = m.deployment\nWHERE d.bytes32 = r.deployment",
"refId": "B",
"select": [
[
{
"params": [
"value"
],
"type": "column"
}
]
],
"timeColumn": "time",
"where": [
{
"name": "$__timeFilter",
"params": [],
"type": "macro"
}
]
},
{
"datasource": "${DS_PROMETHEUS}",
"expr": "sum(increase(query_execution_time_count[1m])) by (deployment)",
"format": "table",
"interval": "",
"legendFormat": "{{deployment}}",
"refId": "C"
},
{
"datasource": "${DS_PROMETHEUS}",
"expr": "sum(rate(query_execution_time_count[1m])) by (deployment)",
"format": "table",
"hide": false,
"interval": "",
"legendFormat": "{{deployment}}",
"refId": "D"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Subgraph Block vs. Network Block",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"health_map": true,
"subgraph_name": true
},
"indexByName": {
"blocks_behind_network": 8,
"deployment": 2,
"description": 11,
"entity_count": 7,
"health": 4,
"health_map": 12,
"lag": 9,
"latest_block": 10,
"network": 6,
"nodeid": 3,
"schema": 1,
"subgraph_name": 0,
"synced": 5
},
"renameByName": {
"nodeid": ""
}
}
},
{
"id": "seriesToColumns",
"options": {
"byField": "deployment"
}
},
{
"id": "organize",
"options": {
"excludeByName": {
"Time": true,
"__name__": true,
"instance": true,
"job": true,
"schema": false
},
"indexByName": {
"Time": 15,
"Value #C": 11,
"Value #D": 12,
"allocation": 13,
"blocks_behind_network": 8,
"deployment": 2,
"description": 1,
"entity_count": 7,
"health": 4,
"lag": 9,
"latest_block": 10,
"model": 14,
"network": 6,
"nodeid": 3,
"schema": 0,
"synced": 5
},
"renameByName": {
"Value": "QPM",
"Value #C": "QPM",
"Value #D": "QPS"
}
}
}
],
"type": "table"
},
{
"columns": [],
"datasource": "${DS_POSTGRES}",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fontSize": "100%",
"gridPos": {
"h": 13,
"w": 24,
"x": 0,
"y": 23
},
"id": 33,
"pageSize": null,
"showHeader": true,
"sort": {
"col": 0,
"desc": true
},
"styles": [
{
"alias": "",
"align": "auto",
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": null,
"pattern": "/vid|block_number/",
"type": "number",
"unit": "none"
},
{
"alias": "",
"align": "right",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"decimals": 2,
"pattern": "/.*/",
"thresholds": [],
"type": "number",
"unit": "none"
}
],
"targets": [
{
"format": "table",
"group": [],
"metricColumn": "none",
"rawQuery": true,
"rawSql": "SELECT\n vid, block_number, subgraph_id, message, handler\nFROM subgraphs.subgraph_error\nORDER BY vid DESC",
"refId": "A",
"select": [
[
{
"params": [
"value"
],
"type": "column"
}
]
],
"table": "subgraphs.subgraph_error",
"timeColumn": "time",
"where": []
}
],
"timeFrom": null,
"timeShift": null,
"title": "Fatal errors",
"transform": "table",
"type": "table-old"
},
{
"columns": [],
"datasource": "${DS_POSTGRES}",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fontSize": "100%",
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 36
},
"id": 6,
"links": [],
"pageSize": null,
"scroll": true,
"showHeader": true,
"sort": {
"col": 1,
"desc": true
},
"styles": [
{
"alias": "",
"align": "auto",
"colorMode": null,
"colors": [
"rgba(245, 54, 54, 0.9)",
"rgba(237, 129, 40, 0.89)",
"rgba(50, 172, 45, 0.97)"
],
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"decimals": 0,
"mappingType": 1,
"pattern": "num_assigned",
"thresholds": [],
"type": "number",
"unit": "short"
}
],
"targets": [
{
"format": "table",
"group": [],
"metricColumn": "none",
"rawQuery": true,
"rawSql": "select replace(node_id, 'index_node_', '') as nodeId,\n count(*) as num_assigned,\n array_agg(id) as deployments\n from subgraphs.subgraph_deployment_assignment\n group by node_id\n order by node_id asc;\n",
"refId": "A",
"select": [
[
{
"params": [
"value"
],
"type": "column"
}
]
],
"timeColumn": "time",
"where": [
{
"name": "$__timeFilter",
"params": [],
"type": "macro"
}
]
}
],
"timeFrom": null,
"timeShift": null,
"title": "Subgraph Node Assignments",
"transform": "table",
"type": "table-old"
},
{
"alert": {
"alertRuleTags": {},
"conditions": [
{
"evaluator": {
"params": [
0
],
"type": "gt"
},
"operator": {
"type": "and"
},
"query": {
"params": [
"A",
"3m",
"now"
]
},
"reducer": {
"params": [],
"type": "avg"
},
"type": "query"
}
],
"executionErrorState": "alerting",
"for": "5m",
"frequency": "1m",
"handler": 1,
"name": "Deployed subgraphs that have not started alert",
"noDataState": "no_data",
"notifications": [
{
"uid": "okc8ZyRZz"
}
]
},
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_POSTGRES}",
"fieldConfig": {
"defaults": {
"custom": {},
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 36
},
"hiddenSeries": false,
"id": 29,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"percentage": false,
"pluginVersion": "7.1.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"format": "time_series",
"group": [],
"metricColumn": "none",
"rawQuery": true,
"rawSql": "select now() as time, count(*) as num_subgraphs\n from (\n select d.id, d.latest_ethereum_block_number block\n from subgraphs.subgraph_deployment d,\n subgraphs.subgraph_deployment_assignment a\n where d.id = a.id\n and not d.failed) a\n where a.block < 100;\n",
"refId": "A",
"select": [
[
{
"params": [
"value"
],
"type": "column"
}
]
],
"timeColumn": "time",
"where": [
{
"name": "$__timeFilter",
"params": [],
"type": "macro"
}
]
}
],
"thresholds": [
{
"colorMode": "critical",
"fill": true,
"line": true,
"op": "gt",
"value": 0
}
],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Deployed subgraphs that have not started",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"cacheTimeout": null,
"datasource": "${DS_POSTGRES}",
"fieldConfig": {
"defaults": {
"custom": {
"align": null
},
"mappings": [],
"nullValueMode": "connected",
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "none"
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "name"
},
"properties": [
{
"id": "displayName",
"value": "Network name"
}
]
},
{
"matcher": {
"id": "byName",
"options": "block_number"
},
"properties": [
{
"id": "displayName",
"value": "Block number"
}
]
},
{
"matcher": {
"id": "byName",
"options": "block_hash"
},
"properties": [
{
"id": "displayName",
"value": "Block Hash"
}
]
},
{
"matcher": {
"id": "byName",
"options": "Block number"
},
"properties": [
{
"id": "custom.width",
"value": 101
}
]
},
{
"matcher": {
"id": "byName",
"options": "Network name"
},
"properties": [
{
"id": "custom.width",
"value": 116
}
]
},
{
"matcher": {
"id": "byName",
"options": "Block Hash"
},
"properties": [
{
"id": "custom.width",
"value": 396
}
]
}
]
},
"gridPos": {
"h": 4,
"w": 4,
"x": 20,
"y": 44
},
"id": 2,
"interval": "10s",
"links": [],
"maxDataPoints": 100,
"options": {
"showHeader": true,
"sortBy": []
},
"pluginVersion": "7.1.1",
"targets": [
{
"format": "table",
"group": [],
"metricColumn": "none",
"rawQuery": true,
"rawSql": "SELECT\n name,\n head_block_number AS \"block_number\",\n head_block_hash AS \"block_hash\"\nFROM ethereum_networks\nWHERE head_block_number is not null\nORDER BY name;",
"refId": "A",
"select": [
[
{
"params": [
"value"
],
"type": "column"
}
]
],
"table": "ethereum_networks",
"timeColumn": "time",
"where": []
}
],
"timeFrom": null,
"timeShift": null,
"title": "Network Head Blocks",
"transformations": [
{
"id": "organize",
"options": {
"excludeByName": {
"block_hash": true
},
"indexByName": {},
"renameByName": {}
}
}
],
"type": "table"
}
],
"refresh": "10s",
"schemaVersion": 26,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"allValue": null,
"current": {},
"datasource": null,
"definition": "",
"hide": 0,
"includeAll": false,
"label": "",
"multi": false,
"name": "Filters",
"options": [],
"query": "",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
}
]
},
"time": {
"from": "now-3h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
]
},
"timezone": "",
"title": "Main Dashboard (New)",
"uid": "7rcuDImZk1",
"version": 25
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment