Canvas: Add demo dashboards (#56351)

Co-authored-by: drew08t <drew08@gmail.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
This commit is contained in:
Nathan Marrs 2022-10-07 18:34:18 -07:00 committed by GitHub
parent 3487e68d15
commit ac91df0ea2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 4822 additions and 2977 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2,15 +2,12 @@ package object
import (
"bytes"
"crypto/md5"
"encoding/hex"
"encoding/json"
"os"
"path/filepath"
"strings"
"testing"
"github.com/grafana/grafana-plugin-sdk-go/experimental"
"github.com/grafana/grafana/pkg/services/searchV2/dslookup"
"github.com/grafana/grafana/pkg/services/store/object"
"github.com/stretchr/testify/require"
@ -33,14 +30,11 @@ func dsLookup() dslookup.DatasourceLookup {
})
}
func TestReadDashboard(t *testing.T) {
devdash := "../../../../devenv/dev-dashboards/"
func TestReadSummaries(t *testing.T) {
devdash := "../../../../devenv/dev-dashboards/panel-graph/"
reader := NewDashboardSummaryBuilder(dsLookup())
failed := make([]string, 0, 10)
table := newSummaryTable()
snapshots := false
err := filepath.Walk(devdash,
func(path string, info os.FileInfo, err error) error {
@ -56,57 +50,38 @@ func TestReadDashboard(t *testing.T) {
return err
}
obj := &object.RawObject{
UID: path[len(devdash):],
Size: info.Size(),
Updated: info.ModTime().UnixMilli(),
Body: body,
ETag: createContentsHash(body),
}
summary, err := reader(obj)
uid := path[len(devdash):]
summary, err := reader(&object.RawObject{
UID: uid,
Body: body,
})
if err != nil {
return err
}
table.Add(obj, summary)
// Check each snapshot
if snapshots {
out, err := json.MarshalIndent(summary, "", " ")
out, err := json.MarshalIndent(summary, "", " ")
if err != nil {
return err
}
gpath := "testdata/gdev-walk-" + strings.ReplaceAll(uid, "/", "-")
// Ignore gosec warning G304 since it's a test
// nolint:gosec
golden, _ := os.ReadFile(gpath)
if !bytes.Equal(out, golden) {
failed = append(failed, uid)
err = os.WriteFile(gpath, out, 0600)
if err != nil {
return err
}
gpath := "testdata/gdev-walk-" + strings.ReplaceAll(obj.UID, "/", "-")
// Ignore gosec warning G304 since it's a test
// nolint:gosec
golden, _ := os.ReadFile(gpath)
if !bytes.Equal(out, golden) {
failed = append(failed, obj.UID)
err = os.WriteFile(gpath, out, 0600)
if err != nil {
return err
}
}
}
}
return nil
})
require.NoError(t, err)
// Check the tabular formts
experimental.CheckGoldenJSONFrame(t, "testdata", "dash_raw", table.Raw, true)
experimental.CheckGoldenJSONFrame(t, "testdata", "dash_summary", table.Summary, true)
experimental.CheckGoldenJSONFrame(t, "testdata", "dash_references", table.References, true)
experimental.CheckGoldenJSONFrame(t, "testdata", "dash_labels", table.Labels, true)
// accumulated in the walk test
require.Equal(t, []string{}, failed)
}
func createContentsHash(contents []byte) string {
hash := md5.Sum(contents)
return hex.EncodeToString(hash[:])
}

View File

@ -1,95 +0,0 @@
package object
import (
"encoding/json"
"sort"
"github.com/grafana/grafana-plugin-sdk-go/data"
"github.com/grafana/grafana/pkg/services/store/object"
)
//------------------------------------------------------------------------------
// Currently this is just for testing.
// In general it will flatten objects + summary into differnet tables
//------------------------------------------------------------------------------
type SummaryTable struct {
Raw *data.Frame
Summary *data.Frame
References *data.Frame
Labels *data.Frame
}
func newSummaryTable() SummaryTable {
return SummaryTable{
Raw: data.NewFrame("raw",
newField("uid", data.FieldTypeString),
newField("kind", data.FieldTypeString),
newField("size", data.FieldTypeInt64),
newField("etag", data.FieldTypeString),
),
Summary: data.NewFrame("summary",
newField("uid", data.FieldTypeString),
newField("name", data.FieldTypeString),
newField("fields", data.FieldTypeJSON),
),
References: data.NewFrame("references",
newField("uid", data.FieldTypeString),
newField("kind", data.FieldTypeString),
newField("type", data.FieldTypeString),
newField("uid", data.FieldTypeString), // yes, same key :grimmice:, path_hash?
),
Labels: data.NewFrame("labels",
newField("uid", data.FieldTypeString),
newField("key", data.FieldTypeString),
newField("value", data.FieldTypeString),
),
}
}
func newField(name string, p data.FieldType) *data.Field {
f := data.NewFieldFromFieldType(p, 0)
f.Name = name
return f
}
func (x *SummaryTable) Add(obj *object.RawObject, summary object.ObjectSummary) {
x.Raw.AppendRow(
obj.UID,
obj.Kind,
obj.Size,
obj.ETag,
)
// Add summary table
fieldsJson, _ := json.Marshal(summary.Fields)
x.Summary.AppendRow(
obj.UID,
summary.Name,
json.RawMessage(fieldsJson),
)
// Add references
for _, ref := range summary.References {
x.References.AppendRow(
obj.UID,
ref.Kind,
ref.Type,
ref.UID,
)
}
// Stable sort order
keys := make([]string, 0, len(summary.Labels))
for k := range summary.Labels {
keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
x.Labels.AppendRow(
obj.UID,
k,
summary.Labels[k],
)
}
}

View File

@ -1,702 +0,0 @@
// 🌟 This was machine generated. Do not edit. 🌟
//
// Frame[0]
// Name: labels
// Dimensions: 3 Fields by 212 Rows
// +-----------------------------------------------------+-----------------+----------------+
// | Name: uid | Name: key | Name: value |
// | Labels: | Labels: | Labels: |
// | Type: []string | Type: []string | Type: []string |
// +-----------------------------------------------------+-----------------+----------------+
// | alerting/testdata_alerts.json | alerting | |
// | alerting/testdata_alerts.json | gdev | |
// | all-panels.json | all-panels | |
// | all-panels.json | gdev | |
// | all-panels.json | panel-tests | |
// | datasource-elasticsearch/elasticsearch_compare.json | datasource-test | |
// | datasource-elasticsearch/elasticsearch_compare.json | elasticsearch | |
// | datasource-elasticsearch/elasticsearch_compare.json | gdev | |
// | datasource-elasticsearch/elasticsearch_v7.json | datasource-test | |
// | ... | ... | ... |
// +-----------------------------------------------------+-----------------+----------------+
//
//
// 🌟 This was machine generated. Do not edit. 🌟
{
"frames": [
{
"schema": {
"name": "labels",
"fields": [
{
"name": "uid",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "key",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "value",
"type": "string",
"typeInfo": {
"frame": "string"
}
}
]
},
"data": {
"values": [
[
"alerting/testdata_alerts.json",
"alerting/testdata_alerts.json",
"all-panels.json",
"all-panels.json",
"all-panels.json",
"datasource-elasticsearch/elasticsearch_compare.json",
"datasource-elasticsearch/elasticsearch_compare.json",
"datasource-elasticsearch/elasticsearch_compare.json",
"datasource-elasticsearch/elasticsearch_v7.json",
"datasource-elasticsearch/elasticsearch_v7.json",
"datasource-elasticsearch/elasticsearch_v7.json",
"datasource-elasticsearch/elasticsearch_v7_filebeat.json",
"datasource-elasticsearch/elasticsearch_v7_filebeat.json",
"datasource-elasticsearch/elasticsearch_v7_filebeat.json",
"datasource-influxdb/influxdb-logs.json",
"datasource-influxdb/influxdb-logs.json",
"datasource-influxdb/influxdb-logs.json",
"datasource-influxdb/influxdb-templated.json",
"datasource-influxdb/influxdb-templated.json",
"datasource-influxdb/influxdb-templated.json",
"datasource-mssql/mssql_fakedata.json",
"datasource-mssql/mssql_fakedata.json",
"datasource-mssql/mssql_fakedata.json",
"datasource-mssql/mssql_unittest.json",
"datasource-mssql/mssql_unittest.json",
"datasource-mssql/mssql_unittest.json",
"datasource-mysql/mysql_fakedata.json",
"datasource-mysql/mysql_fakedata.json",
"datasource-mysql/mysql_fakedata.json",
"datasource-mysql/mysql_unittest.json",
"datasource-mysql/mysql_unittest.json",
"datasource-mysql/mysql_unittest.json",
"datasource-opentsdb/opentsdb.json",
"datasource-opentsdb/opentsdb.json",
"datasource-opentsdb/opentsdb.json",
"datasource-postgres/postgres_fakedata.json",
"datasource-postgres/postgres_fakedata.json",
"datasource-postgres/postgres_fakedata.json",
"datasource-postgres/postgres_unittest.json",
"datasource-postgres/postgres_unittest.json",
"datasource-postgres/postgres_unittest.json",
"datasource-testdata/bar-gauge-demo2.json",
"datasource-testdata/bar-gauge-demo2.json",
"datasource-testdata/demo1.json",
"datasource-testdata/demo1.json",
"datasource-testdata/new_features_in_v62.json",
"datasource-testdata/new_features_in_v62.json",
"datasource-testdata/new_features_in_v74.json",
"datasource-testdata/new_features_in_v74.json",
"datasource-testdata/new_features_in_v74.json",
"datasource-testdata/new_features_in_v8.json",
"datasource-testdata/new_features_in_v8.json",
"datasource-testdata/new_features_in_v8.json",
"feature-templating/global-variables-and-interpolation.json",
"feature-templating/global-variables-and-interpolation.json",
"feature-templating/templating-dashboard-links-and-variables.json",
"feature-templating/templating-dashboard-links-and-variables.json",
"feature-templating/testdata-datalinks.json",
"feature-templating/testdata-datalinks.json",
"feature-templating/testdata-nested-variables-drilldown.json",
"feature-templating/testdata-nested-variables-drilldown.json",
"feature-templating/testdata-nested-variables.json",
"feature-templating/testdata-nested-variables.json",
"feature-templating/testdata-repeating.json",
"feature-templating/testdata-repeating.json",
"feature-templating/testdata-variables-textbox.json",
"feature-templating/testdata-variables-textbox.json",
"feature-templating/testdata-variables-that-update-on-time-change.json",
"feature-templating/testdata-variables-that-update-on-time-change.json",
"panel-barchart/barchart-autosizing.json",
"panel-barchart/barchart-autosizing.json",
"panel-barchart/barchart-autosizing.json",
"panel-barchart/barchart-autosizing.json",
"panel-bargauge/bar_gauge_demo.json",
"panel-bargauge/bar_gauge_demo.json",
"panel-bargauge/panel_tests_bar_gauge.json",
"panel-bargauge/panel_tests_bar_gauge.json",
"panel-bargauge/panel_tests_bar_gauge2.json",
"panel-bargauge/panel_tests_bar_gauge2.json",
"panel-candlestick/candlestick.json",
"panel-candlestick/candlestick.json",
"panel-candlestick/candlestick.json",
"panel-common/auto_decimals.json",
"panel-common/auto_decimals.json",
"panel-common/color_modes.json",
"panel-common/color_modes.json",
"panel-common/lazy_loading.json",
"panel-common/lazy_loading.json",
"panel-common/linked-viz.json",
"panel-common/panels_without_title.json",
"panel-common/panels_without_title.json",
"panel-common/shared_queries.json",
"panel-common/shared_queries.json",
"panel-gauge/gauge-multi-series.json",
"panel-gauge/gauge-multi-series.json",
"panel-gauge/gauge-multi-series.json",
"panel-gauge/gauge_tests.json",
"panel-gauge/gauge_tests.json",
"panel-geomap/geomap-9.1.json",
"panel-geomap/geomap-9.1.json",
"panel-geomap/geomap-9.1.json",
"panel-geomap/geomap-color-field.json",
"panel-geomap/geomap-color-field.json",
"panel-geomap/geomap-color-field.json",
"panel-geomap/geomap-spatial-operations-transformer.json",
"panel-geomap/geomap-spatial-operations-transformer.json",
"panel-geomap/geomap-spatial-operations-transformer.json",
"panel-geomap/geomap_multi-layers.json",
"panel-geomap/geomap_multi-layers.json",
"panel-geomap/geomap_multi-layers.json",
"panel-geomap/panel-geomap.json",
"panel-geomap/panel-geomap.json",
"panel-geomap/panel-geomap.json",
"panel-graph/graph-gradient-area-fills.json",
"panel-graph/graph-gradient-area-fills.json",
"panel-graph/graph-gradient-area-fills.json",
"panel-graph/graph-shared-tooltips.json",
"panel-graph/graph-shared-tooltips.json",
"panel-graph/graph-shared-tooltips.json",
"panel-graph/graph-time-regions.json",
"panel-graph/graph-time-regions.json",
"panel-graph/graph-time-regions.json",
"panel-graph/graph_tests.json",
"panel-graph/graph_tests.json",
"panel-graph/graph_tests.json",
"panel-graph/graph_y_axis.json",
"panel-graph/graph_y_axis.json",
"panel-heatmap/heatmap-calculate-log.json",
"panel-heatmap/heatmap-calculate-log.json",
"panel-heatmap/heatmap-calculate-log.json",
"panel-heatmap/heatmap-legacy.json",
"panel-heatmap/heatmap-legacy.json",
"panel-heatmap/heatmap-legacy.json",
"panel-histogram/histogram_tests.json",
"panel-histogram/histogram_tests.json",
"panel-histogram/histogram_tests.json",
"panel-piechart/panel_test_piechart.json",
"panel-piechart/panel_test_piechart.json",
"panel-polystat/polystat_test.json",
"panel-polystat/polystat_test.json",
"panel-polystat/polystat_test.json",
"panel-stat/panel-stat-tests.json",
"panel-stat/panel-stat-tests.json",
"panel-stat/panel-stat-tests.json",
"panel-table/table_pagination.json",
"panel-table/table_pagination.json",
"panel-table/table_tests.json",
"panel-table/table_tests.json",
"panel-table/table_tests_new.json",
"panel-table/table_tests_new.json",
"panel-timeline/timeline-demo.json",
"panel-timeline/timeline-demo.json",
"panel-timeline/timeline-demo.json",
"panel-timeline/timeline-demo.json",
"panel-timeline/timeline-modes.json",
"panel-timeline/timeline-modes.json",
"panel-timeline/timeline-modes.json",
"panel-timeseries/timeseries-by-value-color-schemes.json",
"panel-timeseries/timeseries-by-value-color-schemes.json",
"panel-timeseries/timeseries-by-value-color-schemes.json",
"panel-timeseries/timeseries-gradient-area.json",
"panel-timeseries/timeseries-gradient-area.json",
"panel-timeseries/timeseries-gradient-area.json",
"panel-timeseries/timeseries-hue-gradients.json",
"panel-timeseries/timeseries-hue-gradients.json",
"panel-timeseries/timeseries-hue-gradients.json",
"panel-timeseries/timeseries-nulls.json",
"panel-timeseries/timeseries-nulls.json",
"panel-timeseries/timeseries-nulls.json",
"panel-timeseries/timeseries-out-of-rage.json",
"panel-timeseries/timeseries-out-of-rage.json",
"panel-timeseries/timeseries-out-of-rage.json",
"panel-timeseries/timeseries-shared-tooltip-cursor-position.json",
"panel-timeseries/timeseries-shared-tooltip-cursor-position.json",
"panel-timeseries/timeseries-shared-tooltip-cursor-position.json",
"panel-timeseries/timeseries-soft-limits.json",
"panel-timeseries/timeseries-soft-limits.json",
"panel-timeseries/timeseries-soft-limits.json",
"panel-timeseries/timeseries-stacking.json",
"panel-timeseries/timeseries-stacking.json",
"panel-timeseries/timeseries-stacking.json",
"panel-timeseries/timeseries-stacking2.json",
"panel-timeseries/timeseries-stacking2.json",
"panel-timeseries/timeseries-stacking2.json",
"panel-timeseries/timeseries-thresholds.json",
"panel-timeseries/timeseries-thresholds.json",
"panel-timeseries/timeseries-thresholds.json",
"panel-timeseries/timeseries-time.json",
"panel-timeseries/timeseries-time.json",
"panel-timeseries/timeseries-time.json",
"panel-timeseries/timeseries-y-ticks-zero-decimals.json",
"panel-timeseries/timeseries-y-ticks-zero-decimals.json",
"panel-timeseries/timeseries-y-ticks-zero-decimals.json",
"panel-timeseries/timeseries-yaxis-ticks.json",
"panel-timeseries/timeseries-yaxis-ticks.json",
"panel-timeseries/timeseries-yaxis-ticks.json",
"panel-timeseries/timeseries.json",
"panel-timeseries/timeseries.json",
"panel-timeseries/timeseries.json",
"scenarios/time_zone_support.json",
"scenarios/time_zone_support.json",
"scenarios/time_zone_support.json",
"scenarios/time_zone_support.json",
"transforms/config-from-query.json",
"transforms/config-from-query.json",
"transforms/join-by-field.json",
"transforms/join-by-field.json",
"transforms/join-by-labels.json",
"transforms/join-by-labels.json",
"transforms/reuse.json",
"transforms/rows-to-fields.json",
"transforms/rows-to-fields.json"
],
[
"alerting",
"gdev",
"all-panels",
"gdev",
"panel-tests",
"datasource-test",
"elasticsearch",
"gdev",
"datasource-test",
"elasticsearch",
"gdev",
"datasource-test",
"elasticsearch",
"gdev",
"datasource-test",
"gdev",
"influxdb",
"datasource-test",
"gdev",
"influxdb",
"datasource-test",
"gdev",
"mssql",
"datasource-test",
"gdev",
"mssql",
"datasource-tags",
"gdev",
"mysql",
"datasource-test",
"gdev",
"mysql",
"datasource-test",
"gdev",
"opentsdb",
"datasource-test",
"gdev",
"postgres",
"datasource-test",
"gdev",
"postgres",
"demo",
"gdev",
"demo",
"gdev",
"demo",
"gdev",
"demo",
"gdev",
"graph-ng",
"demo",
"gdev",
"graph-ng",
"gdev",
"templating",
"gdev",
"templating",
"gdev",
"templating",
"gdev",
"templating",
"gdev",
"templating",
"gdev",
"templating",
"gdev",
"templating",
"gdev",
"templating",
"barchart",
"gdev",
"graph-ng",
"panel-tests",
"demo",
"gdev",
"gdev",
"panel-tests",
"gdev",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"panel-tests",
"demo",
"gdev",
"demo",
"gdev",
"gdev",
"gdev",
"panel-tests",
"datasource-test",
"gdev",
"gauge",
"gdev",
"panel-tests",
"gdev",
"panel-tests",
"gdev",
"geomap",
"panel-tests",
"gdev",
"geomap",
"panel-tests",
"gdev",
"geomap",
"panel-tests",
"gdev",
"geomap",
"panel-tests",
"gdev",
"geomap",
"panel-tests",
"gdev",
"graph",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph",
"panel-tests",
"gdev",
"graph",
"panel-tests",
"gdev",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"panel-tests",
"gdev",
"panel-test",
"polystat",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"panel-tests",
"gdev",
"panel-tests",
"gdev",
"panel-tests",
"demo",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph-ng",
"panel-tests",
"gdev",
"graph",
"panel-tests",
"table",
"gdev",
"transform",
"gdev",
"transform",
"gdev",
"transform",
"devenv",
"gdev",
"transform"
],
[
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
]
]
}
}
]
}

View File

@ -1,463 +0,0 @@
// 🌟 This was machine generated. Do not edit. 🌟
//
// Frame[0]
// Name: raw
// Dimensions: 4 Fields by 97 Rows
// +---------------------------------------------------------+----------------+---------------+----------------------------------+
// | Name: uid | Name: kind | Name: size | Name: etag |
// | Labels: | Labels: | Labels: | Labels: |
// | Type: []string | Type: []string | Type: []int64 | Type: []string |
// +---------------------------------------------------------+----------------+---------------+----------------------------------+
// | alerting/testdata_alerts.json | | 16402 | a3679c3611fc3a83b0a9418e8f4cd0eb |
// | all-panels.json | | 23018 | a52c6dab16ecc2d3fd0b1e1edad930d6 |
// | datasource-elasticsearch/elasticsearch_compare.json | | 284527 | 394573393efa229fb0b8a3630e177c6d |
// | datasource-elasticsearch/elasticsearch_v7.json | | 16554 | 68b3570b21e53cec3d3514ba222948a3 |
// | datasource-elasticsearch/elasticsearch_v7_filebeat.json | | 5411 | e9c22bae37ecf4e8c031a6fd39f8bfe5 |
// | datasource-influxdb/influxdb-logs.json | | 4052 | 65b5cc531e621170e6a1a8ed4b04a7ca |
// | datasource-influxdb/influxdb-templated.json | | 7571 | 3aedc5a23691a50adff0d7d8e2d8ed43 |
// | datasource-mssql/mssql_fakedata.json | | 13821 | 38d1fe0cecdbfc4c0e733f88250c74f7 |
// | datasource-mssql/mssql_unittest.json | | 67893 | 7d2f553e07ef2a0b06201fb93ed22753 |
// | ... | ... | ... | ... |
// +---------------------------------------------------------+----------------+---------------+----------------------------------+
//
//
// 🌟 This was machine generated. Do not edit. 🌟
{
"frames": [
{
"schema": {
"name": "raw",
"fields": [
{
"name": "uid",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "kind",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "size",
"type": "number",
"typeInfo": {
"frame": "int64"
}
},
{
"name": "etag",
"type": "string",
"typeInfo": {
"frame": "string"
}
}
]
},
"data": {
"values": [
[
"alerting/testdata_alerts.json",
"all-panels.json",
"datasource-elasticsearch/elasticsearch_compare.json",
"datasource-elasticsearch/elasticsearch_v7.json",
"datasource-elasticsearch/elasticsearch_v7_filebeat.json",
"datasource-influxdb/influxdb-logs.json",
"datasource-influxdb/influxdb-templated.json",
"datasource-mssql/mssql_fakedata.json",
"datasource-mssql/mssql_unittest.json",
"datasource-mysql/mysql_fakedata.json",
"datasource-mysql/mysql_unittest.json",
"datasource-opentsdb/opentsdb.json",
"datasource-opentsdb/opentsdb_v2.3.json",
"datasource-postgres/postgres_fakedata.json",
"datasource-postgres/postgres_unittest.json",
"datasource-testdata/bar-gauge-demo2.json",
"datasource-testdata/demo1.json",
"datasource-testdata/new_features_in_v62.json",
"datasource-testdata/new_features_in_v74.json",
"datasource-testdata/new_features_in_v8.json",
"e2e-repeats/Repeating-Kitchen-Sink.json",
"e2e-repeats/Repeating-a-panel-horizontally.json",
"e2e-repeats/Repeating-a-panel-vertically.json",
"e2e-repeats/Repeating-a-row-with-a-non-repeating-panel-and-horizontal-repeating-panel.json",
"e2e-repeats/Repeating-a-row-with-a-non-repeating-panel-and-vertical-repeating-panel.json",
"e2e-repeats/Repeating-a-row-with-a-non-repeating-panel.json",
"e2e-repeats/Repeating-a-row-with-a-repeating-horizontal-panel.json",
"e2e-repeats/Repeating-a-row-with-a-repeating-vertical-panel.json",
"e2e-repeats/Repeating-an-empty-row.json",
"feature-templating/global-variables-and-interpolation.json",
"feature-templating/templating-dashboard-links-and-variables.json",
"feature-templating/templating-textbox-e2e-scenarios.json",
"feature-templating/testdata-datalinks.json",
"feature-templating/testdata-nested-variables-drilldown.json",
"feature-templating/testdata-nested-variables.json",
"feature-templating/testdata-repeating.json",
"feature-templating/testdata-test-variable-output.json",
"feature-templating/testdata-variables-textbox.json",
"feature-templating/testdata-variables-that-update-on-time-change.json",
"home.json",
"panel-barchart/barchart-autosizing.json",
"panel-bargauge/bar_gauge_demo.json",
"panel-bargauge/panel_tests_bar_gauge.json",
"panel-bargauge/panel_tests_bar_gauge2.json",
"panel-candlestick/candlestick.json",
"panel-common/auto_decimals.json",
"panel-common/color_modes.json",
"panel-common/lazy_loading.json",
"panel-common/linked-viz.json",
"panel-common/panels_without_title.json",
"panel-common/shared_queries.json",
"panel-gauge/gauge-multi-series.json",
"panel-gauge/gauge_tests.json",
"panel-geomap/geomap-9.1.json",
"panel-geomap/geomap-color-field.json",
"panel-geomap/geomap-spatial-operations-transformer.json",
"panel-geomap/geomap_multi-layers.json",
"panel-geomap/panel-geomap.json",
"panel-graph/graph-gradient-area-fills.json",
"panel-graph/graph-shared-tooltips.json",
"panel-graph/graph-time-regions.json",
"panel-graph/graph_tests.json",
"panel-graph/graph_y_axis.json",
"panel-heatmap/heatmap-calculate-log.json",
"panel-heatmap/heatmap-legacy.json",
"panel-histogram/histogram_tests.json",
"panel-library/panel-library.json",
"panel-piechart/panel_test_piechart.json",
"panel-polystat/polystat_test.json",
"panel-stat/panel-stat-tests.json",
"panel-table/table_pagination.json",
"panel-table/table_tests.json",
"panel-table/table_tests_new.json",
"panel-text/text-options.json",
"panel-timeline/timeline-demo.json",
"panel-timeline/timeline-modes.json",
"panel-timeseries/timeseries-by-value-color-schemes.json",
"panel-timeseries/timeseries-gradient-area.json",
"panel-timeseries/timeseries-hue-gradients.json",
"panel-timeseries/timeseries-nulls.json",
"panel-timeseries/timeseries-out-of-rage.json",
"panel-timeseries/timeseries-shared-tooltip-cursor-position.json",
"panel-timeseries/timeseries-soft-limits.json",
"panel-timeseries/timeseries-stacking.json",
"panel-timeseries/timeseries-stacking2.json",
"panel-timeseries/timeseries-thresholds.json",
"panel-timeseries/timeseries-time.json",
"panel-timeseries/timeseries-y-ticks-zero-decimals.json",
"panel-timeseries/timeseries-yaxis-ticks.json",
"panel-timeseries/timeseries.json",
"scenarios/slow_queries_and_annotations.json",
"scenarios/time_zone_support.json",
"transforms/config-from-query.json",
"transforms/join-by-field.json",
"transforms/join-by-labels.json",
"transforms/reuse.json",
"transforms/rows-to-fields.json"
],
[
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
],
[
16402,
23018,
284527,
16554,
5411,
4052,
7571,
13821,
67893,
13790,
61999,
4560,
5098,
14763,
61778,
10392,
25047,
28885,
52379,
68285,
10694,
4374,
4268,
7367,
7213,
5386,
5467,
5437,
3644,
3418,
2672,
2302,
12563,
6785,
12210,
30599,
1416,
5082,
4373,
5021,
14764,
14383,
17936,
11716,
11649,
24938,
7435,
46665,
25513,
19363,
6908,
5779,
30214,
7994,
11109,
2558,
12115,
10579,
7932,
17326,
12850,
36654,
17281,
17917,
8486,
9846,
3555,
10837,
77949,
17284,
187375,
11809,
14609,
7122,
10777,
8674,
19829,
13044,
20472,
34841,
13368,
13213,
71730,
27339,
92679,
28016,
10751,
21473,
16810,
78597,
24166,
15128,
13876,
13415,
7421,
13651,
14336
],
[
"a3679c3611fc3a83b0a9418e8f4cd0eb",
"a52c6dab16ecc2d3fd0b1e1edad930d6",
"394573393efa229fb0b8a3630e177c6d",
"68b3570b21e53cec3d3514ba222948a3",
"e9c22bae37ecf4e8c031a6fd39f8bfe5",
"65b5cc531e621170e6a1a8ed4b04a7ca",
"3aedc5a23691a50adff0d7d8e2d8ed43",
"38d1fe0cecdbfc4c0e733f88250c74f7",
"7d2f553e07ef2a0b06201fb93ed22753",
"5471e2fef40e9dc4b76720d93510a501",
"b6e257f846aa7f2a2e55300191184fd0",
"9b0525acc3d7ca36bcaf3997a6f3c1ff",
"2ddb1868bfd0403a6fefe0b683bda29d",
"ee5a205b505322e998ab8c615c339152",
"d44a5bdfd6ed8a17c9eb3aa80065fabc",
"b1e00795b3743700f17f367231488fb6",
"95e80f6c9fe1411e563f28d8c01fae0c",
"4508571900d67d6e0f6588163ff49fe8",
"5304a1c407dd3dd96e15ff63d0341275",
"1332fc78110cf02fcab7ffdf336a9b57",
"d711c9928dbd6ccd23f69ffda93db7c5",
"7914d26e815c46df3c43c16c05b7d9d2",
"caeb61cc63377bfe3d1791e32e6300bc",
"d71d307d359f20e0966c335705aac429",
"1b759c2c04c42e61516a41f123167bf1",
"04c83a8e2d50cdfbb1d793e713c63a09",
"8aa7d037eec6477697068ca26d87818c",
"4432b82e3347f3ffcc5ce80c8fafc39e",
"cf1c322ca66595a469b3b81b3be9c900",
"8d964fd60dd43bebb5b6f5605716cf43",
"e3187144de4cff19fc7223283a370383",
"d01ba1b63b4870b37ffa26ed5ea7d28d",
"c7c8fc2a559166d538d14e6d3ac89f20",
"e75f137162d5680535c8805e1baaeac5",
"0fc23e0309a1c5ca5d57daf10a17f216",
"c437a6eb31c56d64fd345511b88c7498",
"e5966b4e4b12799b0e0552c7d3b81e0f",
"6c5003d28ea56d3d499e609dd50f5ad1",
"db1b17c792f99aefa6b7a80e403b62c0",
"be062e1c3e2033ef46a336bf0c3f5172",
"47bb83a81a4427673953126f034f2c09",
"7beae673d7fb55ece2ab0169ac8bf04c",
"b4853b38464f95d79f1b7f893a9a6a4f",
"080701565677d45165d2aca1d199c4cc",
"34f9cec2e1e44c45ca9ccdd6806e7750",
"2901f2bbcefb0b20d09c59750e4ceecd",
"305262c474aa436622235d50d6120f2b",
"4f8be9860297e38156781c132d8a2868",
"b7b458cabfa95b39d2a5158ebd757196",
"07dbfaa2f24c8f962028c42b4581a32a",
"f91beba659e201cdad84a158a9c67d16",
"4baab5779296c37c0c7227785b8dff26",
"10253cb1b18530244bf7ed5644c264b2",
"a74935c18fdeeea0bb5feb75e5ce38e8",
"fcd97448c0e9760d1c0a29ec5fd65c61",
"0102316d0725a3de3bb4d943ab8e735b",
"1da95824843a317223faa5e06cc50fd4",
"53a1f9af752491d429439cff6fa4f96d",
"43b962717f08ddc5347350620d084329",
"7e672ee13c5baa7d34f14f77bd73bb62",
"aec241e9c1c88b8d60b0cbe078cc099b",
"0271f13106f164b7a4f010b2d9debad3",
"77217ddc8a2ff5870c8d9442072834be",
"ecdb79040e0097ff27c9875053388885",
"f84915e2d5d78634f299ca3268596777",
"1b51cd57d4c1dc5f4bf5bb7fedcbac50",
"981a5c32a28f2fd036d9b9ee6a8a5cbe",
"debdfbf85cf8995cd7c031abc10d2ba8",
"cb2082425856905f58825ad653e70497",
"4c7b95f270dc1ceaeec389e528cfe196",
"56a87f3dd441ed107b8ad19c737254a7",
"2ef3da58c15a6de2fc57788c879c67a6",
"04ec32ff7d310d76b5fee4fa3e53bfc4",
"f6ea799109bb78d2f2954947a188d7b6",
"dfcd599be6b6df94aef3b6da9d8ac3fb",
"21dd0f87426cf7afc030d688d5516178",
"722fd9e83a671f881d89d4fcc8d0ccfc",
"d63e2f87ac9816f06b3afee1632dd2a0",
"566ca0e071cd3a992fd978648ca807ab",
"37daa49f2913fd329d5e33f1da3f4e7a",
"45294c2260bda5bba87039a18a98576d",
"fa9dd510a6ca45ff919d804082c2e206",
"84d7fc19be0eefaffae1b882efa4388f",
"18c8037c2781381478aed7fd2fe5b4f6",
"9910843bdd5205cbda2cb5dd01673c90",
"5c2edf32997b1578e29cdd27f3ab4eda",
"898cbd382354c3d785011197de3abdd4",
"a0bed022d7309e665c97ff3049e1b495",
"7204212079a9c5d020cf956cd7782267",
"d5805d2754f152163bcf2d5805214080",
"727c2c46deddeb164cd9ce36a0ec1567",
"f517e61f40152e16f3291e72c27f606d",
"c1cbaf503457216461032844f47ac065",
"e75680578202a10545c4c09b4ba28c3e",
"47ac2804c2cfe7067302804e4835ef87",
"8a7925616b92e611a99f3a1adde1f712",
"03d54e79d5d293e00559a4022905f0c8"
]
]
}
}
]
}

File diff suppressed because it is too large Load Diff

View File

@ -1,421 +0,0 @@
// 🌟 This was machine generated. Do not edit. 🌟
//
// Frame[0]
// Name: summary
// Dimensions: 3 Fields by 97 Rows
// +---------------------------------------------------------+----------------------------------------------+--------------------------+
// | Name: uid | Name: name | Name: fields |
// | Labels: | Labels: | Labels: |
// | Type: []string | Type: []string | Type: []json.RawMessage |
// +---------------------------------------------------------+----------------------------------------------+--------------------------+
// | alerting/testdata_alerts.json | Alerting with TestData | {"hasTemplateVars":true} |
// | all-panels.json | Panel tests - All panels | {"hasTemplateVars":true} |
// | datasource-elasticsearch/elasticsearch_compare.json | Datasource tests - Elasticsearch comparison | {"hasTemplateVars":true} |
// | datasource-elasticsearch/elasticsearch_v7.json | Datasource tests - Elasticsearch v7 | {"hasTemplateVars":true} |
// | datasource-elasticsearch/elasticsearch_v7_filebeat.json | Datasource tests - Elasticsearch v7 Filebeat | {"hasTemplateVars":true} |
// | datasource-influxdb/influxdb-logs.json | Datasource tests - InfluxDB Logs | {} |
// | datasource-influxdb/influxdb-templated.json | Datasource tests - InfluxDB Templated | {"hasTemplateVars":true} |
// | datasource-mssql/mssql_fakedata.json | Datasource tests - MSSQL | {"hasTemplateVars":true} |
// | datasource-mssql/mssql_unittest.json | Datasource tests - MSSQL (unit test) | {"hasTemplateVars":true} |
// | ... | ... | ... |
// +---------------------------------------------------------+----------------------------------------------+--------------------------+
//
//
// 🌟 This was machine generated. Do not edit. 🌟
{
"frames": [
{
"schema": {
"name": "summary",
"fields": [
{
"name": "uid",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "name",
"type": "string",
"typeInfo": {
"frame": "string"
}
},
{
"name": "fields",
"type": "other",
"typeInfo": {
"frame": "json.RawMessage"
}
}
]
},
"data": {
"values": [
[
"alerting/testdata_alerts.json",
"all-panels.json",
"datasource-elasticsearch/elasticsearch_compare.json",
"datasource-elasticsearch/elasticsearch_v7.json",
"datasource-elasticsearch/elasticsearch_v7_filebeat.json",
"datasource-influxdb/influxdb-logs.json",
"datasource-influxdb/influxdb-templated.json",
"datasource-mssql/mssql_fakedata.json",
"datasource-mssql/mssql_unittest.json",
"datasource-mysql/mysql_fakedata.json",
"datasource-mysql/mysql_unittest.json",
"datasource-opentsdb/opentsdb.json",
"datasource-opentsdb/opentsdb_v2.3.json",
"datasource-postgres/postgres_fakedata.json",
"datasource-postgres/postgres_unittest.json",
"datasource-testdata/bar-gauge-demo2.json",
"datasource-testdata/demo1.json",
"datasource-testdata/new_features_in_v62.json",
"datasource-testdata/new_features_in_v74.json",
"datasource-testdata/new_features_in_v8.json",
"e2e-repeats/Repeating-Kitchen-Sink.json",
"e2e-repeats/Repeating-a-panel-horizontally.json",
"e2e-repeats/Repeating-a-panel-vertically.json",
"e2e-repeats/Repeating-a-row-with-a-non-repeating-panel-and-horizontal-repeating-panel.json",
"e2e-repeats/Repeating-a-row-with-a-non-repeating-panel-and-vertical-repeating-panel.json",
"e2e-repeats/Repeating-a-row-with-a-non-repeating-panel.json",
"e2e-repeats/Repeating-a-row-with-a-repeating-horizontal-panel.json",
"e2e-repeats/Repeating-a-row-with-a-repeating-vertical-panel.json",
"e2e-repeats/Repeating-an-empty-row.json",
"feature-templating/global-variables-and-interpolation.json",
"feature-templating/templating-dashboard-links-and-variables.json",
"feature-templating/templating-textbox-e2e-scenarios.json",
"feature-templating/testdata-datalinks.json",
"feature-templating/testdata-nested-variables-drilldown.json",
"feature-templating/testdata-nested-variables.json",
"feature-templating/testdata-repeating.json",
"feature-templating/testdata-test-variable-output.json",
"feature-templating/testdata-variables-textbox.json",
"feature-templating/testdata-variables-that-update-on-time-change.json",
"home.json",
"panel-barchart/barchart-autosizing.json",
"panel-bargauge/bar_gauge_demo.json",
"panel-bargauge/panel_tests_bar_gauge.json",
"panel-bargauge/panel_tests_bar_gauge2.json",
"panel-candlestick/candlestick.json",
"panel-common/auto_decimals.json",
"panel-common/color_modes.json",
"panel-common/lazy_loading.json",
"panel-common/linked-viz.json",
"panel-common/panels_without_title.json",
"panel-common/shared_queries.json",
"panel-gauge/gauge-multi-series.json",
"panel-gauge/gauge_tests.json",
"panel-geomap/geomap-9.1.json",
"panel-geomap/geomap-color-field.json",
"panel-geomap/geomap-spatial-operations-transformer.json",
"panel-geomap/geomap_multi-layers.json",
"panel-geomap/panel-geomap.json",
"panel-graph/graph-gradient-area-fills.json",
"panel-graph/graph-shared-tooltips.json",
"panel-graph/graph-time-regions.json",
"panel-graph/graph_tests.json",
"panel-graph/graph_y_axis.json",
"panel-heatmap/heatmap-calculate-log.json",
"panel-heatmap/heatmap-legacy.json",
"panel-histogram/histogram_tests.json",
"panel-library/panel-library.json",
"panel-piechart/panel_test_piechart.json",
"panel-polystat/polystat_test.json",
"panel-stat/panel-stat-tests.json",
"panel-table/table_pagination.json",
"panel-table/table_tests.json",
"panel-table/table_tests_new.json",
"panel-text/text-options.json",
"panel-timeline/timeline-demo.json",
"panel-timeline/timeline-modes.json",
"panel-timeseries/timeseries-by-value-color-schemes.json",
"panel-timeseries/timeseries-gradient-area.json",
"panel-timeseries/timeseries-hue-gradients.json",
"panel-timeseries/timeseries-nulls.json",
"panel-timeseries/timeseries-out-of-rage.json",
"panel-timeseries/timeseries-shared-tooltip-cursor-position.json",
"panel-timeseries/timeseries-soft-limits.json",
"panel-timeseries/timeseries-stacking.json",
"panel-timeseries/timeseries-stacking2.json",
"panel-timeseries/timeseries-thresholds.json",
"panel-timeseries/timeseries-time.json",
"panel-timeseries/timeseries-y-ticks-zero-decimals.json",
"panel-timeseries/timeseries-yaxis-ticks.json",
"panel-timeseries/timeseries.json",
"scenarios/slow_queries_and_annotations.json",
"scenarios/time_zone_support.json",
"transforms/config-from-query.json",
"transforms/join-by-field.json",
"transforms/join-by-labels.json",
"transforms/reuse.json",
"transforms/rows-to-fields.json"
],
[
"Alerting with TestData",
"Panel tests - All panels",
"Datasource tests - Elasticsearch comparison",
"Datasource tests - Elasticsearch v7",
"Datasource tests - Elasticsearch v7 Filebeat",
"Datasource tests - InfluxDB Logs",
"Datasource tests - InfluxDB Templated",
"Datasource tests - MSSQL",
"Datasource tests - MSSQL (unit test)",
"Datasource tests - MySQL",
"Datasource tests - MySQL (unittest)",
"Datasource tests - OpenTSDB",
"Datasource tests - OpenTSDB v2.3",
"Datasource tests - Postgres",
"Datasource tests - Postgres (unittest)",
"Bar Gauge Demo Unfilled",
"TestData - Demo Dashboard",
"New Features in v6.2",
"New Features in v7.4",
"New Features in v8.0",
"Repeating Kitchen Sink",
"Repeating a panel horizontally",
"Repeating a panel vertically",
"Repeating a row with a non-repeating panel and horizontal repeating panel",
"Repeating a row with a non-repeating panel and vertical repeating panel",
"Repeating a row with a non-repeating panel",
"Repeating a row with a repeating horizontal panel",
"Repeating a row with a repeating vertical panel",
"Repeating an empty row",
"Templating - Global variables and interpolation",
"Templating - Dashboard Links and Variables",
"Templating - Textbox e2e scenarios",
"Datalinks - variables",
"Templating - Nested Variables Drilldown",
"Templating - Nested Template Variables",
"TestData Repeating Panels",
"Test variable output",
"Templating - Textbox \u0026 data links",
"Templating - Variables That Refresh On Time Change",
"Grafana Dev Overview \u0026 Home",
"BarChart - Panel Tests - Value sizing",
"Bar Gauge Demo",
"Panel Tests - Bar Gauge",
"Panel Tests - Bar Gauge 2",
"Candlestick",
"Panel Tests - Auto Decimals",
"Gradient Color modes",
"Lazy Loading",
"Panel \u0026 data links in stat, gauge and bargauge",
"Panel Tests - With \u0026 Without title",
"Datasource tests - Shared Queries",
"Panel Tests - Gauge Multi Series",
"Panel Tests - Gauge",
"Panel Tests - Geomap 9.1",
"Geomap - color field Copy",
"Panel Tests - Geomap geohash transformer",
"Panel Tests - Geomap Multi Layers",
"Panel Tests - Geomap",
"Panel Tests - Graph - Gradient Area Fills",
"Panel Tests - shared tooltips",
"Panel Tests - Graph Time Regions",
"Panel Tests - Graph",
"Panel Tests - Graph - Y axis ticks",
"Heatmap calculate (log)",
"Legacy heatmap",
"Panel Tests - Histogram",
"Panel - Panel Library",
"Panel Tests - Pie chart",
"Panel Tests - Polystat",
"Panel Tests - Stat",
"Table panel - Pagination",
"Panel Tests - Table",
"Panel Tests - React Table",
"Text options",
"Timeline Demo",
"Timeline Modes",
"Panel Tests - Graph NG - By value color schemes",
"Panel Tests - Graph NG - Gradient Area Fills",
"Panel Tests - GraphNG - Hue Gradients",
"Panel Tests - Graph NG - Gaps and Connected",
"Panel Tests - Timeseries - Out of range",
"Panel Tests - shared tooltips cursor positioning",
"Panel Tests - Graph NG - softMin/softMax",
"Panel Tests - TimeSeries - stacking",
"TimeSeries \u0026 BarChart Stacking",
"Panel Tests - GraphNG Thresholds",
"Panel Tests - GraphNG - Time Axis",
"Zero Decimals Y Ticks",
"Panel Tests - Graph NG - Y axis ticks",
"Panel Tests - Graph NG",
"Panel tests - Slow Queries \u0026 Annotations",
"Panel Tests - Time zone support",
"Transforms - Config from query",
"Join by field",
"Join by labels",
"Reuse dashboard queries",
"Transforms - Rows to fields"
],
[
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{},
{},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{},
{},
{},
{},
{},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{},
{
"hasTemplateVars": true
},
{
"hasTemplateVars": true
},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{
"hasTemplateVars": true
},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{
"hasTemplateVars": true
},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{},
{}
]
]
}
}
]
}

View File

@ -0,0 +1,90 @@
{
"name": "Panel Tests - Graph - Gradient Area Fills",
"labels": {
"gdev": "",
"graph": "",
"panel-tests": ""
},
"URL": "/d/graph-gradient-area-fills.json/panel-tests-graph-gradient-area-fills",
"nested": [
{
"uid": "graph-gradient-area-fills.json#2",
"kind": "panel",
"name": "Req/s",
"URL": "/d/graph-gradient-area-fills.json/panel-tests-graph-gradient-area-fills?viewPanel=2",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph-gradient-area-fills.json#11",
"kind": "panel",
"name": "Req/s",
"URL": "/d/graph-gradient-area-fills.json/panel-tests-graph-gradient-area-fills?viewPanel=11",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph-gradient-area-fills.json#7",
"kind": "panel",
"name": "Memory",
"URL": "/d/graph-gradient-area-fills.json/panel-tests-graph-gradient-area-fills?viewPanel=7",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph-gradient-area-fills.json#10",
"kind": "panel",
"name": "Req/s",
"URL": "/d/graph-gradient-area-fills.json/panel-tests-graph-gradient-area-fills?viewPanel=10",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
}
],
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
}

View File

@ -0,0 +1,178 @@
{
"name": "Panel Tests - shared tooltips",
"labels": {
"gdev": "",
"graph-ng": "",
"panel-tests": ""
},
"URL": "/d/graph-shared-tooltips.json/panel-tests-shared-tooltips",
"nested": [
{
"uid": "graph-shared-tooltips.json#4",
"kind": "panel",
"name": "two units",
"URL": "/d/graph-shared-tooltips.json/panel-tests-shared-tooltips?viewPanel=4",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "timeseries"
}
]
},
{
"uid": "graph-shared-tooltips.json#13",
"kind": "panel",
"name": "Speed vs Temperature (XY)",
"URL": "/d/graph-shared-tooltips.json/panel-tests-shared-tooltips?viewPanel=13",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "xychart"
},
{
"kind": "transform",
"type": "organize"
},
{
"kind": "transform",
"type": "seriesToColumns"
}
]
},
{
"uid": "graph-shared-tooltips.json#2",
"kind": "panel",
"name": "Cursor info",
"URL": "/d/graph-shared-tooltips.json/panel-tests-shared-tooltips?viewPanel=2",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "debug"
}
]
},
{
"uid": "graph-shared-tooltips.json#5",
"kind": "panel",
"name": "Only temperature",
"URL": "/d/graph-shared-tooltips.json/panel-tests-shared-tooltips?viewPanel=5",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "timeseries"
}
]
},
{
"uid": "graph-shared-tooltips.json#9",
"kind": "panel",
"name": "Only Speed",
"URL": "/d/graph-shared-tooltips.json/panel-tests-shared-tooltips?viewPanel=9",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "timeseries"
}
]
},
{
"uid": "graph-shared-tooltips.json#11",
"kind": "panel",
"name": "Panel Title",
"URL": "/d/graph-shared-tooltips.json/panel-tests-shared-tooltips?viewPanel=11",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "timeseries"
}
]
},
{
"uid": "graph-shared-tooltips.json#8",
"kind": "panel",
"name": "flot panel (temperature)",
"URL": "/d/graph-shared-tooltips.json/panel-tests-shared-tooltips?viewPanel=8",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph-shared-tooltips.json#10",
"kind": "panel",
"name": "flot panel (no units)",
"URL": "/d/graph-shared-tooltips.json/panel-tests-shared-tooltips?viewPanel=10",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
}
],
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "debug"
},
{
"kind": "panel",
"type": "graph"
},
{
"kind": "panel",
"type": "timeseries"
},
{
"kind": "panel",
"type": "xychart"
}
]
}

