Kindsys: New schema for Kinds report (#61034)

* New (desired) report output

* Kinds: New schema for kinds report

* Update report.json

* Sort dimension items
This commit is contained in:
Joan López de la Franca Beltran 2023-01-05 22:48:13 +01:00 committed by GitHub
parent cdd7392f68
commit dc20b776bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 453 additions and 217 deletions

View File

@ -14,6 +14,7 @@ import (
"strings"
"github.com/grafana/codejen"
"github.com/grafana/grafana/pkg/kindsys"
"github.com/grafana/grafana/pkg/plugins/pfs/corelist"
"github.com/grafana/grafana/pkg/registry/corekind"
@ -54,27 +55,71 @@ var plannedCoreKinds = []string{
}
type KindStateReport struct {
Core []kindsys.CoreProperties `json:"core"`
Composable []kindsys.ComposableProperties `json:"composable"`
Kinds map[string]kindsys.SomeKindProperties `json:"kinds"`
Dimensions map[string]Dimension `json:"dimensions"`
}
func emptyKindStateReport() KindStateReport {
return KindStateReport{
Core: make([]kindsys.CoreProperties, 0),
Composable: make([]kindsys.ComposableProperties, 0),
func (r *KindStateReport) add(k kindsys.SomeKindProperties, category string) {
kName := k.Common().MachineName
r.Kinds[kName] = k
r.Dimensions["maturity"][k.Common().Maturity.String()].add(kName)
r.Dimensions["category"][category].add(kName)
}
type Dimension map[string]*DimensionValue
type DimensionValue struct {
Name string `json:"name"`
Items []string `json:"items"`
Count int `json:"count"`
}
func (dv *DimensionValue) add(s string) {
dv.Count++
dv.Items = append(dv.Items, s)
}
// emptyKindStateReport is used to ensure certain
// dimension values are present (even if empty) in
// the final report.
func emptyKindStateReport() *KindStateReport {
return &KindStateReport{
Kinds: make(map[string]kindsys.SomeKindProperties),
Dimensions: map[string]Dimension{
"maturity": {
"planned": emptyDimensionValue("planned"),
"merged": emptyDimensionValue("merged"),
"experimental": emptyDimensionValue("experimental"),
"stable": emptyDimensionValue("stable"),
"mature": emptyDimensionValue("mature"),
},
"category": {
"core": emptyDimensionValue("core"),
"composable": emptyDimensionValue("composable"),
},
},
}
}
func buildKindStateReport() KindStateReport {
func emptyDimensionValue(name string) *DimensionValue {
return &DimensionValue{
Name: name,
Items: make([]string, 0),
Count: 0,
}
}
func buildKindStateReport() *KindStateReport {
r := emptyKindStateReport()
b := corekind.NewBase(nil)
seen := make(map[string]bool)
for _, k := range b.All() {
seen[k.Props().Common().Name] = true
switch props := k.Props().(type) {
switch k.Props().(type) {
case kindsys.CoreProperties:
r.Core = append(r.Core, props)
r.add(k.Props(), "core")
}
}
@ -82,7 +127,8 @@ func buildKindStateReport() KindStateReport {
if seen[kn] {
continue
}
r.Core = append(r.Core, kindsys.CoreProperties{
r.add(kindsys.CoreProperties{
CommonProperties: kindsys.CommonProperties{
Name: kn,
PluralName: kn + "s",
@ -90,7 +136,7 @@ func buildKindStateReport() KindStateReport {
PluralMachineName: machinize(kn) + "s",
Maturity: "planned",
},
})
}, "core")
}
all := kindsys.AllSlots(nil)
@ -114,17 +160,16 @@ func buildKindStateReport() KindStateReport {
props.CommonProperties.Maturity = "merged"
props.CurrentVersion = ck.Latest().Version()
}
r.Composable = append(r.Composable, props)
r.add(props, "composable")
}
}
}
sort.Slice(r.Core, func(i, j int) bool {
return r.Core[i].Common().Name < r.Core[j].Common().Name
})
sort.Slice(r.Composable, func(i, j int) bool {
return r.Composable[i].Common().Name < r.Composable[j].Common().Name
})
for _, d := range r.Dimensions {
for _, dv := range d {
sort.Strings(dv.Items)
}
}
return r
}

View File

@ -1,140 +1,6 @@
{
"core": [
{
"name": "APIKey",
"pluralName": "APIKeys",
"machineName": "apikey",
"pluralMachineName": "apikeys",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
{
"name": "Dashboard",
"pluralName": "Dashboards",
"machineName": "dashboard",
"pluralMachineName": "dashboards",
"lineageIsGroup": false,
"maturity": "merged",
"currentVersion": [
0,
0
]
},
{
"name": "DataSource",
"pluralName": "DataSources",
"machineName": "datasource",
"pluralMachineName": "datasources",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
{
"name": "Folder",
"pluralName": "Folders",
"machineName": "folder",
"pluralMachineName": "folders",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
{
"name": "Playlist",
"pluralName": "Playlists",
"machineName": "playlist",
"pluralMachineName": "playlists",
"lineageIsGroup": false,
"maturity": "merged",
"currentVersion": [
0,
0
]
},
{
"name": "Query",
"pluralName": "Querys",
"machineName": "query",
"pluralMachineName": "querys",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
{
"name": "QueryHistory",
"pluralName": "QueryHistorys",
"machineName": "queryhistory",
"pluralMachineName": "queryhistorys",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
{
"name": "ServiceAccount",
"pluralName": "ServiceAccounts",
"machineName": "serviceaccount",
"pluralMachineName": "serviceaccounts",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
{
"name": "Team",
"pluralName": "Teams",
"machineName": "team",
"pluralMachineName": "teams",
"lineageIsGroup": false,
"maturity": "merged",
"currentVersion": [
0,
0
]
},
{
"name": "Thumb",
"pluralName": "Thumbs",
"machineName": "thumb",
"pluralMachineName": "thumbs",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
{
"name": "User",
"pluralName": "Users",
"machineName": "user",
"pluralMachineName": "users",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
}
],
"composable": [
{
"kinds": {
"alertgroups_panel": {
"name": "AlertGroups-Panel",
"pluralName": "AlertGroups-Panels",
"machineName": "alertgroups_panel",
@ -146,7 +12,7 @@
0
]
},
{
"alertlist_panel": {
"name": "Alertlist-Panel",
"pluralName": "Alertlist-Panels",
"machineName": "alertlist_panel",
@ -158,7 +24,7 @@
0
]
},
{
"alertmanager_dsoptions": {
"name": "Alertmanager-DSOptions",
"pluralName": "Alertmanager-DSOptionss",
"machineName": "alertmanager_dsoptions",
@ -170,7 +36,7 @@
0
]
},
{
"alertmanager_query": {
"name": "Alertmanager-Query",
"pluralName": "Alertmanager-Querys",
"machineName": "alertmanager_query",
@ -182,7 +48,7 @@
0
]
},
{
"annolist_panel": {
"name": "Annolist-Panel",
"pluralName": "Annolist-Panels",
"machineName": "annolist_panel",
@ -194,7 +60,19 @@
0
]
},
{
"apikey": {
"name": "APIKey",
"pluralName": "APIKeys",
"machineName": "apikey",
"pluralMachineName": "apikeys",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
"barchart_panel": {
"name": "Barchart-Panel",
"pluralName": "Barchart-Panels",
"machineName": "barchart_panel",
@ -206,7 +84,7 @@
0
]
},
{
"bargauge_panel": {
"name": "Bargauge-Panel",
"pluralName": "Bargauge-Panels",
"machineName": "bargauge_panel",
@ -218,7 +96,7 @@
0
]
},
{
"cloudwatch_dsoptions": {
"name": "Cloudwatch-DSOptions",
"pluralName": "Cloudwatch-DSOptionss",
"machineName": "cloudwatch_dsoptions",
@ -230,7 +108,7 @@
0
]
},
{
"cloudwatch_query": {
"name": "Cloudwatch-Query",
"pluralName": "Cloudwatch-Querys",
"machineName": "cloudwatch_query",
@ -242,7 +120,19 @@
0
]
},
{
"dashboard": {
"name": "Dashboard",
"pluralName": "Dashboards",
"machineName": "dashboard",
"pluralMachineName": "dashboards",
"lineageIsGroup": false,
"maturity": "merged",
"currentVersion": [
0,
0
]
},
"dashboard_dsoptions": {
"name": "Dashboard-DSOptions",
"pluralName": "Dashboard-DSOptionss",
"machineName": "dashboard_dsoptions",
@ -254,7 +144,7 @@
0
]
},
{
"dashboard_query": {
"name": "Dashboard-Query",
"pluralName": "Dashboard-Querys",
"machineName": "dashboard_query",
@ -266,7 +156,7 @@
0
]
},
{
"dashlist_panel": {
"name": "Dashlist-Panel",
"pluralName": "Dashlist-Panels",
"machineName": "dashlist_panel",
@ -278,7 +168,19 @@
0
]
},
{
"datasource": {
"name": "DataSource",
"pluralName": "DataSources",
"machineName": "datasource",
"pluralMachineName": "datasources",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
"debug_panel": {
"name": "Debug-Panel",
"pluralName": "Debug-Panels",
"machineName": "debug_panel",
@ -290,7 +192,7 @@
0
]
},
{
"elasticsearch_dsoptions": {
"name": "Elasticsearch-DSOptions",
"pluralName": "Elasticsearch-DSOptionss",
"machineName": "elasticsearch_dsoptions",
@ -302,7 +204,7 @@
0
]
},
{
"elasticsearch_query": {
"name": "Elasticsearch-Query",
"pluralName": "Elasticsearch-Querys",
"machineName": "elasticsearch_query",
@ -314,7 +216,7 @@
0
]
},
{
"flamegraph_panel": {
"name": "Flamegraph-Panel",
"pluralName": "Flamegraph-Panels",
"machineName": "flamegraph_panel",
@ -326,7 +228,19 @@
0
]
},
{
"folder": {
"name": "Folder",
"pluralName": "Folders",
"machineName": "folder",
"pluralMachineName": "folders",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
"gauge_panel": {
"name": "Gauge-Panel",
"pluralName": "Gauge-Panels",
"machineName": "gauge_panel",
@ -338,7 +252,7 @@
0
]
},
{
"geomap_panel": {
"name": "Geomap-Panel",
"pluralName": "Geomap-Panels",
"machineName": "geomap_panel",
@ -350,7 +264,7 @@
0
]
},
{
"gettingstarted_panel": {
"name": "Gettingstarted-Panel",
"pluralName": "Gettingstarted-Panels",
"machineName": "gettingstarted_panel",
@ -362,7 +276,7 @@
0
]
},
{
"grafana_azure_monitor_datasource_dsoptions": {
"name": "Grafana-Azure-Monitor-Datasource-DSOptions",
"pluralName": "Grafana-Azure-Monitor-Datasource-DSOptionss",
"machineName": "grafana_azure_monitor_datasource_dsoptions",
@ -374,7 +288,7 @@
0
]
},
{
"grafana_azure_monitor_datasource_query": {
"name": "Grafana-Azure-Monitor-Datasource-Query",
"pluralName": "Grafana-Azure-Monitor-Datasource-Querys",
"machineName": "grafana_azure_monitor_datasource_query",
@ -386,7 +300,7 @@
0
]
},
{
"grafana_dsoptions": {
"name": "Grafana-DSOptions",
"pluralName": "Grafana-DSOptionss",
"machineName": "grafana_dsoptions",
@ -398,7 +312,7 @@
0
]
},
{
"grafana_query": {
"name": "Grafana-Query",
"pluralName": "Grafana-Querys",
"machineName": "grafana_query",
@ -410,7 +324,7 @@
0
]
},
{
"graph_panel": {
"name": "Graph-Panel",
"pluralName": "Graph-Panels",
"machineName": "graph_panel",
@ -422,7 +336,7 @@
0
]
},
{
"graphite_dsoptions": {
"name": "Graphite-DSOptions",
"pluralName": "Graphite-DSOptionss",
"machineName": "graphite_dsoptions",
@ -434,7 +348,7 @@
0
]
},
{
"graphite_query": {
"name": "Graphite-Query",
"pluralName": "Graphite-Querys",
"machineName": "graphite_query",
@ -446,7 +360,7 @@
0
]
},
{
"histogram_panel": {
"name": "Histogram-Panel",
"pluralName": "Histogram-Panels",
"machineName": "histogram_panel",
@ -458,7 +372,7 @@
0
]
},
{
"icon_panel": {
"name": "Icon-Panel",
"pluralName": "Icon-Panels",
"machineName": "icon_panel",
@ -470,7 +384,7 @@
0
]
},
{
"jaeger_dsoptions": {
"name": "Jaeger-DSOptions",
"pluralName": "Jaeger-DSOptionss",
"machineName": "jaeger_dsoptions",
@ -482,7 +396,7 @@
0
]
},
{
"jaeger_query": {
"name": "Jaeger-Query",
"pluralName": "Jaeger-Querys",
"machineName": "jaeger_query",
@ -494,7 +408,7 @@
0
]
},
{
"live_panel": {
"name": "Live-Panel",
"pluralName": "Live-Panels",
"machineName": "live_panel",
@ -506,7 +420,7 @@
0
]
},
{
"logs_panel": {
"name": "Logs-Panel",
"pluralName": "Logs-Panels",
"machineName": "logs_panel",
@ -518,7 +432,7 @@
0
]
},
{
"loki_dsoptions": {
"name": "Loki-DSOptions",
"pluralName": "Loki-DSOptionss",
"machineName": "loki_dsoptions",
@ -530,7 +444,7 @@
0
]
},
{
"loki_query": {
"name": "Loki-Query",
"pluralName": "Loki-Querys",
"machineName": "loki_query",
@ -542,7 +456,7 @@
0
]
},
{
"mssql_dsoptions": {
"name": "Mssql-DSOptions",
"pluralName": "Mssql-DSOptionss",
"machineName": "mssql_dsoptions",
@ -554,7 +468,7 @@
0
]
},
{
"mssql_query": {
"name": "Mssql-Query",
"pluralName": "Mssql-Querys",
"machineName": "mssql_query",
@ -566,7 +480,7 @@
0
]
},
{
"mysql_dsoptions": {
"name": "Mysql-DSOptions",
"pluralName": "Mysql-DSOptionss",
"machineName": "mysql_dsoptions",
@ -578,7 +492,7 @@
0
]
},
{
"mysql_query": {
"name": "Mysql-Query",
"pluralName": "Mysql-Querys",
"machineName": "mysql_query",
@ -590,7 +504,7 @@
0
]
},
{
"news_panel": {
"name": "News-Panel",
"pluralName": "News-Panels",
"machineName": "news_panel",
@ -602,7 +516,7 @@
0
]
},
{
"nodegraph_panel": {
"name": "NodeGraph-Panel",
"pluralName": "NodeGraph-Panels",
"machineName": "nodegraph_panel",
@ -614,7 +528,7 @@
0
]
},
{
"parca_dsoptions": {
"name": "Parca-DSOptions",
"pluralName": "Parca-DSOptionss",
"machineName": "parca_dsoptions",
@ -626,7 +540,7 @@
0
]
},
{
"parca_query": {
"name": "Parca-Query",
"pluralName": "Parca-Querys",
"machineName": "parca_query",
@ -638,7 +552,7 @@
0
]
},
{
"phlare_dsoptions": {
"name": "Phlare-DSOptions",
"pluralName": "Phlare-DSOptionss",
"machineName": "phlare_dsoptions",
@ -650,7 +564,7 @@
0
]
},
{
"phlare_query": {
"name": "Phlare-Query",
"pluralName": "Phlare-Querys",
"machineName": "phlare_query",
@ -662,7 +576,7 @@
0
]
},
{
"piechart_panel": {
"name": "Piechart-Panel",
"pluralName": "Piechart-Panels",
"machineName": "piechart_panel",
@ -674,7 +588,19 @@
0
]
},
{
"playlist": {
"name": "Playlist",
"pluralName": "Playlists",
"machineName": "playlist",
"pluralMachineName": "playlists",
"lineageIsGroup": false,
"maturity": "merged",
"currentVersion": [
0,
0
]
},
"postgres_dsoptions": {
"name": "Postgres-DSOptions",
"pluralName": "Postgres-DSOptionss",
"machineName": "postgres_dsoptions",
@ -686,7 +612,7 @@
0
]
},
{
"postgres_query": {
"name": "Postgres-Query",
"pluralName": "Postgres-Querys",
"machineName": "postgres_query",
@ -698,7 +624,7 @@
0
]
},
{
"prometheus_dsoptions": {
"name": "Prometheus-DSOptions",
"pluralName": "Prometheus-DSOptionss",
"machineName": "prometheus_dsoptions",
@ -710,7 +636,7 @@
0
]
},
{
"prometheus_query": {
"name": "Prometheus-Query",
"pluralName": "Prometheus-Querys",
"machineName": "prometheus_query",
@ -722,7 +648,43 @@
0
]
},
{
"query": {
"name": "Query",
"pluralName": "Querys",
"machineName": "query",
"pluralMachineName": "querys",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
"queryhistory": {
"name": "QueryHistory",
"pluralName": "QueryHistorys",
"machineName": "queryhistory",
"pluralMachineName": "queryhistorys",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
"serviceaccount": {
"name": "ServiceAccount",
"pluralName": "ServiceAccounts",
"machineName": "serviceaccount",
"pluralMachineName": "serviceaccounts",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
"stackdriver_dsoptions": {
"name": "Stackdriver-DSOptions",
"pluralName": "Stackdriver-DSOptionss",
"machineName": "stackdriver_dsoptions",
@ -734,7 +696,7 @@
0
]
},
{
"stackdriver_query": {
"name": "Stackdriver-Query",
"pluralName": "Stackdriver-Querys",
"machineName": "stackdriver_query",
@ -746,7 +708,7 @@
0
]
},
{
"stat_panel": {
"name": "Stat-Panel",
"pluralName": "Stat-Panels",
"machineName": "stat_panel",
@ -758,7 +720,7 @@
0
]
},
{
"table_old_panel": {
"name": "Table-Old-Panel",
"pluralName": "Table-Old-Panels",
"machineName": "table_old_panel",
@ -770,7 +732,19 @@
0
]
},
{
"team": {
"name": "Team",
"pluralName": "Teams",
"machineName": "team",
"pluralMachineName": "teams",
"lineageIsGroup": false,
"maturity": "merged",
"currentVersion": [
0,
0
]
},
"tempo_dsoptions": {
"name": "Tempo-DSOptions",
"pluralName": "Tempo-DSOptionss",
"machineName": "tempo_dsoptions",
@ -782,7 +756,7 @@
0
]
},
{
"tempo_query": {
"name": "Tempo-Query",
"pluralName": "Tempo-Querys",
"machineName": "tempo_query",
@ -794,7 +768,7 @@
0
]
},
{
"testdata_dsoptions": {
"name": "Testdata-DSOptions",
"pluralName": "Testdata-DSOptionss",
"machineName": "testdata_dsoptions",
@ -806,7 +780,7 @@
0
]
},
{
"testdata_query": {
"name": "Testdata-Query",
"pluralName": "Testdata-Querys",
"machineName": "testdata_query",
@ -818,7 +792,7 @@
0
]
},
{
"text_panel": {
"name": "Text-Panel",
"pluralName": "Text-Panels",
"machineName": "text_panel",
@ -830,7 +804,19 @@
0
]
},
{
"thumb": {
"name": "Thumb",
"pluralName": "Thumbs",
"machineName": "thumb",
"pluralMachineName": "thumbs",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
"traces_panel": {
"name": "Traces-Panel",
"pluralName": "Traces-Panels",
"machineName": "traces_panel",
@ -842,7 +828,19 @@
0
]
},
{
"user": {
"name": "User",
"pluralName": "Users",
"machineName": "user",
"pluralMachineName": "users",
"lineageIsGroup": false,
"maturity": "planned",
"currentVersion": [
0,
0
]
},
"welcome_panel": {
"name": "Welcome-Panel",
"pluralName": "Welcome-Panels",
"machineName": "welcome_panel",
@ -854,7 +852,7 @@
0
]
},
{
"xychart_panel": {
"name": "Xychart-Panel",
"pluralName": "Xychart-Panels",
"machineName": "xychart_panel",
@ -866,7 +864,7 @@
0
]
},
{
"zipkin_dsoptions": {
"name": "Zipkin-DSOptions",
"pluralName": "Zipkin-DSOptionss",
"machineName": "zipkin_dsoptions",
@ -878,7 +876,7 @@
0
]
},
{
"zipkin_query": {
"name": "Zipkin-Query",
"pluralName": "Zipkin-Querys",
"machineName": "zipkin_query",
@ -890,5 +888,198 @@
0
]
}
]
},
"dimensions": {
"category": {
"composable": {
"name": "composable",
"items": [
"alertgroups_panel",
"alertlist_panel",
"alertmanager_dsoptions",
"alertmanager_query",
"annolist_panel",
"barchart_panel",
"bargauge_panel",
"cloudwatch_dsoptions",
"cloudwatch_query",
"dashboard_dsoptions",
"dashboard_query",
"dashlist_panel",
"debug_panel",
"elasticsearch_dsoptions",
"elasticsearch_query",
"flamegraph_panel",
"gauge_panel",
"geomap_panel",
"gettingstarted_panel",
"grafana_azure_monitor_datasource_dsoptions",
"grafana_azure_monitor_datasource_query",
"grafana_dsoptions",
"grafana_query",
"graph_panel",
"graphite_dsoptions",
"graphite_query",
"histogram_panel",
"icon_panel",
"jaeger_dsoptions",
"jaeger_query",
"live_panel",
"logs_panel",
"loki_dsoptions",
"loki_query",
"mssql_dsoptions",
"mssql_query",
"mysql_dsoptions",
"mysql_query",
"news_panel",
"nodegraph_panel",
"parca_dsoptions",
"parca_query",
"phlare_dsoptions",
"phlare_query",
"piechart_panel",
"postgres_dsoptions",
"postgres_query",
"prometheus_dsoptions",
"prometheus_query",
"stackdriver_dsoptions",
"stackdriver_query",
"stat_panel",
"table_old_panel",
"tempo_dsoptions",
"tempo_query",
"testdata_dsoptions",
"testdata_query",
"text_panel",
"traces_panel",
"welcome_panel",
"xychart_panel",
"zipkin_dsoptions",
"zipkin_query"
],
"count": 63
},
"core": {
"name": "core",
"items": [
"apikey",
"dashboard",
"datasource",
"folder",
"playlist",
"query",
"queryhistory",
"serviceaccount",
"team",
"thumb",
"user"
],
"count": 11
}
},
"maturity": {
"experimental": {
"name": "experimental",
"items": [],
"count": 0
},
"mature": {
"name": "mature",
"items": [],
"count": 0
},
"merged": {
"name": "merged",
"items": [
"annolist_panel",
"barchart_panel",
"bargauge_panel",
"dashboard",
"dashlist_panel",
"gauge_panel",
"histogram_panel",
"news_panel",
"piechart_panel",
"playlist",
"stat_panel",
"team",
"text_panel"
],
"count": 13
},
"planned": {
"name": "planned",
"items": [
"alertgroups_panel",
"alertlist_panel",
"alertmanager_dsoptions",
"alertmanager_query",
"apikey",
"cloudwatch_dsoptions",
"cloudwatch_query",
"dashboard_dsoptions",
"dashboard_query",
"datasource",
"debug_panel",
"elasticsearch_dsoptions",
"elasticsearch_query",
"flamegraph_panel",
"folder",
"geomap_panel",
"gettingstarted_panel",
"grafana_azure_monitor_datasource_dsoptions",
"grafana_azure_monitor_datasource_query",
"grafana_dsoptions",
"grafana_query",
"graph_panel",
"graphite_dsoptions",
"graphite_query",
"icon_panel",
"jaeger_dsoptions",
"jaeger_query",
"live_panel",
"logs_panel",
"loki_dsoptions",
"loki_query",
"mssql_dsoptions",
"mssql_query",
"mysql_dsoptions",
"mysql_query",
"nodegraph_panel",
"parca_dsoptions",
"parca_query",
"phlare_dsoptions",
"phlare_query",
"postgres_dsoptions",
"postgres_query",
"prometheus_dsoptions",
"prometheus_query",
"query",
"queryhistory",
"serviceaccount",
"stackdriver_dsoptions",
"stackdriver_query",
"table_old_panel",
"tempo_dsoptions",
"tempo_query",
"testdata_dsoptions",
"testdata_query",
"thumb",
"traces_panel",
"user",
"welcome_panel",
"xychart_panel",
"zipkin_dsoptions",
"zipkin_query"
],
"count": 61
},
"stable": {
"name": "stable",
"items": [],
"count": 0
}
}
}
}