# dashboard

slug: time-to-merge-in-repository-groups
title: Time to Merge in Repository Groups
created: 2025-04-28 07:59:16.360116667+00:00
updated: 2025-04-28 07:59:16.360116737+00:00
uid: 27
data:
  {
    "time": {
      "from": "now-1y",
      "to": "now-1w"
    },
    "timepicker": {
      "refresh_intervals": [
        "5s",
        "10s",
        "30s",
        "1m",
        "5m",
        "15m",
        "30m",
        "1h",
        "2h",
        "1d"
      ],
      "time_options": [
        "5m",
        "15m",
        "1h",
        "6h",
        "12h",
        "24h",
        "2d",
        "7d",
        "30d"
      ]
    },
    "timezone": "",
    "links": [],
    "iteration": 1529593856834,
    "tags": [
      "dashboard",
      "kitops"
    ],
    "templating": {
      "list": [
        {
          "label": "Period",
          "multi": false,
          "type": "custom",
          "allValue": null,
          "hide": 0,
          "includeAll": false,
          "name": "period",
          "options": [
            {
              "selected": false,
              "text": "Day",
              "value": "d"
            },
            {
              "text": "7 Days MA",
              "value": "d7",
              "selected": true
            },
            {
              "selected": false,
              "text": "Week",
              "value": "w"
            },
            {
              "selected": false,
              "text": "Month",
              "value": "m"
            },
            {
              "selected": false,
              "text": "Quarter",
              "value": "q"
            },
            {
              "selected": false,
              "text": "Year",
              "value": "y"
            }
          ],
          "query": "d,w,m,q,y",
          "skipUrlSync": false,
          "current": {
            "text": "7 Days MA",
            "value": "d7",
            "tags": []
          }
        },
        {
          "label": "Repository group",
          "useTags": false,
          "allValue": null,
          "includeAll": false,
          "query": "select all_repo_group_name from tall_repo_groups order by 1",
          "regex": "",
          "tagsQuery": "",
          "datasource": "psql",
          "hide": 0,
          "name": "repogroup_name",
          "options": [],
          "sort": 0,
          "tags": [],
          "type": "query",
          "current": {
            "text": "All",
            "value": "All"
          },
          "multi": false,
          "refresh": 1,
          "skipUrlSync": false,
          "tagValuesQuery": ""
        },
        {
          "datasource": "psql",
          "label": "",
          "sort": 0,
          "tagValuesQuery": "",
          "tags": [],
          "current": {
            "text": "all",
            "value": "all"
          },
          "options": [],
          "query": "select all_repo_group_value from tall_repo_groups where all_repo_group_name = '[[repogroup_name]]'",
          "regex": "",
          "skipUrlSync": true,
          "type": "query",
          "useTags": false,
          "allValue": null,
          "hide": 2,
          "multi": false,
          "name": "repogroup",
          "includeAll": false,
          "refresh": 1,
          "tagsQuery": ""
        },
        {
          "useTags": false,
          "name": "full_name",
          "sort": 0,
          "type": "query",
          "regex": "",
          "tagValuesQuery": "",
          "tags": [],
          "datasource": "psql",
          "hide": 2,
          "query": "select value_s from gha_vars where name = 'full_name'",
          "options": [],
          "refresh": 1,
          "tagsQuery": "",
          "includeAll": false,
          "label": null,
          "multi": false,
          "allValue": null,
          "current": {
            "text": "Prometheus",
            "value": "Prometheus"
          },
          "skipUrlSync": true
        },
        {
          "query": "select value_s from gha_vars where name = 'time_metrics_docs_html'",
          "regex": "",
          "tagsQuery": "",
          "allValue": null,
          "current": {
            
          },
          "datasource": "psql",
          "useTags": false,
          "hide": 2,
          "refresh": 1,
          "skipUrlSync": true,
          "tagValuesQuery": "",
          "options": [],
          "sort": 0,
          "tags": [],
          "type": "query",
          "includeAll": false,
          "label": null,
          "multi": false,
          "name": "docs"
        }
      ]
    },
    "id": 32,
    "editable": true,
    "style": "dark",
    "annotations": {
      "list": [
        {
          "name": "Annotations \u0026 Alerts",
          "type": "dashboard",
          "builtIn": 1,
          "datasource": "-- Grafana --",
          "enable": true,
          "hide": true,
          "iconColor": "rgba(0, 211, 255, 1)"
        },
        {
          "titleColumn": "[[full_name]] release",
          "enable": true,
          "hide": false,
          "name": "Releases",
          "query": "SELECT title, description from annotations WHERE $timeFilter order by time asc",
          "showIn": 0,
          "tagsColumn": "title,description",
          "datasource": "psql",
          "iconColor": "rgba(255, 96, 96, 1)",
          "limit": 100,
          "rawQuery": "select extract(epoch from time) AS time, title as text, description as tags from sannotations where $__timeFilter(time)",
          "textColumn": "",
          "type": "alert"
        }
      ]
    },
    "graphTooltip": 0,
    "panels": [
      {
        "lines": true,
        "links": [],
        "stack": true,
        "steppedLine": false,
        "thresholds": [],
        "timeShift": null,
        "dashLength": 10,
        "gridPos": {
          "y": 0,
          "h": 13,
          "w": 12,
          "x": 0
        },
        "id": 8,
        "decimals": 2,
        "timeFrom": null,
        "title": "Median time PRs from open to merge (Repository group [[repogroup_name]], [[period]])",
        "yaxis": {
          "align": false,
          "alignLevel": null
        },
        "aliasColors": {
          
        },
        "bars": false,
        "percentage": false,
        "seriesOverrides": [],
        "spaceLength": 10,
        "dashes": false,
        "fill": 1,
        "legend": {
          "show": true,
          "values": true,
          "alignAsTable": true,
          "current": true,
          "max": true,
          "total": false,
          "avg": true,
          "min": true,
          "rightSide": false
        },
        "pointradius": 5,
        "type": "graph",
        "datasource": "psql",
        "points": false,
        "renderer": "flot",
        "yaxes": [
          {
            "label": "",
            "logBase": 1,
            "max": null,
            "min": "0",
            "show": true,
            "format": "h"
          },
          {
            "max": null,
            "min": "0",
            "show": true,
            "format": "none",
            "label": "",
            "logBase": 10
          }
        ],
        "xaxis": {
          "buckets": null,
          "mode": "time",
          "name": null,
          "show": true,
          "values": [
            "avg"
          ]
        },
        "description": "Time from open to merge.",
        "linewidth": 1,
        "nullPointMode": "null",
        "targets": [
          {
            "resultFormat": "time_series",
            "alias": "",
            "format": "time_series",
            "orderByTime": "ASC",
            "policy": "default",
            "query": "SELECT \"value\" FROM \"time_metrics_[[repogroup]]_median_open_to_merge_[[period]]\" WHERE $timeFilter",
            "refId": "A",
            "dsType": "influxdb",
            "groupBy": [],
            "rawQuery": true,
            "rawSql": "select\n  time,\n  value as \"Median time from open to merge (in hours)\"\nfrom\n  stime_metrics\nwhere\n  $__timeFilter(time)\n  and period = '[[period]]'\n  and series = 'tmet[[repogroup]]med'\norder by\n  time",
            "select": [
              [
                {
                  "params": [
                    "value"
                  ],
                  "type": "field"
                }
              ]
            ],
            "tags": []
          }
        ],
        "tooltip": {
          "shared": true,
          "sort": 0,
          "value_type": "individual"
        }
      },
      {
        "lines": true,
        "tooltip": {
          "shared": true,
          "sort": 0,
          "value_type": "individual"
        },
        "aliasColors": {
          
        },
        "decimals": 2,
        "spaceLength": 10,
        "title": "85th percentile time PRs from open to merge for (Repository group: [[repogroup_name]], [[period]])",
        "type": "graph",
        "xaxis": {
          "buckets": null,
          "mode": "time",
          "name": null,
          "show": true,
          "values": [
            "avg"
          ]
        },
        "dashLength": 10,
        "links": [],
        "stack": true,
        "linewidth": 1,
        "nullPointMode": "null",
        "bars": false,
        "dashes": false,
        "fill": 1,
        "seriesOverrides": [],
        "steppedLine": false,
        "targets": [
          {
            "alias": "",
            "dsType": "influxdb",
            "groupBy": [],
            "orderByTime": "ASC",
            "rawQuery": true,
            "rawSql": "select\n  time,\n  value as \"85th percentile time from open to merge (in hours)\"\nfrom\n  stime_metrics\nwhere\n  $__timeFilter(time)\n  and period = '[[period]]'\n  and series = 'tmet[[repogroup]]p85'\norder by\n  time",
            "refId": "A",
            "format": "time_series",
            "policy": "default",
            "query": "SELECT \"value\" FROM \"time_metrics_[[repogroup]]_percentile_85_open_to_merge_[[period]]\" WHERE $timeFilter",
            "resultFormat": "time_series",
            "select": [
              [
                {
                  "params": [
                    "value"
                  ],
                  "type": "field"
                }
              ]
            ],
            "tags": []
          }
        ],
        "timeFrom": null,
        "timeShift": null,
        "legend": {
          "total": false,
          "values": true,
          "alignAsTable": true,
          "avg": true,
          "max": true,
          "min": true,
          "rightSide": false,
          "current": true,
          "show": true
        },
        "percentage": false,
        "pointradius": 5,
        "yaxes": [
          {
            "format": "h",
            "label": "",
            "logBase": 1,
            "max": null,
            "min": "0",
            "show": true
          },
          {
            "format": "none",
            "label": "",
            "logBase": 10,
            "max": null,
            "min": "0",
            "show": true
          }
        ],
        "gridPos": {
          "h": 13,
          "w": 12,
          "x": 12,
          "y": 0
        },
        "id": 9,
        "yaxis": {
          "alignLevel": null,
          "align": false
        },
        "datasource": "psql",
        "points": false,
        "renderer": "flot",
        "description": "Time from open to merge.",
        "thresholds": []
      },
      {
        "columns": [],
        "description": "Time PRs from open to merge",
        "pageSize": 10,
        "showHeader": true,
        "styles": [
          {
            "alias": "Time",
            "dateFormat": "MM/DD/YYYY",
            "pattern": "Time",
            "type": "date"
          },
          {
            "pattern": "/.*/",
            "thresholds": [],
            "type": "number",
            "unit": "short",
            "alias": "",
            "colorMode": null,
            "colors": [
              "rgba(245, 54, 54, 0.9)",
              "rgba(237, 129, 40, 0.89)",
              "rgba(50, 172, 45, 0.97)"
            ],
            "decimals": 2
          }
        ],
        "transform": "table",
        "datasource": "psql",
        "fontSize": "80%",
        "id": 10,
        "scroll": true,
        "type": "table",
        "links": [],
        "gridPos": {
          "w": 24,
          "x": 0,
          "y": 13,
          "h": 10
        },
        "sort": {
          "col": 0,
          "desc": true
        },
        "targets": [
          {
            "rawQuery": true,
            "refId": "A",
            "select": [
              [
                {
                  "params": [
                    "value"
                  ],
                  "type": "field"
                },
                {
                  "params": [],
                  "type": "mean"
                }
              ]
            ],
            "alias": "",
            "groupBy": [
              {
                "params": [
                  "$__interval"
                ],
                "type": "time"
              },
              {
                "params": [
                  "null"
                ],
                "type": "fill"
              }
            ],
            "orderByTime": "ASC",
            "policy": "default",
            "query": "SELECT \"descr\" FROM \"time_metrics_[[repogroup]]_median_open_to_merge_[[period]]\" WHERE $timeFilter",
            "rawSql": "select\n  time as \"Time\",\n  descr as \"Median open to merge\"\nfrom\n  stime_metrics\nwhere\n  $__timeFilter(time)\n  and period = '[[period]]'\n  and series = 'tmet[[repogroup]]med'\norder by\n  time",
            "resultFormat": "time_series",
            "tags": [],
            "dsType": "influxdb",
            "format": "table"
          },
          {
            "rawQuery": true,
            "select": [
              [
                {
                  "params": [
                    "value"
                  ],
                  "type": "field"
                },
                {
                  "params": [],
                  "type": "mean"
                }
              ]
            ],
            "alias": "",
            "dsType": "influxdb",
            "groupBy": [
              {
                "params": [
                  "$__interval"
                ],
                "type": "time"
              },
              {
                "params": [
                  "null"
                ],
                "type": "fill"
              }
            ],
            "orderByTime": "ASC",
            "query": "SELECT \"descr\" FROM \"time_metrics_[[repogroup]]_percentile_85_open_to_merge_[[period]]\" WHERE $timeFilter",
            "tags": [],
            "format": "table",
            "policy": "default",
            "rawSql": "select\n  time as \"Time\",\n  descr as \"85th percentile open to merge\"\nfrom\n  stime_metrics\nwhere\n  $__timeFilter(time)\n  and period = '[[period]]'\n  and series = 'tmet[[repogroup]]p85'\norder by\n  time",
            "refId": "D",
            "resultFormat": "time_series"
          }
        ],
        "title": "Time PRs from open to merge (Repository group[[repogroup_name]], [[period]])"
      },
      {
        "id": 11,
        "links": [],
        "mode": "html",
        "title": "Dashboard documentation",
        "type": "text",
        "content": "${docs:raw}",
        "gridPos": {
          "h": 11,
          "w": 24,
          "x": 0,
          "y": 23
        }
      }
    ],
    "schemaVersion": 16,
    "title": "Time to Merge in Repository Groups",
    "uid": "27",
    "version": 2,
    "gnetId": null
  }