View File

@ -0,0 +1,107 @@
{
"name": "Panel Tests - Graph Time Regions",
"labels": {
"gdev": "",
"graph": "",
"panel-tests": ""
},
"URL": "/d/graph-time-regions.json/panel-tests-graph-time-regions",
"nested": [
{
"uid": "graph-time-regions.json#2",
"kind": "panel",
"name": "Business Hours",
"URL": "/d/graph-time-regions.json/panel-tests-graph-time-regions?viewPanel=2",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph-time-regions.json#4",
"kind": "panel",
"name": "Sunday's 20-23",
"URL": "/d/graph-time-regions.json/panel-tests-graph-time-regions?viewPanel=4",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph-time-regions.json#3",
"kind": "panel",
"name": "Each day of week",
"URL": "/d/graph-time-regions.json/panel-tests-graph-time-regions?viewPanel=3",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph-time-regions.json#5",
"kind": "panel",
"name": "05:00",
"URL": "/d/graph-time-regions.json/panel-tests-graph-time-regions?viewPanel=5",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph-time-regions.json#7",
"kind": "panel",
"name": "From 22:00 to 00:30 (crossing midnight)",
"URL": "/d/graph-time-regions.json/panel-tests-graph-time-regions?viewPanel=7",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
}
],
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
}

