{
  "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": 15,
  "iteration": 1561708084581,
  "links": [],
  "panels": [
    {
      "cacheTimeout": null,
      "columns": [],
      "description": "Shows average, median, 15th and 85th percentiles for commits lines added, lines removed and files changed. Alerts: green: OK, blue - value too low, red - value too high.",
      "fontSize": "80%",
      "gridPos": {
        "h": 3,
        "w": 24,
        "x": 0,
        "y": 0
      },
      "id": 4,
      "interval": "1h",
      "links": [],
      "options": {},
      "pageSize": null,
      "scroll": false,
      "showHeader": true,
      "sort": {
        "col": 0,
        "desc": true
      },
      "styles": [
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "decimals": 1,
          "pattern": "Average LOC added",
          "thresholds": [
            "200",
            "2000"
          ],
          "type": "number",
          "unit": "short"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "Max LOC added",
          "thresholds": [
            "1000",
            "100000"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "Median LOC added",
          "thresholds": [
            "10",
            "200"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "15th perc. LOC added",
          "thresholds": [
            "1",
            "5"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "#C4162A"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "85th perc. LOC added",
          "thresholds": [
            "100",
            "2000"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "Average LOC removed",
          "thresholds": [
            "100",
            "2000"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "Max LOC removed",
          "thresholds": [
            "1000",
            "100000"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "Median LOC removed",
          "thresholds": [
            "5",
            "100"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "15th perc. LOC removed",
          "thresholds": [
            "1",
            "5"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "85th perc. LOC removed",
          "thresholds": [
            "50",
            "2000"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "Average files ch.",
          "thresholds": [
            "2",
            "20"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "Max files ch.",
          "thresholds": [
            "50",
            "1000"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "Median files ch.",
          "thresholds": [
            "2",
            "5"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "15th perc. files ch.",
          "thresholds": [
            "1",
            "2"
          ],
          "type": "number",
          "unit": "none"
        },
        {
          "alias": "",
          "colorMode": "cell",
          "colors": [
            "#1F60C4",
            "#37872D",
            "rgba(245, 54, 54, 0.9)"
          ],
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "decimals": 1,
          "mappingType": 1,
          "pattern": "85th perc. files ch.",
          "thresholds": [
            "5",
            "20"
          ],
          "type": "number",
          "unit": "none"
        }
      ],
      "targets": [
        {
          "format": "table",
          "group": [],
          "metricColumn": "none",
          "rawQuery": true,
          "rawSql": "select\n  avg(sub.loc_added) filter (where sub.loc_added > 0) as \"Average LOC added\",\n  max(sub.loc_added) as \"Max LOC added\",\n  percentile_cont(0.5) within group (order by sub.loc_added asc) filter (where sub.loc_added > 0) as \"Median LOC added\",\n  percentile_cont(0.15) within group (order by sub.loc_added asc) filter (where sub.loc_added > 0) as \"15th perc. LOC added\",\n  percentile_cont(0.85) within group (order by sub.loc_added asc) filter (where sub.loc_added > 0) as \"85th perc. LOC added\",\n  avg(sub.loc_removed) filter (where sub.loc_removed > 0) as \"Average LOC removed\",\n  max(sub.loc_removed) as \"Max LOC removed\",\n  percentile_cont(0.5) within group (order by sub.loc_removed asc) filter (where sub.loc_removed > 0) as \"Median LOC removed\",\n  percentile_cont(0.15) within group (order by sub.loc_removed asc) filter (where sub.loc_removed > 0) as \"15th perc. LOC removed\",\n  percentile_cont(0.85) within group (order by sub.loc_removed asc) filter (where sub.loc_removed > 0) as \"85th perc. LOC removed\",\n  avg(sub.files_changed) filter (where sub.files_changed > 0) as \"Average files ch.\",\n  max(sub.files_changed) as \"Max files ch.\",\n  percentile_cont(0.5) within group (order by sub.files_changed asc) filter (where sub.files_changed > 0) as \"Median files ch.\",\n  percentile_cont(0.15) within group (order by sub.files_changed asc) filter (where sub.files_changed > 0) as \"15th perc. files ch.\",\n  percentile_cont(0.85) within group (order by sub.files_changed asc) filter (where sub.files_changed > 0) as \"85th perc. files ch.\"\nfrom (\n  select distinct\n    c.sha,\n    c.loc_added,\n    c.loc_removed,\n    c.files_changed\n  from\n    gha_commits c,\n    gha_repos r\n  where\n    c.dup_repo_id = r.id\n    and c.dup_repo_name = r.name\n    and r.repo_group in ([[repogroups]])\n    and c.loc_added is not null\n    and c.loc_removed is not null\n    and c.files_changed is not null\n    and c.files_changed > 0\n    and (c.loc_added > 0 or c.loc_removed > 0)\n    and $__timeFilter(c.dup_created_at)\n    and (c.dup_author_login in ([[contributors]]) or '[[contributors:csv]]' = 'null')\n    and lower(c.dup_author_login) not like all(array['devstats-sync', 'googlebot', 'coveralls', 'rktbot', 'coreosbot', 'web-flow', 'prometheus-roobot', 'cncf-bot', 'kernelprbot', 'istio-testing', 'spinnakerbot', 'pikbot', 'spinnaker-release', 'docker-jenkins', 'golangcibot', 'opencontrail-ci-admin', 'k8s-%', '%-bot', '%-robot', 'bot-%', 'robot-%', '%[bot]%', '%-jenkins', '%-ci%bot', '%-testing', 'codecov-%', '%clabot%', '%cla-bot%', '%-gerrit', '%-bot-%'])\n) sub",
          "refId": "A",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "column"
              }
            ]
          ],
          "table": "shpr_comps",
          "timeColumn": "\"time\"",
          "timeColumnType": "timestamp",
          "where": [
            {
              "name": "$__timeFilter",
              "params": [],
              "type": "macro"
            }
          ]
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Last month LOC statistics",
      "transform": "table",
      "transparent": true,
      "type": "table"
    },
    {
      "aliasColors": {},
      "breakPoint": "50%",
      "cacheTimeout": null,
      "combine": {
        "label": "Others",
        "threshold": "0.01"
      },
      "description": "Number of distinct commits modifying files with a given extension during the last month",
      "fontSize": "60%",
      "format": "short",
      "gridPos": {
        "h": 15,
        "w": 6,
        "x": 0,
        "y": 3
      },
      "id": 2,
      "interval": "1h",
      "legend": {
        "percentage": true,
        "percentageDecimals": 1,
        "show": true,
        "values": true
      },
      "legendType": "On graph",
      "links": [],
      "maxDataPoints": 3,
      "nullPointMode": "connected",
      "options": {},
      "pieType": "donut",
      "strokeWidth": 1,
      "targets": [
        {
          "format": "time_series",
          "group": [],
          "metricColumn": "none",
          "rawQuery": true,
          "rawSql": "select\n  now() as \"time\",\n  count(distinct ecf.sha) as \"value\",\n  ecf.ext as \"name\"\nfrom\n  gha_events_commits_files ecf,\n  gha_events e,\n  gha_repos r\nwhere\n  e.id = ecf.event_id\n  and e.repo_id = r.id\n  and e.dup_repo_name = r.name\n  and r.repo_group in ([[repogroups]])\n  and $__timeFilter(e.created_at)\n  and ecf.ext not like '%/%'\n  and ecf.ext != ''\n  and (e.dup_actor_login in ([[contributors]]) or '[[contributors:csv]]' = 'null')\n  and lower(e.dup_actor_login) not like all(array['devstats-sync', 'googlebot', 'coveralls', 'rktbot', 'coreosbot', 'web-flow', 'prometheus-roobot', 'cncf-bot', 'kernelprbot', 'istio-testing', 'spinnakerbot', 'pikbot', 'spinnaker-release', 'docker-jenkins', 'golangcibot', 'opencontrail-ci-admin', 'k8s-%', '%-bot', '%-robot', 'bot-%', 'robot-%', '%[bot]%', '%-jenkins', '%-ci%bot', '%-testing', 'codecov-%', '%clabot%', '%cla-bot%', '%-gerrit', '%-bot-%'])\ngroup by\n  ecf.ext\norder by\n  \"value\" desc\nlimit 50",
          "refId": "A",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "column"
              }
            ]
          ],
          "table": "shpr_comps",
          "timeColumn": "\"time\"",
          "timeColumnType": "timestamp",
          "where": [
            {
              "name": "$__timeFilter",
              "params": [],
              "type": "macro"
            }
          ]
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Last month top commits files extensions",
      "transparent": true,
      "type": "grafana-piechart-panel",
      "valueName": "current"
    },
    {
      "aliasColors": {},
      "bars": false,
      "dashLength": 10,
      "dashes": false,
      "decimals": null,
      "description": "Chart for all LOC statistics for all days during the last month. Displays 30th and 70th percentiles.",
      "fill": 0,
      "gridPos": {
        "h": 15,
        "w": 18,
        "x": 6,
        "y": 3
      },
      "id": 6,
      "interval": "1h",
      "legend": {
        "alignAsTable": true,
        "avg": false,
        "current": true,
        "max": true,
        "min": true,
        "rightSide": false,
        "show": true,
        "total": false,
        "values": true
      },
      "lines": true,
      "linewidth": 2,
      "links": [],
      "nullPointMode": "null as zero",
      "options": {},
      "percentage": false,
      "pointradius": 2,
      "points": true,
      "renderer": "flot",
      "seriesOverrides": [
        {
          "alias": "70th percentile files changed daily",
          "color": "#3274D9",
          "fill": 2,
          "linewidth": 0,
          "steppedLine": true,
          "yaxis": 2
        },
        {
          "alias": "70th percentile LOC added daily",
          "color": "#56A64B"
        },
        {
          "alias": "70th percentile LOC removed daily",
          "color": "#C4162A"
        },
        {
          "alias": "30th percentile files changed daily",
          "color": "rgb(77, 99, 115)",
          "fill": 4,
          "linewidth": 0,
          "steppedLine": true,
          "yaxis": 2
        },
        {
          "alias": "30th percentile LOC added daily",
          "color": "#37872D"
        },
        {
          "alias": "30th percentile LOC removed daily",
          "color": "#E02F44"
        }
      ],
      "spaceLength": 10,
      "stack": false,
      "steppedLine": false,
      "targets": [
        {
          "format": "time_series",
          "group": [],
          "metricColumn": "none",
          "rawQuery": true,
          "rawSql": "select\n  floor(extract(epoch from dup_created_at)/86400)*86400 AS \"time\",\n  percentile_cont(0.7) within group (order by loc_added asc) as \"70th percentile LOC added daily\",\n  percentile_cont(0.3) within group (order by loc_added asc) as \"30th percentile LOC added daily\"\nfrom\n  gha_commits c,\n  gha_repos r\nwhere\n  c.dup_repo_id = r.id\n  and c.dup_repo_name = r.name\n  and r.repo_group in ([[repogroups]])\n  and (c.dup_author_login in ([[contributors]]) or '[[contributors:csv]]' = 'null')\n  and lower(c.dup_author_login) not like all(array['devstats-sync', 'googlebot', 'coveralls', 'rktbot', 'coreosbot', 'web-flow', 'prometheus-roobot', 'cncf-bot', 'kernelprbot', 'istio-testing', 'spinnakerbot', 'pikbot', 'spinnaker-release', 'docker-jenkins', 'golangcibot', 'opencontrail-ci-admin', 'k8s-%', '%-bot', '%-robot', 'bot-%', 'robot-%', '%[bot]%', '%-jenkins', '%-ci%bot', '%-testing', 'codecov-%', '%clabot%', '%cla-bot%', '%-gerrit', '%-bot-%'])\n  and loc_added is not null\n  and loc_added > 0\n  and $__timeFilter(dup_created_at)\ngroup by\n  \"time\"\norder by\n  \"time\"",
          "refId": "A",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "column"
              }
            ]
          ],
          "table": "shpr_comps",
          "timeColumn": "\"time\"",
          "timeColumnType": "timestamp",
          "where": [
            {
              "name": "$__timeFilter",
              "params": [],
              "type": "macro"
            }
          ]
        },
        {
          "format": "time_series",
          "group": [],
          "metricColumn": "none",
          "rawQuery": true,
          "rawSql": "select\n  floor(extract(epoch from dup_created_at)/86400)*86400 AS \"time\",\n  percentile_cont(0.7) within group (order by loc_removed asc) as \"70th percentile LOC removed daily\",\n  percentile_cont(0.3) within group (order by loc_removed asc) as \"30th percentile LOC removed daily\"\nfrom\n  gha_commits c,\n  gha_repos r\nwhere\n  c.dup_repo_id = r.id\n  and c.dup_repo_name = r.name\n  and r.repo_group in ([[repogroups]])\n  and (c.dup_author_login in ([[contributors]]) or '[[contributors:csv]]' = 'null')\n  and lower(c.dup_author_login) not like all(array['devstats-sync', 'googlebot', 'coveralls', 'rktbot', 'coreosbot', 'web-flow', 'prometheus-roobot', 'cncf-bot', 'kernelprbot', 'istio-testing', 'spinnakerbot', 'pikbot', 'spinnaker-release', 'docker-jenkins', 'golangcibot', 'opencontrail-ci-admin', 'k8s-%', '%-bot', '%-robot', 'bot-%', 'robot-%', '%[bot]%', '%-jenkins', '%-ci%bot', '%-testing', 'codecov-%', '%clabot%', '%cla-bot%', '%-gerrit', '%-bot-%'])\n  and loc_removed is not null\n  and loc_removed > 0\n  and $__timeFilter(dup_created_at)\ngroup by\n  \"time\"\norder by\n  \"time\"",
          "refId": "B",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "column"
              }
            ]
          ],
          "table": "shpr_comps",
          "timeColumn": "\"time\"",
          "timeColumnType": "timestamp",
          "where": [
            {
              "name": "$__timeFilter",
              "params": [],
              "type": "macro"
            }
          ]
        },
        {
          "format": "time_series",
          "group": [],
          "metricColumn": "none",
          "rawQuery": true,
          "rawSql": "select\n  floor(extract(epoch from dup_created_at)/86400)*86400 AS \"time\",\n  percentile_cont(0.7) within group (order by files_changed asc) as \"70th percentile files changed daily\",\n  percentile_cont(0.3) within group (order by files_changed asc) as \"30th percentile files changed daily\"\nfrom\n  gha_commits c,\n  gha_repos r\nwhere\n  c.dup_repo_id = r.id\n  and c.dup_repo_name = r.name\n  and r.repo_group in ([[repogroups]])\n  and (c.dup_author_login in ([[contributors]]) or '[[contributors:csv]]' = 'null')\n  and lower(c.dup_author_login) not like all(array['devstats-sync', 'googlebot', 'coveralls', 'rktbot', 'coreosbot', 'web-flow', 'prometheus-roobot', 'cncf-bot', 'kernelprbot', 'istio-testing', 'spinnakerbot', 'pikbot', 'spinnaker-release', 'docker-jenkins', 'golangcibot', 'opencontrail-ci-admin', 'k8s-%', '%-bot', '%-robot', 'bot-%', 'robot-%', '%[bot]%', '%-jenkins', '%-ci%bot', '%-testing', 'codecov-%', '%clabot%', '%cla-bot%', '%-gerrit', '%-bot-%'])\n  and files_changed is not null\n  and files_changed > 0\n  and $__timeFilter(dup_created_at)\ngroup by\n  \"time\"\norder by\n  \"time\"",
          "refId": "C",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "column"
              }
            ]
          ],
          "table": "shpr_comps",
          "timeColumn": "\"time\"",
          "timeColumnType": "timestamp",
          "where": [
            {
              "name": "$__timeFilter",
              "params": [],
              "type": "macro"
            }
          ]
        }
      ],
      "thresholds": [],
      "timeFrom": null,
      "timeRegions": [],
      "timeShift": null,
      "title": "LOC statistics chart",
      "tooltip": {
        "shared": true,
        "sort": 0,
        "value_type": "individual"
      },
      "transparent": true,
      "type": "graph",
      "xaxis": {
        "buckets": null,
        "mode": "time",
        "name": null,
        "show": true,
        "values": []
      },
      "yaxes": [
        {
          "decimals": null,
          "format": "short",
          "label": null,
          "logBase": 2,
          "max": null,
          "min": null,
          "show": true
        },
        {
          "format": "short",
          "label": null,
          "logBase": 1,
          "max": null,
          "min": null,
          "show": true
        }
      ],
      "yaxis": {
        "align": false,
        "alignLevel": null
      }
    },
    {
      "columns": [],
      "description": "Throughput measures the amount of productive code written by a developer. By that we mean new lines of code written.",
      "fontSize": "80%",
      "gridPos": {
        "h": 13,
        "w": 24,
        "x": 0,
        "y": 18
      },
      "id": 8,
      "interval": "1h",
      "links": [],
      "options": {},
      "pageSize": 200,
      "scroll": true,
      "showHeader": true,
      "sort": {
        "col": 1,
        "desc": true
      },
      "styles": [
        {
          "alias": "Time",
          "dateFormat": "YYYY-MM-DD HH:mm:ss",
          "pattern": "Time",
          "type": "date"
        },
        {
          "alias": "",
          "colorMode": null,
          "colors": [
            "rgba(245, 54, 54, 0.9)",
            "rgba(237, 129, 40, 0.89)",
            "rgba(50, 172, 45, 0.97)"
          ],
          "decimals": 0,
          "pattern": "/.*/",
          "thresholds": [],
          "type": "number",
          "unit": "none"
        }
      ],
      "targets": [
        {
          "format": "table",
          "group": [],
          "metricColumn": "none",
          "rawQuery": true,
          "rawSql": "select \n  sub2.\"Committer\",\n  sub2.\"Throughput\",\n  sub2.\"Previous Throughput\",\n  case sub2.\"Ratio\" > 0 when true then '+' || round(sub2.\"Ratio\", 1)::text || '%' else round(sub2.\"Ratio\", 1)::text || '%' end as \"Change\"\nfrom (\n  select\n    sub.\"Committer\",\n    sub.\"Throughput\",\n    sub.\"Previous Throughput\",\n    100.0 * (sub.\"Throughput\" - sub.\"Previous Throughput\") / sub.\"Previous Throughput\" as \"Ratio\"\n  from (\n    select\n      c.dup_author_login as \"Committer\",\n      sum(c.loc_added) filter (where c.dup_created_at >= now() - '1 month'::interval) as \"Throughput\",\n      sum(c.loc_added) filter (where c.dup_created_at < now() - '1 month'::interval) as \"Previous Throughput\"\n    from\n      gha_commits c,\n      gha_repos r\n    where\n      c.dup_repo_id = r.id\n      and c.dup_repo_name = r.name\n      and r.repo_group in ([[repogroups]])\n      and lower(c.dup_author_login) not like all(array['devstats-sync', 'googlebot', 'coveralls', 'rktbot', 'coreosbot', 'web-flow', 'prometheus-roobot', 'cncf-bot', 'kernelprbot', 'istio-testing', 'spinnakerbot', 'pikbot', 'spinnaker-release', 'docker-jenkins', 'golangcibot', 'opencontrail-ci-admin', 'k8s-%', '%-bot', '%-robot', 'bot-%', 'robot-%', '%[bot]%', '%-jenkins', '%-ci%bot', '%-testing', 'codecov-%', '%clabot%', '%cla-bot%', '%-gerrit', '%-bot-%'])\n      and c.loc_added is not null\n      and c.loc_added > 0\n      and c.dup_created_at >= now() - '2 months'::interval\n      and dup_author_login != ''\n    group by\n      c.dup_author_login\n  ) sub\n  where\n    sub.\"Throughput\" > 0\n    and sub.\"Previous Throughput\" > 0\n  order by\n    sub.\"Throughput\" desc\n) sub2\nlimit\n  200",
          "refId": "A",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "column"
              }
            ]
          ],
          "table": "shpr_comps",
          "timeColumn": "\"time\"",
          "timeColumnType": "timestamp",
          "where": [
            {
              "name": "$__timeFilter",
              "params": [],
              "type": "macro"
            }
          ]
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Throughput",
      "transform": "table",
      "transparent": true,
      "type": "table"
    }
  ],
  "refresh": "15m",
  "schemaVersion": 18,
  "style": "dark",
  "tags": [
    "cncf",
    "dashboard"
  ],
  "templating": {
    "list": [
      {
        "allValue": null,
        "current": {
          "text": "All",
          "value": "$__all"
        },
        "datasource": "psql",
        "definition": "select distinct repo_group from gha_repos where repo_group is not null order by 1",
        "hide": 0,
        "includeAll": true,
        "label": "Repository  groups",
        "multi": true,
        "name": "repogroups",
        "options": [],
        "query": "select distinct repo_group from gha_repos where repo_group is not null order by 1",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 0,
        "tagValuesQuery": "",
        "tags": [],
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },
      {
        "allValue": "null",
        "current": {
          "text": "All",
          "value": "$__all"
        },
        "datasource": "psql",
        "definition": "select sub.actor from (select e.dup_actor_login as actor, count(distinct e.id) as cnt from gha_events e, gha_repos r where $__timeFilter(e.created_at) and e.repo_id = r.id and e.dup_repo_name = r.name and r.repo_group in ($repogroups) and lower(dup_actor_login) not like all(array['devstats-sync', 'googlebot', 'coveralls', 'rktbot', 'coreosbot', 'web-flow', 'prometheus-roobot', 'cncf-bot', 'kernelprbot', 'istio-testing', 'spinnakerbot', 'pikbot', 'spinnaker-release', 'docker-jenkins', 'golangcibot', 'opencontrail-ci-admin', 'k8s-%', '%-bot', '%-robot', 'bot-%', 'robot-%', '%[bot]%', '%-jenkins', '%-ci%bot', '%-testing', 'codecov-%', '%clabot%', '%cla-bot%', '%-gerrit', '%-bot-%']) group by e.dup_actor_login order by cnt desc limit 200) sub",
        "hide": 0,
        "includeAll": true,
        "label": "Contributors",
        "multi": true,
        "name": "contributors",
        "options": [],
        "query": "select sub.actor from (select e.dup_actor_login as actor, count(distinct e.id) as cnt from gha_events e, gha_repos r where $__timeFilter(e.created_at) and e.repo_id = r.id and e.dup_repo_name = r.name and r.repo_group in ($repogroups) and lower(dup_actor_login) not like all(array['devstats-sync', 'googlebot', 'coveralls', 'rktbot', 'coreosbot', 'web-flow', 'prometheus-roobot', 'cncf-bot', 'kernelprbot', 'istio-testing', 'spinnakerbot', 'pikbot', 'spinnaker-release', 'docker-jenkins', 'golangcibot', 'opencontrail-ci-admin', 'k8s-%', '%-bot', '%-robot', 'bot-%', 'robot-%', '%[bot]%', '%-jenkins', '%-ci%bot', '%-testing', 'codecov-%', '%clabot%', '%cla-bot%', '%-gerrit', '%-bot-%']) group by e.dup_actor_login order by cnt desc limit 200) sub",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 0,
        "tagValuesQuery": "",
        "tags": [],
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      }
    ]
  },
  "time": {
    "from": "now-1M",
    "to": "now"
  },
  "timepicker": {
    "hidden": true,
    "refresh_intervals": [
      "5s",
      "10s",
      "30s",
      "1m",
      "5m",
      "15m",
      "30m",
      "1h",
      "2h",
      "1d"
    ],
    "time_options": [
      "5m",
      "15m",
      "1h",
      "6h",
      "12h",
      "24h",
      "2d",
      "7d",
      "30d"
    ]
  },
  "timezone": "",
  "title": "Home2",
  "uid": "63",
  "version": 7
}