slug: top-commenters-table
title: Top Commenters Table
created: 2025-04-28 07:59:16.365090047+00:00
updated: 2025-04-28 07:59:16.365090108+00:00
uid: 28
data:
  {
    "editable": true,
    "iteration": 1568187929551,
    "style": "dark",
    "templating": {
      "list": [
        {
          "definition": "",
          "name": "period_name",
          "tagValuesQuery": "",
          "sort": 0,
          "tags": [],
          "type": "query",
          "hide": 0,
          "includeAll": false,
          "options": [],
          "query": "select quick_ranges_name from tquick_ranges order by time",
          "regex": "",
          "tagsQuery": "",
          "current": {
            "text": "Last decade",
            "value": "Last decade"
          },
          "datasource": "psql",
          "label": "Range",
          "multi": false,
          "refresh": 1,
          "allValue": null,
          "skipUrlSync": false,
          "useTags": false
        },
        {
          "name": "period",
          "regex": "",
          "tagsQuery": "",
          "useTags": false,
          "current": {
            "text": "y10",
            "value": "y10"
          },
          "label": null,
          "multi": false,
          "query": "select quick_ranges_suffix from tquick_ranges where quick_ranges_name = '[[period_name]]'",
          "skipUrlSync": true,
          "type": "query",
          "datasource": "psql",
          "definition": "",
          "hide": 2,
          "sort": 0,
          "tags": [],
          "allValue": null,
          "includeAll": false,
          "options": [],
          "refresh": 1,
          "tagValuesQuery": ""
        },
        {
          "useTags": false,
          "definition": "",
          "skipUrlSync": false,
          "type": "query",
          "hide": 0,
          "tags": [],
          "datasource": "psql",
          "includeAll": false,
          "label": "Repository group",
          "name": "repogroup_name",
          "query": "select all_repo_group_name from tall_repo_groups order by 1",
          "regex": "",
          "allValue": null,
          "current": {
            "text": "All",
            "value": "All"
          },
          "sort": 0,
          "tagValuesQuery": "",
          "refresh": 1,
          "tagsQuery": "",
          "multi": false,
          "options": []
        },
        {
          "options": [],
          "regex": "",
          "sort": 0,
          "tags": [],
          "tagsQuery": "",
          "current": {
            "text": "all",
            "value": "all"
          },
          "datasource": "psql",
          "includeAll": false,
          "query": "select all_repo_group_value from tall_repo_groups where all_repo_group_name = '[[repogroup_name]]'",
          "skipUrlSync": true,
          "type": "query",
          "allValue": null,
          "multi": false,
          "useTags": false,
          "definition": "",
          "hide": 2,
          "label": "",
          "name": "repogroup",
          "refresh": 1,
          "tagValuesQuery": ""
        },
        {
          "useTags": false,
          "includeAll": false,
          "label": null,
          "name": "full_name",
          "regex": "",
          "skipUrlSync": true,
          "tagValuesQuery": "",
          "type": "query",
          "datasource": "psql",
          "definition": "",
          "multi": false,
          "refresh": 1,
          "allValue": null,
          "current": {
            "text": "All CNCF",
            "value": "All CNCF"
          },
          "options": [],
          "tags": [],
          "tagsQuery": "",
          "hide": 2,
          "query": "select value_s from gha_vars where name = 'full_name'",
          "sort": 0
        },
        {
          "label": null,
          "useTags": false,
          "sort": 0,
          "type": "query",
          "allValue": null,
          "current": {
            "text": "\u003ch1 id=\"dashboard-header\"\u003eAll CNCF top commenters dashboard\u003c/h1\u003e\n\u003cp\u003eLinks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMetric \u003ca href=\"https://github.com/cncf/devstats/blob/master/metrics/shared/hist_commenters.sql\" target=\"_blank\"\u003eSQL file\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eTSDB \u003ca href=\"https://github.com/cncf/devstats/blob/master/metrics/shared/metrics.yaml\" target=\"_blank\"\u003eseries definition\u003c/a\u003e. Search for \u003ccode\u003ehist_commenters\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGrafana dashboard \u003ca href=\"https://github.com/cncf/devstats/blob/master/grafana/dashboards/all/top-commenters.json\" target=\"_blank\"\u003eJSON\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"description\"\u003eDescription\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eThis dashboard show most active commenters in the selected period.\u003c/li\u003e\n\u003cli\u003eYou can select last day, month, week etc. range or date range between releases, for example \u003ccode\u003ev1.9 - v1.10\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eYou can select single repository group or summary for all of them.\u003c/li\u003e\n\u003cli\u003eSee \u003ca href=\"https://github.com/cncf/devstats/blob/master/docs/periods.md\" target=\"_blank\"\u003ehere\u003c/a\u003e for more informations about periods.\u003c/li\u003e\n\u003cli\u003eSee \u003ca href=\"https://github.com/cncf/devstats/blob/master/docs/repository_groups.md\" target=\"_blank\"\u003ehere\u003c/a\u003e for more informations about repository groups.\u003c/li\u003e\n\u003cli\u003eWe are skipping bots activity, see \u003ca href=\"https://github.com/cncf/devstats/blob/master/docs/excluding_bots.md\" target=\"_blank\"\u003eexcluding bots\u003c/a\u003e for details.\u003c/li\u003e\n\u003c/ul\u003e",
            "value": "\u003ch1 id=\"dashboard-header\"\u003eAll CNCF top commenters dashboard\u003c/h1\u003e\n\u003cp\u003eLinks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMetric \u003ca href=\"https://github.com/cncf/devstats/blob/master/metrics/shared/hist_commenters.sql\" target=\"_blank\"\u003eSQL file\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eTSDB \u003ca href=\"https://github.com/cncf/devstats/blob/master/metrics/shared/metrics.yaml\" target=\"_blank\"\u003eseries definition\u003c/a\u003e. Search for \u003ccode\u003ehist_commenters\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGrafana dashboard \u003ca href=\"https://github.com/cncf/devstats/blob/master/grafana/dashboards/all/top-commenters.json\" target=\"_blank\"\u003eJSON\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"description\"\u003eDescription\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eThis dashboard show most active commenters in the selected period.\u003c/li\u003e\n\u003cli\u003eYou can select last day, month, week etc. range or date range between releases, for example \u003ccode\u003ev1.9 - v1.10\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eYou can select single repository group or summary for all of them.\u003c/li\u003e\n\u003cli\u003eSee \u003ca href=\"https://github.com/cncf/devstats/blob/master/docs/periods.md\" target=\"_blank\"\u003ehere\u003c/a\u003e for more informations about periods.\u003c/li\u003e\n\u003cli\u003eSee \u003ca href=\"https://github.com/cncf/devstats/blob/master/docs/repository_groups.md\" target=\"_blank\"\u003ehere\u003c/a\u003e for more informations about repository groups.\u003c/li\u003e\n\u003cli\u003eWe are skipping bots activity, see \u003ca href=\"https://github.com/cncf/devstats/blob/master/docs/excluding_bots.md\" target=\"_blank\"\u003eexcluding bots\u003c/a\u003e for details.\u003c/li\u003e\n\u003c/ul\u003e"
          },
          "definition": "",
          "regex": "",
          "skipUrlSync": true,
          "tagsQuery": "",
          "multi": false,
          "name": "docs",
          "query": "select value_s from gha_vars where name = 'top_commenters_docs_html'",
          "refresh": 1,
          "tags": [],
          "datasource": "psql",
          "hide": 2,
          "includeAll": false,
          "options": [],
          "tagValuesQuery": ""
        }
      ]
    },
    "gnetId": null,
    "id": 42,
    "time": {
      "from": "now-5y",
      "to": "now"
    },
    "timezone": "",
    "uid": "28",
    "annotations": {
      "list": [
        {
          "builtIn": 1,
          "datasource": "-- Grafana --",
          "enable": true,
          "hide": true,
          "iconColor": "rgba(0, 211, 255, 1)",
          "name": "Annotations \u0026 Alerts",
          "type": "dashboard"
        }
      ]
    },
    "refresh": false,
    "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"
      ]
    },
    "title": "Top Commenters Table",
    "tags": [
      "dashboard",
      "kitops",
      "table"
    ],
    "version": 2,
    "graphTooltip": 0,
    "links": [],
    "panels": [
      {
        "fontSize": "90%",
        "id": 1,
        "interval": "",
        "links": [],
        "options": {
          
        },
        "showHeader": true,
        "styles": [
          {
            "alias": "Time",
            "dateFormat": "YYYY-MM-DD HH:mm:ss",
            "decimals": null,
            "pattern": "Time",
            "type": "hidden"
          },
          {
            "colors": [
              "rgba(245, 54, 54, 0.9)",
              "rgba(237, 129, 40, 0.89)",
              "rgba(50, 172, 45, 0.97)"
            ],
            "decimals": 2,
            "preserveFormat": false,
            "unit": "short",
            "alias": "Developer",
            "dateFormat": "YYYY-MM-DD HH:mm:ss",
            "pattern": "name",
            "thresholds": [],
            "type": "string",
            "colorMode": null
          },
          {
            "alias": "Comments",
            "thresholds": [],
            "type": "number",
            "unit": "none",
            "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,
            "pattern": "value"
          },
          {
            "thresholds": [],
            "type": "string",
            "unit": "short",
            "alias": "",
            "colorMode": null,
            "colors": [
              "rgba(245, 54, 54, 0.9)",
              "rgba(237, 129, 40, 0.89)",
              "rgba(50, 172, 45, 0.97)"
            ],
            "decimals": 2,
            "pattern": "/.*/"
          }
        ],
        "description": "Shows most active commenters",
        "hideTimeOverride": true,
        "sort": {
          "col": 0,
          "desc": false
        },
        "targets": [
          {
            "select": [
              [
                {
                  "params": [
                    "value"
                  ],
                  "type": "field"
                },
                {
                  "params": [],
                  "type": "mean"
                }
              ]
            ],
            "tags": [],
            "timeColumn": "time",
            "alias": "",
            "query": "SELECT \"name\", \"value\" FROM \"top_commenters_[[repogroup]]_[[period]]\" WHERE $timeFilter",
            "orderByTime": "ASC",
            "policy": "default",
            "refId": "A",
            "group": [],
            "groupBy": [
              {
                "params": [
                  "$__interval"
                ],
                "type": "time"
              },
              {
                "type": "fill",
                "params": [
                  "null"
                ]
              }
            ],
            "where": [
              {
                "name": "$__timeFilter",
                "params": [],
                "type": "macro"
              }
            ],
            "metricColumn": "none",
            "rawSql": "select\n  row_number() over (order by value desc, name asc) as \"Rank\",\n  name,\n  value\nfrom\n  shtop_commenters\nwhere\n  series = 'htop_commenters[[repogroup]]'\n  and period = '[[period]]'",
            "rawQuery": true,
            "resultFormat": "table",
            "dsType": "influxdb",
            "format": "table"
          }
        ],
        "gridPos": {
          "h": 22,
          "w": 24,
          "x": 0,
          "y": 0
        },
        "scroll": true,
        "title": "[[full_name]] Top commenters ([[repogroup_name]], Range: [[period_name]])",
        "transform": "table",
        "type": "table",
        "columns": [],
        "pageSize": 1000,
        "datasource": "psql"
      },
      {
        "type": "text",
        "content": "${docs:raw}",
        "gridPos": {
          "y": 22,
          "h": 11,
          "w": 24,
          "x": 0
        },
        "id": 11,
        "links": [],
        "mode": "html",
        "options": {
          
        },
        "title": "Dashboard documentation"
      }
    ],
    "schemaVersion": 19
  }