View File

@ -0,0 +1,377 @@
{
"name": "Panel Tests - Graph",
"labels": {
"gdev": "",
"graph": "",
"panel-tests": ""
},
"URL": "/d/graph_tests.json/panel-tests-graph",
"nested": [
{
"uid": "graph_tests.json#1",
"kind": "panel",
"name": "No Data Points Warning",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=1",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#2",
"kind": "panel",
"name": "Datapoints Outside Range Warning",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=2",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#3",
"kind": "panel",
"name": "Random walk series",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=3",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#4",
"kind": "panel",
"name": "Millisecond res x-axis and tooltip",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=4",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#6",
"kind": "panel",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=6",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "text"
}
]
},
{
"uid": "graph_tests.json#5",
"kind": "panel",
"name": "2 yaxis and axis labels",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=5",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#7",
"kind": "panel",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=7",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "text"
}
]
},
{
"uid": "graph_tests.json#8",
"kind": "panel",
"name": "null value connected",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=8",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#10",
"kind": "panel",
"name": "null value null as zero",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=10",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#13",
"kind": "panel",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=13",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "text"
}
]
},
{
"uid": "graph_tests.json#9",
"kind": "panel",
"name": "Stacking value ontop of nulls",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=9",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#14",
"kind": "panel",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=14",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "text"
}
]
},
{
"uid": "graph_tests.json#12",
"kind": "panel",
"name": "Stacking all series null segment",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=12",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#15",
"kind": "panel",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=15",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "text"
}
]
},
{
"uid": "graph_tests.json#21",
"kind": "panel",
"name": "Null between points",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=21",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#22",
"kind": "panel",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=22",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "text"
}
]
},
{
"uid": "graph_tests.json#20",
"kind": "panel",
"name": "Legend Table Single Series Should Take Minimum Height",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=20",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#16",
"kind": "panel",
"name": "Legend Table No Scroll Visible",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=16",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#17",
"kind": "panel",
"name": "Legend Table Should Scroll",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=17",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#18",
"kind": "panel",
"name": "Legend Table No Scroll Visible",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=18",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_tests.json#19",
"kind": "panel",
"name": "Legend Table No Scroll Visible",
"URL": "/d/graph_tests.json/panel-tests-graph?viewPanel=19",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
}
],
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
},
{
"kind": "panel",
"type": "text"
}
]
}

View File

@ -0,0 +1,174 @@
{
"name": "Panel Tests - Graph - Y axis ticks",
"labels": {
"gdev": "",
"panel-tests": ""
},
"URL": "/d/graph_y_axis.json/panel-tests-graph-y-axis-ticks",
"nested": [
{
"uid": "graph_y_axis.json#7",
"kind": "panel",
"name": "Data from 0 - 10K (unit short)",
"URL": "/d/graph_y_axis.json/panel-tests-graph-y-axis-ticks?viewPanel=7",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_y_axis.json#5",
"kind": "panel",
"name": "Data from 0 - 10K (unit bytes metric)",
"URL": "/d/graph_y_axis.json/panel-tests-graph-y-axis-ticks?viewPanel=5",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_y_axis.json#4",
"kind": "panel",
"name": "Data from 0 - 10K (unit bytes IEC)",
"URL": "/d/graph_y_axis.json/panel-tests-graph-y-axis-ticks?viewPanel=4",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_y_axis.json#2",
"kind": "panel",
"name": "Data from 0 - 10K (unit short)",
"URL": "/d/graph_y_axis.json/panel-tests-graph-y-axis-ticks?viewPanel=2",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_y_axis.json#3",
"kind": "panel",
"name": "Data from 0.0002 - 0.001 (unit short)",
"URL": "/d/graph_y_axis.json/panel-tests-graph-y-axis-ticks?viewPanel=3",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_y_axis.json#6",
"kind": "panel",
"name": "Data from 12000 - 30000 (unit ms)",
"URL": "/d/graph_y_axis.json/panel-tests-graph-y-axis-ticks?viewPanel=6",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_y_axis.json#9",
"kind": "panel",
"name": "Data from 0 - 1B (unit short)",
"URL": "/d/graph_y_axis.json/panel-tests-graph-y-axis-ticks?viewPanel=9",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_y_axis.json#10",
"kind": "panel",
"name": "Data from 0 - 1B (unit bytes)",
"URL": "/d/graph_y_axis.json/panel-tests-graph-y-axis-ticks?viewPanel=10",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
},
{
"uid": "graph_y_axis.json#8",
"kind": "panel",
"name": "Data from 12000 - 30000 (unit ms)",
"URL": "/d/graph_y_axis.json/panel-tests-graph-y-axis-ticks?viewPanel=8",
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
}
],
"references": [
{
"kind": "ds",
"type": "default.type",
"UID": "default.uid"
},
{
"kind": "panel",
"type": "graph"
}
]
}

View File

@ -32,7 +32,7 @@ export function InlineEditBody() {
const selection = state.selected;
if (selection?.length === 1) {
const element = selection[0];
if (!(element instanceof FrameState)) {
if (element && !(element instanceof FrameState)) {
builder.addNestedOptions(
getElementEditor({
category: [`Selected element (${element.options.name})`],

View File

@ -35,12 +35,12 @@ export const TreeNavigationEditor = ({ item }: StandardEditorProps<any, TreeView
const selectedBgColor = theme.v1.colors.formInputBorderActive;
const { settings } = item;
const selection = useMemo(
() => (settings?.selected ? settings.selected.map((v) => v.getName()) : []),
() => (settings?.selected ? settings.selected.map((v) => v?.getName()) : []),
[settings?.selected]
);
const selectionByUID = useMemo(
() => (settings?.selected ? settings.selected.map((v) => v.UID) : []),
() => (settings?.selected ? settings.selected.map((v) => v?.UID) : []),
[settings?.selected]
);