slug: users-statistics-by-repository-group
title: Users Statistics by Repository Group
created: 2025-04-28 07:59:16.371274387+00:00
updated: 2025-04-28 07:59:16.371274447+00:00
uid: 48
data:
  {
    "graphTooltip": 0,
    "iteration": 1703316119090,
    "liveNow": false,
    "version": 2,
    "editable": true,
    "fiscalYearStartMonth": 0,
    "id": 41,
    "links": [],
    "panels": [
      {
        "fieldConfig": {
          "defaults": {
            "links": []
          },
          "overrides": []
        },
        "linewidth": 0,
        "steppedLine": false,
        "dashLength": 10,
        "gridPos": {
          "h": 17,
          "w": 24,
          "x": 0,
          "y": 0
        },
        "legend": {
          "total": false,
          "values": true,
          "current": true,
          "min": true,
          "rightSide": true,
          "sort": "avg",
          "sortDesc": true,
          "show": true,
          "alignAsTable": true,
          "avg": true,
          "hideEmpty": false,
          "hideZero": false,
          "max": true
        },
        "lines": true,
        "targets": [
          {
            "tags": [],
            "groupBy": [],
            "query": "",
            "rawQuery": true,
            "resultFormat": "time_series",
            "format": "time_series",
            "measurement": "sig_federation_d",
            "orderByTime": "ASC",
            "rawSql": "select\n  time,\n  ${users:csv}\nfrom\n  suser_activity\nwhere\n  $__timeFilter(time)\n  and period = '[[period]]'\n  and series = 'user[[repogroup]][[metric]]'\norder by\n  time",
            "refId": "B",
            "alias": "",
            "dsType": "influxdb",
            "policy": "default",
            "select": [
              [
                {
                  "params": [
                    "value"
                  ],
                  "type": "field"
                }
              ]
            ]
          }
        ],
        "title": "Users [[metric]] metric ([[repogroup_name]], [[period]])",
        "fill": 6,
        "points": false,
        "type": "graph",
        "id": 1,
        "spaceLength": 10,
        "tooltip": {
          "shared": true,
          "sort": 2,
          "value_type": "individual"
        },
        "yaxes": [
          {
            "format": "short",
            "label": "Value",
            "logBase": 1,
            "min": "0",
            "show": true
          },
          {
            "min": "0",
            "show": true,
            "format": "short",
            "label": "All",
            "logBase": 1
          }
        ],
        "options": {
          "alertThreshold": true
        },
        "dashes": false,
        "fillGradient": 0,
        "hiddenSeries": false,
        "links": [],
        "percentage": false,
        "renderer": "flot",
        "seriesOverrides": [
          {
            "lines": true,
            "linewidth": 1,
            "stack": false,
            "yaxis": 2,
            "alias": "All",
            "bars": false,
            "fill": 0
          }
        ],
        "bars": false,
        "stack": true,
        "pointradius": 5,
        "transparent": true,
        "yaxis": {
          "align": false
        },
        "nullPointMode": "null as zero",
        "datasource": {
          "type": "postgres",
          "uid": "P172949F98CB31475"
        },
        "decimals": 2,
        "description": "Measures user [[metric]].",
        "pluginVersion": "8.5.27",
        "thresholds": [],
        "timeRegions": [],
        "aliasColors": {
          
        },
        "xaxis": {
          "values": [],
          "mode": "time",
          "show": true
        }
      },
      {
        "renderer": "flot",
        "description": "Measures user [[metric]].",
        "gridPos": {
          "h": 16,
          "w": 24,
          "x": 0,
          "y": 17
        },
        "lines": true,
        "linewidth": 0,
        "links": [],
        "percentage": true,
        "dashLength": 10,
        "datasource": {
          "type": "postgres",
          "uid": "P172949F98CB31475"
        },
        "id": 2,
        "yaxes": [
          {
            "format": "short",
            "label": "",
            "logBase": 1,
            "max": "100",
            "min": "0",
            "show": true
          },
          {
            "format": "short",
            "label": "",
            "logBase": 1,
            "max": "100",
            "min": "0",
            "show": true
          }
        ],
        "steppedLine": false,
        "transparent": true,
        "fillGradient": 0,
        "hiddenSeries": false,
        "pluginVersion": "8.5.27",
        "pointradius": 5,
        "seriesOverrides": [],
        "spaceLength": 10,
        "nullPointMode": "null as zero",
        "points": false,
        "timeRegions": [],
        "tooltip": {
          "shared": true,
          "sort": 2,
          "value_type": "individual"
        },
        "xaxis": {
          "mode": "time",
          "show": true,
          "values": []
        },
        "targets": [
          {
            "alias": "",
            "format": "time_series",
            "rawSql": "select\n  time,\n  ${users:csv}\nfrom\n  suser_activity\nwhere\n  $__timeFilter(time)\n  and period = '[[period]]'\n  and series = 'user[[repogroup]][[metric]]'\norder by\n  time",
            "select": [
              [
                {
                  "params": [
                    "value"
                  ],
                  "type": "field"
                }
              ]
            ],
            "dsType": "influxdb",
            "groupBy": [],
            "query": "",
            "rawQuery": true,
            "refId": "B",
            "resultFormat": "time_series",
            "tags": [],
            "measurement": "sig_federation_d",
            "orderByTime": "ASC",
            "policy": "default"
          }
        ],
        "type": "graph",
        "aliasColors": {
          
        },
        "decimals": 2,
        "fill": 6,
        "thresholds": [],
        "bars": false,
        "options": {
          "alertThreshold": true
        },
        "title": "Users [[metric]] metric ([[repogroup_name]], [[period]])",
        "dashes": false,
        "fieldConfig": {
          "defaults": {
            "links": []
          },
          "overrides": []
        },
        "legend": {
          "alignAsTable": true,
          "avg": true,
          "show": true,
          "sort": "avg",
          "sortDesc": true,
          "values": true,
          "current": true,
          "hideEmpty": false,
          "hideZero": false,
          "max": true,
          "min": true,
          "rightSide": true,
          "total": false
        },
        "stack": true,
        "yaxis": {
          "align": false
        }
      },
      {
        "links": [],
        "mode": "html",
        "title": "Dashboard documentation",
        "type": "text",
        "content": "${docs:raw}",
        "datasource": {
          "type": "postgres",
          "uid": "P172949F98CB31475"
        },
        "gridPos": {
          "h": 13,
          "w": 24,
          "x": 0,
          "y": 33
        },
        "id": 11
      }
    ],
    "annotations": {
      "list": [
        {
          "name": "Annotations \u0026 Alerts",
          "showIn": 0,
          "target": {
            "limit": 100,
            "matchAny": false,
            "tags": [],
            "type": "dashboard"
          },
          "$$hashKey": "object:28",
          "datasource": {
            "type": "datasource",
            "uid": "grafana"
          },
          "enable": true,
          "iconColor": "rgba(0, 211, 255, 1)",
          "limit": 100,
          "builtIn": 1,
          "hide": true,
          "type": "dashboard"
        },
        {
          "enable": true,
          "rawQuery": "select extract(epoch from time) AS time, title as text, description as tags from sannotations where $__timeFilter(time)",
          "tagsColumn": "title,description",
          "datasource": {
            "type": "postgres",
            "uid": "P172949F98CB31475"
          },
          "hide": false,
          "query": "SELECT title, description from annotations WHERE $timeFilter order by time asc",
          "showIn": 0,
          "textColumn": "",
          "limit": 100,
          "name": "Releases",
          "titleColumn": "[[full_name]] release",
          "$$hashKey": "object:29",
          "iconColor": "rgba(255, 96, 96, 1)",
          "type": "alert"
        }
      ]
    },
    "style": "dark",
    "tags": [
      "dashboard",
      "kitops"
    ],
    "templating": {
      "list": [
        {
          "tagValuesQuery": "",
          "current": {
            "value": "Spiderpool",
            "selected": false,
            "text": "Spiderpool"
          },
          "refresh": 1,
          "sort": 0,
          "tagsQuery": "",
          "type": "query",
          "datasource": {
            "type": "postgres",
            "uid": "P172949F98CB31475"
          },
          "includeAll": false,
          "options": [],
          "regex": "",
          "hide": 2,
          "multi": false,
          "name": "full_name",
          "query": "select value_s from gha_vars where name = 'full_name'",
          "skipUrlSync": true,
          "useTags": false,
          "definition": ""
        },
        {
          "name": "period",
          "query": "d,w,m,q,y",
          "current": {
            "tags": [],
            "text": "Week",
            "value": "w"
          },
          "hide": 0,
          "label": "Period",
          "multi": false,
          "includeAll": false,
          "options": [
            {
              "value": "d",
              "selected": false,
              "text": "Day"
            },
            {
              "selected": false,
              "text": "7 Days MA",
              "value": "d7"
            },
            {
              "selected": true,
              "text": "Week",
              "value": "w"
            },
            {
              "selected": false,
              "text": "Month",
              "value": "m"
            },
            {
              "selected": false,
              "text": "Quarter",
              "value": "q"
            },
            {
              "value": "y",
              "selected": false,
              "text": "Year"
            }
          ],
          "skipUrlSync": false,
          "type": "custom"
        },
        {
          "multi": false,
          "name": "metric",
          "query": "activity,issues,prs,pushes,commits,contributions,comments,reviews",
          "skipUrlSync": false,
          "type": "custom",
          "includeAll": false,
          "label": "Metric",
          "options": [
            {
              "selected": false,
              "text": "All activity",
              "value": "activity"
            },
            {
              "selected": false,
              "text": "Issues created",
              "value": "issues"
            },
            {
              "selected": false,
              "text": "Pull requests created",
              "value": "prs"
            },
            {
              "selected": false,
              "text": "Reviews submitted",
              "value": "reviews"
            },
            {
              "selected": false,
              "text": "Commits made",
              "value": "commits"
            },
            {
              "selected": false,
              "text": "Pushes made",
              "value": "pushes"
            },
            {
              "selected": true,
              "text": "Contributions",
              "value": "contributions"
            },
            {
              "selected": false,
              "text": "Added comments",
              "value": "comments"
            }
          ],
          "current": {
            "tags": [],
            "text": "Contributions",
            "value": "contributions"
          },
          "hide": 0
        },
        {
          "refresh": 1,
          "sort": 0,
          "tagValuesQuery": "",
          "useTags": false,
          "includeAll": false,
          "multi": false,
          "query": "select all_repo_group_name from tall_repo_groups order by 1",
          "type": "query",
          "current": {
            "selected": false,
            "text": "All",
            "value": "All"
          },
          "options": [],
          "hide": 0,
          "label": "Repository group",
          "name": "repogroup_name",
          "regex": "",
          "tagsQuery": "",
          "datasource": {
            "type": "postgres",
            "uid": "P172949F98CB31475"
          },
          "definition": "",
          "skipUrlSync": false
        },
        {
          "current": {
            "text": "all",
            "value": "all",
            "selected": false
          },
          "refresh": 1,
          "hide": 2,
          "query": "select all_repo_group_value from tall_repo_groups where all_repo_group_name = '[[repogroup_name]]'",
          "regex": "",
          "skipUrlSync": true,
          "type": "query",
          "useTags": false,
          "datasource": {
            "type": "postgres",
            "uid": "P172949F98CB31475"
          },
          "label": "",
          "multi": false,
          "sort": 0,
          "definition": "",
          "includeAll": false,
          "name": "repogroup",
          "options": [],
          "tagValuesQuery": "",
          "tagsQuery": ""
        },
        {
          "allValue": "",
          "datasource": {
            "uid": "P172949F98CB31475",
            "type": "postgres"
          },
          "hide": 0,
          "includeAll": true,
          "refresh": 1,
          "useTags": false,
          "definition": "",
          "label": "Users",
          "options": [],
          "regex": "",
          "sort": 0,
          "current": {
            "selected": true,
            "text": [
              "All"
            ],
            "value": [
              "$__all"
            ]
          },
          "multi": true,
          "name": "users",
          "query": "select '\"' || users_name || '\"' from tusers order by time asc",
          "skipUrlSync": false,
          "tagValuesQuery": "",
          "tagsQuery": "",
          "type": "query"
        },
        {
          "hide": 2,
          "includeAll": false,
          "name": "docs",
          "query": "select value_s from gha_vars where name = 'users_stats_docs_html'",
          "refresh": 1,
          "sort": 0,
          "tagValuesQuery": "",
          "datasource": {
            "uid": "P172949F98CB31475",
            "type": "postgres"
          },
          "useTags": false,
          "tagsQuery": "",
          "regex": "",
          "options": [],
          "type": "query",
          "multi": false,
          "definition": "",
          "skipUrlSync": true,
          "current": {
            "selected": false,
            "text": "\u003ch1 id=\"dashboard-header\"\u003eSpiderpool users stats dashboard\u003c/h1\u003e\n\u003cp\u003eLinks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMetric \u003ca href=\"https://github.com/cncf/devstats/blob/master/metrics/shared/user_activity.sql\" target=\"_blank\"\u003eSQL file\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eTSDB \u003ca href=\"https://github.com/cncf/devstats/blob/master/metrics/shared/metrics.yaml\" target=\"_blank\"\u003eseries definition\u003c/a\u003e. Search for \u003ccode\u003euser_activity\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGrafana dashboard \u003ca href=\"https://github.com/cncf/devstats/blob/master/grafana/dashboards/spiderpool/users-stats.json\" target=\"_blank\"\u003eJSON\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"description\"\u003eDescription\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eThis dashboard shows various user statistics.\u003c/li\u003e\n\u003cli\u003eContributor is defined as somebody who made a review, comment, commit, created PR or issue.\u003c/li\u003e\n\u003cli\u003eContribution is a review, comment, commit, issue or PR.\u003c/li\u003e\n\u003cli\u003eYou can select statistic from the metrics drop down (All activity means all events registered by GitHub).\u003c/li\u003e\n\u003cli\u003eYou can select single repository group or summary statistics for all of them combined.\u003c/li\u003e\n\u003cli\u003eYou can select multiple users or all of them in a multi select dowp down.\u003c/li\u003e\n\u003cli\u003eWe are showing top 255 most active users in the drop-down list.\u003c/li\u003e\n\u003cli\u003eSelecting period (for example week) means that dashboard will show data in those periods.\u003c/li\u003e\n\u003cli\u003eSee \u003ca href=\"https://github.com/cncf/devstats/blob/master/docs/periods.md\" target=\"_blank\"\u003ehere\u003c/a\u003e for more informations about periods.\u003c/li\u003e\n\u003cli\u003eSee \u003ca href=\"https://github.com/cncf/devstats/blob/master/docs/repository_groups.md\" target=\"_blank\"\u003ehere\u003c/a\u003e for more informations about repository groups.\u003c/li\u003e\n\u003cli\u003eWe are skipping bots activity, see \u003ca href=\"https://github.com/cncf/devstats/blob/master/docs/excluding_bots.md\" target=\"_blank\"\u003eexcluding bots\u003c/a\u003e for details.\u003c/li\u003e\n\u003c/ul\u003e",
            "value": "\u003ch1 id=\"dashboard-header\"\u003eSpiderpool users stats dashboard\u003c/h1\u003e\n\u003cp\u003eLinks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMetric \u003ca href=\"https://github.com/cncf/devstats/blob/master/metrics/shared/user_activity.sql\" target=\"_blank\"\u003eSQL file\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eTSDB \u003ca href=\"https://github.com/cncf/devstats/blob/master/metrics/shared/metrics.yaml\" target=\"_blank\"\u003eseries definition\u003c/a\u003e. Search for \u003ccode\u003euser_activity\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGrafana dashboard \u003ca href=\"https://github.com/cncf/devstats/blob/master/grafana/dashboards/spiderpool/users-stats.json\" target=\"_blank\"\u003eJSON\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"description\"\u003eDescription\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eThis dashboard shows various user statistics.\u003c/li\u003e\n\u003cli\u003eContributor is defined as somebody who made a review, comment, commit, created PR or issue.\u003c/li\u003e\n\u003cli\u003eContribution is a review, comment, commit, issue or PR.\u003c/li\u003e\n\u003cli\u003eYou can select statistic from the metrics drop down (All activity means all events registered by GitHub).\u003c/li\u003e\n\u003cli\u003eYou can select single repository group or summary statistics for all of them combined.\u003c/li\u003e\n\u003cli\u003eYou can select multiple users or all of them in a multi select dowp down.\u003c/li\u003e\n\u003cli\u003eWe are showing top 255 most active users in the drop-down list.\u003c/li\u003e\n\u003cli\u003eSelecting period (for example week) means that dashboard will show data in those periods.\u003c/li\u003e\n\u003cli\u003eSee \u003ca href=\"https://github.com/cncf/devstats/blob/master/docs/periods.md\" target=\"_blank\"\u003ehere\u003c/a\u003e for more informations about periods.\u003c/li\u003e\n\u003cli\u003eSee \u003ca href=\"https://github.com/cncf/devstats/blob/master/docs/repository_groups.md\" target=\"_blank\"\u003ehere\u003c/a\u003e for more informations about repository groups.\u003c/li\u003e\n\u003cli\u003eWe are skipping bots activity, see \u003ca href=\"https://github.com/cncf/devstats/blob/master/docs/excluding_bots.md\" target=\"_blank\"\u003eexcluding bots\u003c/a\u003e for details.\u003c/li\u003e\n\u003c/ul\u003e"
          }
        }
      ]
    },
    "time": {
      "from": "now-2y",
      "to": "now"
    },
    "timepicker": {
      "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": "Users Statistics by Repository Group",
    "schemaVersion": 36,
    "uid": "48",
    "weekStart": ""
  }


# alert_configuration

configuration_version: v1
configuration_hash: 8c409350c88d78d2ee938448449e628d
alertmanager_configuration:
  {
  	"alertmanager_config": {
  		"route": {
  			"receiver": "grafana-default-email"
  		},
  		"receivers": [{
  			"name": "grafana-default-email",
  			"grafana_managed_receiver_configs": [{
  				"uid": "",
  				"name": "email receiver",
  				"type": "email",
  				"isDefault": true,
  				"settings": {
  					"addresses": "<example@email.com>"
  				}
  			}]
  		}]
  	}
  }


