Compare commits

..

58 Commits

Author SHA1 Message Date
Paul Marbach
6ff9d522bc Gauge: Update test dashboard to round two of the segment panels to whole numbers 2025-12-18 17:04:33 -05:00
Paul Marbach
9eb5be78f9 Merge branch 'fastfrwrd/sparkline-class-removal' into fastfrwrd/gauge-bug-bash 2025-12-18 16:55:26 -05:00
Paul Marbach
667be498d5 Merge branch 'fastfrwrd/112977-sparkline-annotations' into fastfrwrd/gauge-bug-bash 2025-12-18 16:05:50 -05:00
Paul Marbach
ee196f42d3 fix lint errors 2025-12-18 16:03:09 -05:00
Paul Marbach
7dd079b72e Gauge: Add guide dots for rounded bars to help with accuracy, update color logic for more consistent gradients 2025-12-18 16:02:14 -05:00
Paul Marbach
b5655a0c20 remove comment 2025-12-18 14:55:35 -05:00
Paul Marbach
9deb30d88f Sparkline: Add point annotations for some common calcs 2025-12-18 14:51:34 -05:00
Paul Marbach
4e6892bac8 Merge remote-tracking branch 'origin/main' into fastfrwrd/gauge-rounded-bars-accuracy 2025-12-18 14:46:59 -05:00
Paul Marbach
b123e24d86 addressing PR comments 2025-12-18 11:52:34 -05:00
Paul Marbach
c7af2be682 more testing and cleanup 2025-12-17 17:42:35 -05:00
Paul Marbach
2c9b7ca135 hide glow at small angles 2025-12-17 17:32:50 -05:00
Paul Marbach
5a1ae834e0 remove period for consistency 2025-12-17 17:26:43 -05:00
Paul Marbach
36bc5535f4 shore up testing a bit 2025-12-17 17:24:41 -05:00
Paul Marbach
46510e72f3 i18n 2025-12-17 14:58:25 -05:00
Paul Marbach
7d2475454c update gdev and fixtures 2025-12-17 14:39:02 -05:00
Paul Marbach
50fa37af53 change endpoint marks to be configurable 2025-12-17 14:36:01 -05:00
Paul Marbach
2d72990c17 move min degrees for start dot render to a const 2025-12-17 09:50:56 -05:00
Paul Marbach
9c1df45589 set opacity to 0.5 for dots 2025-12-17 09:49:29 -05:00
Paul Marbach
b815680a6b test all dark/light theme variants 2025-12-17 08:41:56 -05:00
Paul Marbach
32a63c0cf0 update gradient for fixed color 2025-12-17 08:37:23 -05:00
Paul Marbach
c4455f71da Sparkline: Restore to a function component 2025-12-16 15:36:08 -05:00
Paul Marbach
81bff1a39e update backend tests 2025-12-16 15:33:15 -05:00
Paul Marbach
9635f8ba4e a more sweeping disable of the color-contrast 2025-12-16 15:28:40 -05:00
Paul Marbach
206bc6c4d9 disable storybook test due to false positive 2025-12-16 14:54:04 -05:00
Paul Marbach
dfc5a07259 fix bad import 2025-12-16 14:14:31 -05:00
Paul Marbach
a8ff242a3f fix a couple of bugs 2025-12-16 14:06:43 -05:00
Paul Marbach
6042dfef89 more cleanup, optimization 2025-12-16 13:36:15 -05:00
Paul Marbach
0b89c821ad fix dev dashboard fixture 2025-12-16 12:31:17 -05:00
Paul Marbach
942ed4b4e8 add lots of tests and reorganize the code a bit 2025-12-16 11:15:19 -05:00
Paul Marbach
a8325b1e87 update gdev 2025-12-16 00:15:01 -05:00
Paul Marbach
ca1a431cc8 one more tweak 2025-12-15 23:56:52 -05:00
Paul Marbach
ed59edd88e Merge branch 'fastfrwrd/gauge-clip-path' into fastfrwrd/gauge-rounded-bars-accuracy 2025-12-15 23:46:36 -05:00
Paul Marbach
e21ca340be remove any other mentions of spotlights 2025-12-15 23:37:30 -05:00
Paul Marbach
bf40fbe064 fix backend migration tests 2025-12-15 23:34:11 -05:00
Paul Marbach
e3bced33a7 fixme comment 2025-12-15 23:25:39 -05:00
Paul Marbach
77138f640a its all working 2025-12-15 23:23:30 -05:00
Paul Marbach
b300bd8b85 refactoring defs into utils 2025-12-15 23:13:08 -05:00
Paul Marbach
59ec3cc8a9 wip: progress on everything 2025-12-15 22:29:53 -05:00
Paul Marbach
23e6c3301b wip: overhaul color in gauge 2025-12-15 20:40:38 -05:00
Paul Marbach
87521b0348 wip: using clip-path and CSS for drawing the gauge 2025-12-15 17:38:26 -05:00
Paul Marbach
0281ef1fed Merge remote-tracking branch 'origin/main' into fastfrwrd/gauge-rounded-bars-accuracy 2025-12-15 13:32:50 -05:00
Paul Marbach
f389a1aee2 more fixture updates 2025-12-15 13:06:43 -05:00
Paul Marbach
bbb770a325 fix spacing 2025-12-15 12:41:43 -05:00
Paul Marbach
d52aea6d32 update i18n and migration tests 2025-12-15 12:37:43 -05:00
Paul Marbach
3f1a2833a8 update rotation of gauge color 2025-12-15 12:18:34 -05:00
Paul Marbach
aa87720f4a fix segmented 2025-12-15 10:55:39 -05:00
Paul Marbach
0428d4d745 Merge remote-tracking branch 'origin/main' into fastfrwrd/gauge-rounded-bars-accuracy 2025-12-15 09:14:54 -05:00
Paul Marbach
c9387d0f44 remove spotlight, starting to make gradients a bit more predictable 2025-12-12 16:30:58 -05:00
Paul Marbach
1967134c45 30% width 2025-12-12 11:13:10 -05:00
Paul Marbach
1424016863 Merge remote-tracking branch 'origin/main' into fastfrwrd/gauge-rounded-bars-accuracy 2025-12-12 11:12:00 -05:00
Paul Marbach
5b229a80d3 Gauge: Add guide dots for rounded bars to help with accuracy 2025-12-12 10:41:07 -05:00
Paul Marbach
a5a9294784 remove new line 2025-12-11 18:20:06 -05:00
Paul Marbach
31e3a97ef2 Fix JSON formatting by adding missing newline 2025-12-11 18:18:50 -05:00
Paul Marbach
599b624fe9 fix migration test 2025-12-11 18:12:05 -05:00
Paul Marbach
76729fa866 more tweaks 2025-12-11 17:54:40 -05:00
Paul Marbach
1e0456da13 cohesive no data handling 2025-12-11 17:39:45 -05:00
Paul Marbach
adeb6e42b7 adjust text height and positions a little more 2025-12-11 17:24:02 -05:00
Paul Marbach
33a27eaa4d Gauge: Fit-and-finish tweaks to glows, text position, and sparkline size 2025-12-11 14:12:43 -05:00
953 changed files with 12694 additions and 38923 deletions

4
.github/CODEOWNERS vendored
View File

@@ -425,7 +425,6 @@ i18next.config.ts @grafana/grafana-frontend-platform
/public/locales/enterprise/i18next.config.ts @grafana/grafana-frontend-platform
/public/app/core/internationalization/ @grafana/grafana-frontend-platform
/e2e/ @grafana/grafana-frontend-platform
/e2e-playwright/alerting-suite/ @grafana/alerting-frontend
/e2e-playwright/cloud-plugins-suite/ @grafana/partner-datasources
/e2e-playwright/dashboard-new-layouts/ @grafana/dashboards-squad
/e2e-playwright/dashboard-cujs/ @grafana/dashboards-squad
@@ -501,6 +500,7 @@ i18next.config.ts @grafana/grafana-frontend-platform
/e2e-playwright/various-suite/filter-annotations.spec.ts @grafana/dashboards-squad
/e2e-playwright/various-suite/frontend-sandbox-app.spec.ts @grafana/plugins-platform-frontend
/e2e-playwright/various-suite/frontend-sandbox-datasource.spec.ts @grafana/plugins-platform-frontend
/e2e-playwright/various-suite/gauge.spec.ts @grafana/dataviz-squad
/e2e-playwright/various-suite/grafana-datasource-random-walk.spec.ts @grafana/grafana-frontend-platform
/e2e-playwright/various-suite/graph-auto-migrate.spec.ts @grafana/dataviz-squad
/e2e-playwright/various-suite/inspect-drawer.spec.ts @grafana/dashboards-squad
@@ -519,7 +519,7 @@ i18next.config.ts @grafana/grafana-frontend-platform
/e2e-playwright/various-suite/solo-route.spec.ts @grafana/dashboards-squad
/e2e-playwright/various-suite/trace-view-scrolling.spec.ts @grafana/observability-traces-and-profiling
/e2e-playwright/various-suite/verify-i18n.spec.ts @grafana/grafana-frontend-platform
/e2e-playwright/various-suite/visualization-suggestions*.spec.ts @grafana/dataviz-squad
/e2e-playwright/various-suite/visualization-suggestions.spec.ts @grafana/dataviz-squad
/e2e-playwright/various-suite/perf-test.spec.ts @grafana/grafana-frontend-platform
# Packages

View File

@@ -95,11 +95,9 @@ runs:
- 'nx.json'
- 'tsconfig.json'
- '.yarn/**'
- 'apps/dashboard/pkg/migration/**'
- '${{ inputs.self }}'
e2e:
- 'e2e/**'
- 'e2e-playwright/**'
- '.github/actions/setup-enterprise/**'
- '.github/actions/checkout/**'
- 'emails/**'

View File

@@ -54,7 +54,6 @@ require (
github.com/Azure/go-ntlmssp v0.0.0-20220621081337-cb9428e4ac1e // indirect
github.com/AzureAD/microsoft-authentication-library-for-go v1.5.0 // indirect
github.com/BurntSushi/toml v1.5.0 // indirect
github.com/Machiel/slugify v1.0.1 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
github.com/Masterminds/semver v1.5.0 // indirect
github.com/Masterminds/sprig/v3 v3.3.0 // indirect
@@ -68,14 +67,14 @@ require (
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/at-wat/mqtt-go v0.19.6 // indirect
github.com/aws/aws-sdk-go v1.55.7 // indirect
github.com/aws/aws-sdk-go-v2 v1.40.0 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.18.21 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.14 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.14 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.39.1 // indirect
github.com/aws/smithy-go v1.23.2 // indirect
github.com/aws/aws-sdk-go-v2 v1.39.1 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.18.14 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.8 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.8 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.1 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.8 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.38.5 // indirect
github.com/aws/smithy-go v1.23.1 // indirect
github.com/barkimedes/go-deepcopy v0.0.0-20220514131651-17c30cfc62df // indirect
github.com/benbjohnson/clock v1.3.5 // indirect
github.com/beorn7/perks v1.0.1 // indirect
@@ -158,18 +157,18 @@ require (
github.com/google/go-querystring v1.1.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/google/wire v0.7.0 // indirect
github.com/grafana/alerting v0.0.0-20251231150637-b7821017d69f // indirect
github.com/grafana/alerting v0.0.0-20251212143239-491433b332b7 // indirect
github.com/grafana/authlib v0.0.0-20250930082137-a40e2c2b094f // indirect
github.com/grafana/dataplane/sdata v0.0.9 // indirect
github.com/grafana/dskit v0.0.0-20250908063411-6b6da59b5cc4 // indirect
github.com/grafana/grafana-aws-sdk v1.4.2 // indirect
github.com/grafana/grafana-aws-sdk v1.3.0 // indirect
github.com/grafana/grafana-azure-sdk-go/v2 v2.3.1 // indirect
github.com/grafana/grafana/apps/provisioning v0.0.0 // indirect
github.com/grafana/grafana/pkg/apiserver v0.0.0 // indirect
github.com/grafana/grafana/pkg/semconv v0.0.0-20250804150913-990f1c69ecc2 // indirect
github.com/grafana/otel-profiling-go v0.5.1 // indirect
github.com/grafana/pyroscope-go/godeltaprof v0.1.9 // indirect
github.com/grafana/sqlds/v5 v5.0.3 // indirect
github.com/grafana/sqlds/v4 v4.2.7 // indirect
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0 // indirect
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.3 // indirect
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.1-0.20191002090509-6af20e3a5340 // indirect

View File

@@ -115,8 +115,6 @@ github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapp
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.53.0/go.mod h1:cSgYe11MCNYunTnRXrKiR/tHc0eoKjICUuWpNZoVCOo=
github.com/IBM/pgxpoolprometheus v1.1.2 h1:sHJwxoL5Lw4R79Zt+H4Uj1zZ4iqXJLdk7XDE7TPs97U=
github.com/IBM/pgxpoolprometheus v1.1.2/go.mod h1:+vWzISN6S9ssgurhUNmm6AlXL9XLah3TdWJktquKTR8=
github.com/Machiel/slugify v1.0.1 h1:EfWSlRWstMadsgzmiV7d0yVd2IFlagWH68Q+DcYCm4E=
github.com/Machiel/slugify v1.0.1/go.mod h1:fTFGn5uWEynW4CUMG7sWkYXOf1UgDxyTM3DbR6Qfg3k=
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
@@ -173,44 +171,44 @@ github.com/aws/aws-sdk-go v1.17.7/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN
github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
github.com/aws/aws-sdk-go v1.55.7 h1:UJrkFq7es5CShfBwlWAC8DA077vp8PyVbQd3lqLiztE=
github.com/aws/aws-sdk-go v1.55.7/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
github.com/aws/aws-sdk-go-v2 v1.40.0 h1:/WMUA0kjhZExjOQN2z3oLALDREea1A7TobfuiBrKlwc=
github.com/aws/aws-sdk-go-v2 v1.40.0/go.mod h1:c9pm7VwuW0UPxAEYGyTmyurVcNrbF6Rt/wixFqDhcjE=
github.com/aws/aws-sdk-go-v2 v1.39.1 h1:fWZhGAwVRK/fAN2tmt7ilH4PPAE11rDj7HytrmbZ2FE=
github.com/aws/aws-sdk-go-v2 v1.39.1/go.mod h1:sDioUELIUO9Znk23YVmIk86/9DOpkbyyVb1i/gUNFXY=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.11 h1:12SpdwU8Djs+YGklkinSSlcrPyj3H4VifVsKf78KbwA=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.11/go.mod h1:dd+Lkp6YmMryke+qxW/VnKyhMBDTYP41Q2Bb+6gNZgY=
github.com/aws/aws-sdk-go-v2/config v1.31.17 h1:QFl8lL6RgakNK86vusim14P2k8BFSxjvUkcWLDjgz9Y=
github.com/aws/aws-sdk-go-v2/config v1.31.17/go.mod h1:V8P7ILjp/Uef/aX8TjGk6OHZN6IKPM5YW6S78QnRD5c=
github.com/aws/aws-sdk-go-v2/credentials v1.18.21 h1:56HGpsgnmD+2/KpG0ikvvR8+3v3COCwaF4r+oWwOeNA=
github.com/aws/aws-sdk-go-v2/credentials v1.18.21/go.mod h1:3YELwedmQbw7cXNaII2Wywd+YY58AmLPwX4LzARgmmA=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.13 h1:T1brd5dR3/fzNFAQch/iBKeX07/ffu/cLu+q+RuzEWk=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.13/go.mod h1:Peg/GBAQ6JDt+RoBf4meB1wylmAipb7Kg2ZFakZTlwk=
github.com/aws/aws-sdk-go-v2/config v1.31.10 h1:7LllDZAegXU3yk41mwM6KcPu0wmjKGQB1bg99bNdQm4=
github.com/aws/aws-sdk-go-v2/config v1.31.10/go.mod h1:Ge6gzXPjqu4v0oHvgAwvGzYcK921GU0hQM25WF/Kl+8=
github.com/aws/aws-sdk-go-v2/credentials v1.18.14 h1:TxkI7QI+sFkTItN/6cJuMZEIVMFXeu2dI1ZffkXngKI=
github.com/aws/aws-sdk-go-v2/credentials v1.18.14/go.mod h1:12x4Uw/vijC11XkctTjy92TNCQ+UnNJkT7fzX0Yd93E=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.8 h1:gLD09eaJUdiszm7vd1btiQUYE0Hj+0I2b8AS+75z9AY=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.8/go.mod h1:4RW3oMPt1POR74qVOC4SbubxAwdP4pCT0nSw3jycOU4=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.84 h1:cTXRdLkpBanlDwISl+5chq5ui1d1YWg4PWMR9c3kXyw=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.84/go.mod h1:kwSy5X7tfIHN39uucmjQVs2LvDdXEjQucgQQEqCggEo=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.14 h1:PZHqQACxYb8mYgms4RZbhZG0a7dPW06xOjmaH0EJC/I=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.14/go.mod h1:VymhrMJUWs69D8u0/lZ7jSB6WgaG/NqHi3gX0aYf6U0=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.14 h1:bOS19y6zlJwagBfHxs0ESzr1XCOU2KXJCWcq3E2vfjY=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.14/go.mod h1:1ipeGBMAxZ0xcTm6y6paC2C/J6f6OO7LBODV9afuAyM=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 h1:WKuaxf++XKWlHWu9ECbMlha8WOEGm0OUEZqm4K/Gcfk=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4/go.mod h1:ZWy7j6v1vWGmPReu0iSGvRiise4YI5SkR3OHKTZ6Wuc=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.8 h1:6bgAZgRyT4RoFWhxS+aoGMFyE0cD1bSzFnEEi4bFPGI=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.8/go.mod h1:KcGkXFVU8U28qS4KvLEcPxytPZPBcRawaH2Pf/0jptE=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.8 h1:HhJYoES3zOz34yWEpGENqJvRVPqpmJyR3+AFg9ybhdY=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.8/go.mod h1:JnA+hPWeYAVbDssp83tv+ysAG8lTfLVXvSsyKg/7xNA=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.36 h1:GMYy2EOWfzdP3wfVAGXBNKY5vK4K8vMET4sYOYltmqs=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.36/go.mod h1:gDhdAV6wL3PmPqBhiPbnlS447GoWs8HTTOYef9/9Inw=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3 h1:x2Ibm/Af8Fi+BH+Hsn9TXGdT+hKbDd5XOTZxTMxDk7o=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3/go.mod h1:IW1jwyrQgMdhisceG8fQLmQIydcT/jWY21rFhzgaKwo=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.1 h1:oegbebPEMA/1Jny7kvwejowCaHz1FWZAQ94WXFNCyTM=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.1/go.mod h1:kemo5Myr9ac0U9JfSjMo9yHLtw+pECEHsFtJ9tqCEI8=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.4 h1:nAP2GYbfh8dd2zGZqFRSMlq+/F6cMPBUuCsGAMkN074=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.4/go.mod h1:LT10DsiGjLWh4GbjInf9LQejkYEhBgBCjLG5+lvk4EE=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13 h1:kDqdFvMY4AtKoACfzIGD8A0+hbT41KTKF//gq7jITfM=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13/go.mod h1:lmKuogqSU3HzQCwZ9ZtcqOc5XGMqtDK7OIc2+DxiUEg=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.8 h1:M6JI2aGFEzYxsF6CXIuRBnkge9Wf9a2xU39rNeXgu10=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.8/go.mod h1:Fw+MyTwlwjFsSTE31mH211Np+CUslml8mzc0AFEG09s=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.17 h1:qcLWgdhq45sDM9na4cvXax9dyLitn8EYBRl8Ak4XtG4=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.17/go.mod h1:M+jkjBFZ2J6DJrjMv2+vkBbuht6kxJYtJiwoVgX4p4U=
github.com/aws/aws-sdk-go-v2/service/s3 v1.84.0 h1:0reDqfEN+tB+sozj2r92Bep8MEwBZgtAXTND1Kk9OXg=
github.com/aws/aws-sdk-go-v2/service/s3 v1.84.0/go.mod h1:kUklwasNoCn5YpyAqC/97r6dzTA1SRKJfKq16SXeoDU=
github.com/aws/aws-sdk-go-v2/service/sso v1.30.1 h1:0JPwLz1J+5lEOfy/g0SURC9cxhbQ1lIMHMa+AHZSzz0=
github.com/aws/aws-sdk-go-v2/service/sso v1.30.1/go.mod h1:fKvyjJcz63iL/ftA6RaM8sRCtN4r4zl4tjL3qw5ec7k=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.5 h1:OWs0/j2UYR5LOGi88sD5/lhN6TDLG6SfA7CqsQO9zF0=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.5/go.mod h1:klO+ejMvYsB4QATfEOIXk8WAEwN4N0aBfJpvC+5SZBo=
github.com/aws/aws-sdk-go-v2/service/sts v1.39.1 h1:mLlUgHn02ue8whiR4BmxxGJLR2gwU6s6ZzJ5wDamBUs=
github.com/aws/aws-sdk-go-v2/service/sts v1.39.1/go.mod h1:E19xDjpzPZC7LS2knI9E6BaRFDK43Eul7vd6rSq2HWk=
github.com/aws/smithy-go v1.23.2 h1:Crv0eatJUQhaManss33hS5r40CG3ZFH+21XSkqMrIUM=
github.com/aws/smithy-go v1.23.2/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0=
github.com/aws/aws-sdk-go-v2/service/sso v1.29.4 h1:FTdEN9dtWPB0EOURNtDPmwGp6GGvMqRJCAihkSl/1No=
github.com/aws/aws-sdk-go-v2/service/sso v1.29.4/go.mod h1:mYubxV9Ff42fZH4kexj43gFPhgc/LyC7KqvUKt1watc=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.0 h1:I7ghctfGXrscr7r1Ga/mDqSJKm7Fkpl5Mwq79Z+rZqU=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.0/go.mod h1:Zo9id81XP6jbayIFWNuDpA6lMBWhsVy+3ou2jLa4JnA=
github.com/aws/aws-sdk-go-v2/service/sts v1.38.5 h1:+LVB0xBqEgjQoqr9bGZbRzvg212B0f17JdflleJRNR4=
github.com/aws/aws-sdk-go-v2/service/sts v1.38.5/go.mod h1:xoaxeqnnUaZjPjaICgIy5B+MHCSb/ZSOn4MvkFNOUA0=
github.com/aws/smithy-go v1.23.1 h1:sLvcH6dfAFwGkHLZ7dGiYF7aK6mg4CgKA/iDKjLDt9M=
github.com/aws/smithy-go v1.23.1/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0=
github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk=
github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg=
github.com/barkimedes/go-deepcopy v0.0.0-20220514131651-17c30cfc62df h1:GSoSVRLoBaFpOOds6QyY1L8AX7uoY+Ln3BHc22W40X0=
@@ -621,8 +619,8 @@ github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo=
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA=
github.com/grafana/alerting v0.0.0-20251231150637-b7821017d69f h1:Br4SaUL3dnVopKKNhDavCLgehw60jdtl/sIxdfzmVts=
github.com/grafana/alerting v0.0.0-20251231150637-b7821017d69f/go.mod h1:l7v67cgP7x72ajB9UPZlumdrHqNztpKoqQ52cU8T3LU=
github.com/grafana/alerting v0.0.0-20251212143239-491433b332b7 h1:ZzG/gCclEit9w0QUfQt9GURcOycAIGcsQAhY1u0AEX0=
github.com/grafana/alerting v0.0.0-20251212143239-491433b332b7/go.mod h1:l7v67cgP7x72ajB9UPZlumdrHqNztpKoqQ52cU8T3LU=
github.com/grafana/authlib v0.0.0-20250930082137-a40e2c2b094f h1:Cbm6OKkOcJ+7CSZsGsEJzktC/SIa5bxVeYKQLuYK86o=
github.com/grafana/authlib v0.0.0-20250930082137-a40e2c2b094f/go.mod h1:axY0cdOg3q0TZHwpHnIz5x16xZ8ZBxJHShsSHHXcHQg=
github.com/grafana/authlib/types v0.0.0-20251119142549-be091cf2f4d4 h1:Muoy+FMGrHj3GdFbvsMzUT7eusgii9PKf9L1ZaXDDbY=
@@ -637,8 +635,8 @@ github.com/grafana/grafana-app-sdk v0.48.7 h1:9mF7nqkqP0QUYYDlznoOt+GIyjzj45wGfU
github.com/grafana/grafana-app-sdk v0.48.7/go.mod h1:DWsaaH39ZMHwSOSoUBaeW8paMrRaYsjRYlLwCJYd78k=
github.com/grafana/grafana-app-sdk/logging v0.48.7 h1:Oa5qg473gka5+W/WQk61Xbw4YdAv+wV2Z4bJtzeCaQw=
github.com/grafana/grafana-app-sdk/logging v0.48.7/go.mod h1:5u3KalezoBAAo2Y3ytDYDAIIPvEqFLLDSxeiK99QxDU=
github.com/grafana/grafana-aws-sdk v1.4.2 h1:GrUEoLbs46r8rG/GZL4L2b63Bo+rkIYKdtCT7kT5KkM=
github.com/grafana/grafana-aws-sdk v1.4.2/go.mod h1:1qnZdYs6gQzxxF0dDodaE7Rn9fiMzuhwvtaAZ7ySnhY=
github.com/grafana/grafana-aws-sdk v1.3.0 h1:/bfJzP93rCel1GbWoRSq0oUo424MZXt8jAp2BK9w8tM=
github.com/grafana/grafana-aws-sdk v1.3.0/go.mod h1:VGycF0JkCGKND2O5je1ucOqPJ0ZNhZYzV3c2bNBAaGk=
github.com/grafana/grafana-azure-sdk-go/v2 v2.3.1 h1:FFcEA01tW+SmuJIuDbHOdgUBL+d7DPrZ2N4zwzPhfGk=
github.com/grafana/grafana-azure-sdk-go/v2 v2.3.1/go.mod h1:Oi4anANlCuTCc66jCyqIzfVbgLXFll8Wja+Y4vfANlc=
github.com/grafana/grafana-plugin-sdk-go v0.284.0 h1:1bK7eWsnPBLUWDcWJWe218Ik5ad0a5JpEL4mH9ry7Ws=
@@ -655,8 +653,8 @@ github.com/grafana/pyroscope-go/godeltaprof v0.1.9 h1:c1Us8i6eSmkW+Ez05d3co8kasn
github.com/grafana/pyroscope-go/godeltaprof v0.1.9/go.mod h1:2+l7K7twW49Ct4wFluZD3tZ6e0SjanjcUUBPVD/UuGU=
github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248=
github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk=
github.com/grafana/sqlds/v5 v5.0.3 h1:+yUMUxfa0WANQsmS9xtTFSRX1Q55Iv1B9EjlrW4VlBU=
github.com/grafana/sqlds/v5 v5.0.3/go.mod h1:GKeTTiC+GeR1X0z3f0Iee+hZnNgN62uQpj5XVMx5Uew=
github.com/grafana/sqlds/v4 v4.2.7 h1:sFQhsS7DBakNMdxa++yOfJ9BVvkZwFJ0B95o57K0/XA=
github.com/grafana/sqlds/v4 v4.2.7/go.mod h1:BQRjUG8rOqrBI4NAaeoWrIMuoNgfi8bdhCJ+5cgEfLU=
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI=
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8=
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0 h1:QGLs/O40yoNK9vmy4rhUGBVyMf1lISBGtXRpsu/Qu/o=

View File

@@ -4,7 +4,7 @@ go 1.25.5
require (
github.com/go-kit/log v0.2.1
github.com/grafana/alerting v0.0.0-20251231150637-b7821017d69f
github.com/grafana/alerting v0.0.0-20251212143239-491433b332b7
github.com/grafana/dskit v0.0.0-20250908063411-6b6da59b5cc4
github.com/grafana/grafana-app-sdk v0.48.7
github.com/grafana/grafana-app-sdk/logging v0.48.7

View File

@@ -243,8 +243,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/grafana/alerting v0.0.0-20251231150637-b7821017d69f h1:Br4SaUL3dnVopKKNhDavCLgehw60jdtl/sIxdfzmVts=
github.com/grafana/alerting v0.0.0-20251231150637-b7821017d69f/go.mod h1:l7v67cgP7x72ajB9UPZlumdrHqNztpKoqQ52cU8T3LU=
github.com/grafana/alerting v0.0.0-20251212143239-491433b332b7 h1:ZzG/gCclEit9w0QUfQt9GURcOycAIGcsQAhY1u0AEX0=
github.com/grafana/alerting v0.0.0-20251212143239-491433b332b7/go.mod h1:l7v67cgP7x72ajB9UPZlumdrHqNztpKoqQ52cU8T3LU=
github.com/grafana/dskit v0.0.0-20250908063411-6b6da59b5cc4 h1:jSojuc7njleS3UOz223WDlXOinmuLAIPI0z2vtq8EgI=
github.com/grafana/dskit v0.0.0-20250908063411-6b6da59b5cc4/go.mod h1:VahT+GtfQIM+o8ht2StR6J9g+Ef+C2Vokh5uuSmOD/4=
github.com/grafana/grafana-app-sdk v0.48.7 h1:9mF7nqkqP0QUYYDlznoOt+GIyjzj45wGfUHB32u2ZMo=

View File

@@ -31,10 +31,6 @@ const (
maxLimit = 1000
Namespace = "grafana"
Subsystem = "alerting"
// LogQL field path for alert rule UID after JSON parsing.
// Loki flattens nested JSON fields with underscores: alert.labels.__alert_rule_uid__ -> alert_labels___alert_rule_uid__
lokiAlertRuleUIDField = "alert_labels___alert_rule_uid__"
)
var (
@@ -115,13 +111,13 @@ func buildQuery(query Query) (string, error) {
fmt.Sprintf(`%s=%q`, historian.LabelFrom, historian.LabelFromValue),
}
logql := fmt.Sprintf(`{%s} | json`, strings.Join(selectors, `,`))
// Add ruleUID filter as JSON line filter if specified.
if query.RuleUID != nil && *query.RuleUID != "" {
logql += fmt.Sprintf(` | %s = %q`, lokiAlertRuleUIDField, *query.RuleUID)
if query.RuleUID != nil {
selectors = append(selectors,
fmt.Sprintf(`%s=%q`, historian.LabelRuleUID, *query.RuleUID))
}
logql := fmt.Sprintf(`{%s} | json`, strings.Join(selectors, `,`))
// Add receiver filter if specified.
if query.Receiver != nil && *query.Receiver != "" {
logql += fmt.Sprintf(` | receiver = %q`, *query.Receiver)
@@ -215,13 +211,16 @@ func parseLokiEntry(s lokiclient.Sample) (Entry, error) {
groupLabels = make(map[string]string)
}
alerts := []EntryAlert{{
Status: lokiEntry.Alert.Status,
Labels: lokiEntry.Alert.Labels,
Annotations: lokiEntry.Alert.Annotations,
StartsAt: lokiEntry.Alert.StartsAt,
EndsAt: lokiEntry.Alert.EndsAt,
}}
alerts := make([]EntryAlert, len(lokiEntry.Alerts))
for i, a := range lokiEntry.Alerts {
alerts[i] = EntryAlert{
Status: a.Status,
Labels: a.Labels,
Annotations: a.Annotations,
StartsAt: a.StartsAt,
EndsAt: a.EndsAt,
}
}
return Entry{
Timestamp: s.T,

View File

@@ -7,7 +7,6 @@ import (
"testing"
"time"
"github.com/grafana/alerting/models"
"github.com/grafana/alerting/notify/historian"
"github.com/grafana/alerting/notify/historian/lokiclient"
"github.com/grafana/grafana-app-sdk/logging"
@@ -134,8 +133,9 @@ func TestBuildQuery(t *testing.T) {
query: Query{
RuleUID: stringPtr("test-rule-uid"),
},
expected: fmt.Sprintf(`{%s=%q} | json | alert_labels___alert_rule_uid__ = "test-rule-uid"`,
historian.LabelFrom, historian.LabelFromValue),
expected: fmt.Sprintf(`{%s=%q,%s=%q} | json`,
historian.LabelFrom, historian.LabelFromValue,
historian.LabelRuleUID, "test-rule-uid"),
},
{
name: "query with receiver filter",
@@ -143,8 +143,9 @@ func TestBuildQuery(t *testing.T) {
RuleUID: stringPtr("test-rule-uid"),
Receiver: stringPtr("email-receiver"),
},
expected: fmt.Sprintf(`{%s=%q} | json | alert_labels___alert_rule_uid__ = "test-rule-uid" | receiver = "email-receiver"`,
historian.LabelFrom, historian.LabelFromValue),
expected: fmt.Sprintf(`{%s=%q,%s=%q} | json | receiver = "email-receiver"`,
historian.LabelFrom, historian.LabelFromValue,
historian.LabelRuleUID, "test-rule-uid"),
},
{
name: "query with status filter",
@@ -152,8 +153,9 @@ func TestBuildQuery(t *testing.T) {
RuleUID: stringPtr("test-rule-uid"),
Status: createStatusPtr(v0alpha1.CreateNotificationqueryRequestNotificationStatusFiring),
},
expected: fmt.Sprintf(`{%s=%q} | json | alert_labels___alert_rule_uid__ = "test-rule-uid" | status = "firing"`,
historian.LabelFrom, historian.LabelFromValue),
expected: fmt.Sprintf(`{%s=%q,%s=%q} | json | status = "firing"`,
historian.LabelFrom, historian.LabelFromValue,
historian.LabelRuleUID, "test-rule-uid"),
},
{
name: "query with success outcome filter",
@@ -161,8 +163,9 @@ func TestBuildQuery(t *testing.T) {
RuleUID: stringPtr("test-rule-uid"),
Outcome: outcomePtr(v0alpha1.CreateNotificationqueryRequestNotificationOutcomeSuccess),
},
expected: fmt.Sprintf(`{%s=%q} | json | alert_labels___alert_rule_uid__ = "test-rule-uid" | error = ""`,
historian.LabelFrom, historian.LabelFromValue),
expected: fmt.Sprintf(`{%s=%q,%s=%q} | json | error = ""`,
historian.LabelFrom, historian.LabelFromValue,
historian.LabelRuleUID, "test-rule-uid"),
},
{
name: "query with error outcome filter",
@@ -170,8 +173,9 @@ func TestBuildQuery(t *testing.T) {
RuleUID: stringPtr("test-rule-uid"),
Outcome: outcomePtr(v0alpha1.CreateNotificationqueryRequestNotificationOutcomeError),
},
expected: fmt.Sprintf(`{%s=%q} | json | alert_labels___alert_rule_uid__ = "test-rule-uid" | error != ""`,
historian.LabelFrom, historian.LabelFromValue),
expected: fmt.Sprintf(`{%s=%q,%s=%q} | json | error != ""`,
historian.LabelFrom, historian.LabelFromValue,
historian.LabelRuleUID, "test-rule-uid"),
},
{
name: "query with many filters",
@@ -181,8 +185,9 @@ func TestBuildQuery(t *testing.T) {
Status: createStatusPtr(v0alpha1.CreateNotificationqueryRequestNotificationStatusResolved),
Outcome: outcomePtr(v0alpha1.CreateNotificationqueryRequestNotificationOutcomeSuccess),
},
expected: fmt.Sprintf(`{%s=%q} | json | alert_labels___alert_rule_uid__ = "test-rule-uid" | receiver = "email-receiver" | status = "resolved" | error = ""`,
historian.LabelFrom, historian.LabelFromValue),
expected: fmt.Sprintf(`{%s=%q,%s=%q} | json | receiver = "email-receiver" | status = "resolved" | error = ""`,
historian.LabelFrom, historian.LabelFromValue,
historian.LabelRuleUID, "test-rule-uid"),
},
{
name: "query with group label matcher",
@@ -272,19 +277,19 @@ func TestParseLokiEntry(t *testing.T) {
GroupLabels: map[string]string{
"alertname": "test-alert",
},
Alert: historian.NotificationHistoryLokiEntryAlert{
Status: "firing",
Labels: map[string]string{
"severity": "critical",
Alerts: []historian.NotificationHistoryLokiEntryAlert{
{
Status: "firing",
Labels: map[string]string{
"severity": "critical",
},
Annotations: map[string]string{
"summary": "Test alert",
},
StartsAt: now,
EndsAt: now.Add(1 * time.Hour),
},
Annotations: map[string]string{
"summary": "Test alert",
},
StartsAt: now,
EndsAt: now.Add(1 * time.Hour),
},
AlertIndex: 0,
AlertCount: 1,
Retry: false,
Duration: 100,
PipelineTime: now,
@@ -330,9 +335,7 @@ func TestParseLokiEntry(t *testing.T) {
Error: "notification failed",
GroupKey: "key:thing",
GroupLabels: map[string]string{},
Alert: historian.NotificationHistoryLokiEntryAlert{},
AlertIndex: 0,
AlertCount: 1,
Alerts: []historian.NotificationHistoryLokiEntryAlert{},
PipelineTime: now,
}),
},
@@ -344,7 +347,7 @@ func TestParseLokiEntry(t *testing.T) {
Outcome: OutcomeError,
GroupKey: "key:thing",
GroupLabels: map[string]string{},
Alerts: []EntryAlert{{}},
Alerts: []EntryAlert{},
Error: stringPtr("notification failed"),
PipelineTime: now,
},
@@ -362,7 +365,7 @@ func TestParseLokiEntry(t *testing.T) {
Status: Status("firing"),
Outcome: OutcomeSuccess,
GroupLabels: map[string]string{},
Alerts: []EntryAlert{{}},
Alerts: []EntryAlert{},
PipelineTime: now,
},
},
@@ -445,9 +448,7 @@ func TestLokiReader_RunQuery(t *testing.T) {
Receiver: "receiver-1",
Status: "firing",
GroupLabels: map[string]string{},
Alert: historian.NotificationHistoryLokiEntryAlert{},
AlertIndex: 0,
AlertCount: 1,
Alerts: []historian.NotificationHistoryLokiEntryAlert{},
PipelineTime: now,
}),
},
@@ -458,9 +459,7 @@ func TestLokiReader_RunQuery(t *testing.T) {
Receiver: "receiver-3",
Status: "firing",
GroupLabels: map[string]string{},
Alert: historian.NotificationHistoryLokiEntryAlert{},
AlertIndex: 0,
AlertCount: 1,
Alerts: []historian.NotificationHistoryLokiEntryAlert{},
PipelineTime: now,
}),
},
@@ -475,9 +474,7 @@ func TestLokiReader_RunQuery(t *testing.T) {
Receiver: "receiver-2",
Status: "firing",
GroupLabels: map[string]string{},
Alert: historian.NotificationHistoryLokiEntryAlert{},
AlertIndex: 0,
AlertCount: 1,
Alerts: []historian.NotificationHistoryLokiEntryAlert{},
PipelineTime: now,
}),
},
@@ -549,19 +546,19 @@ func createMockLokiResponse(timestamp time.Time) lokiclient.QueryRes {
GroupLabels: map[string]string{
"alertname": "test-alert",
},
Alert: historian.NotificationHistoryLokiEntryAlert{
Status: "firing",
Labels: map[string]string{
"severity": "critical",
Alerts: []historian.NotificationHistoryLokiEntryAlert{
{
Status: "firing",
Labels: map[string]string{
"severity": "critical",
},
Annotations: map[string]string{
"summary": "Test alert",
},
StartsAt: timestamp,
EndsAt: timestamp.Add(1 * time.Hour),
},
Annotations: map[string]string{
"summary": "Test alert",
},
StartsAt: timestamp,
EndsAt: timestamp.Add(1 * time.Hour),
},
AlertIndex: 0,
AlertCount: 1,
Retry: false,
Duration: 100,
PipelineTime: timestamp,
@@ -590,19 +587,10 @@ func createLokiEntryJSONWithNilLabels(t *testing.T, timestamp time.Time) string
"status": "firing",
"error": "",
"groupLabels": null,
"alert": {},
"alertIndex": 0,
"alertCount": 1,
"alerts": [],
"retry": false,
"duration": 0,
"pipelineTime": "%s"
}`, timestamp.Format(time.RFC3339Nano))
return jsonStr
}
func TestRuleUIDLabelConstant(t *testing.T) {
// Verify that models.RuleUIDLabel has the expected value.
// If this changes in the alerting module, our LogQL field path constant will be incorrect
// and filtering for a single alert rule by its UID will break.
assert.Equal(t, "__alert_rule_uid__", models.RuleUIDLabel)
}

View File

@@ -13,7 +13,7 @@ import (
// schema is unexported to prevent accidental overwrites
var (
schemaReceiver = resource.NewSimpleSchema("notifications.alerting.grafana.app", "v0alpha1", NewReceiver(), &ReceiverList{}, resource.WithKind("Receiver"),
resource.WithPlural("receivers"), resource.WithScope(resource.NamespacedScope), resource.WithSelectableFields([]resource.SelectableField{resource.SelectableField{
resource.WithPlural("receivers"), resource.WithScope(resource.NamespacedScope), resource.WithSelectableFields([]resource.SelectableField{{
FieldSelector: "spec.title",
FieldValueFunc: func(o resource.Object) (string, error) {
cast, ok := o.(*Receiver)

View File

@@ -129,7 +129,7 @@ DashboardLink: {
placement?: DashboardLinkPlacement
}
// Dashboard Link placement. Defines where the link should be displayed.
// Dashboard Link placement. Defines where the link should be displayed.
// - "inControlsMenu" renders the link in bottom part of the dashboard controls dropdown menu
DashboardLinkPlacement: "inControlsMenu"
@@ -790,8 +790,6 @@ VariableOption: {
text: string | [...string]
// Value of the option
value: string | [...string]
// Additional properties for multi-props variables
properties?: {[string]: string}
}
// Query variable specification
@@ -934,7 +932,6 @@ CustomVariableSpec: {
skipUrlSync: bool | *false
description?: string
allowCustomValue: bool | *true
valuesFormat?: "csv" | "json"
}
// Custom variable kind

View File

@@ -794,8 +794,6 @@ VariableOption: {
text: string | [...string]
// Value of the option
value: string | [...string]
// Additional properties for multi-props variables
properties?: {[string]: string}
}
// Query variable specification
@@ -937,7 +935,6 @@ CustomVariableSpec: {
skipUrlSync: bool | *false
description?: string
allowCustomValue: bool | *true
valuesFormat?: "csv" | "json"
}
// Custom variable kind

View File

@@ -222,10 +222,8 @@ lineage: schemas: [{
// Optional field, if you want to extract part of a series name or metric node segment.
// Named capture groups can be used to separate the display text and value.
regex?: string
// Optional, indicates whether a custom type variable uses CSV or JSON to define its values
valuesFormat?: "csv" | "json" | *"csv"
// Determine whether regex applies to variable value or display text
regexApplyTo?: #VariableRegexApplyTo
// Determine whether regex applies to variable value or display text
regexApplyTo?: #VariableRegexApplyTo
// Additional static options for query variable
staticOptions?: [...#VariableOption]
// Ordering of static options in relation to options returned from data source for query variable

View File

@@ -301,8 +301,6 @@ var _ resource.ListObject = &DashboardList{}
// Copy methods for all subresource types
// DeepCopy creates a full deep copy of DashboardStatus
func (s *DashboardStatus) DeepCopy() *DashboardStatus {
cpy := &DashboardStatus{}

View File

@@ -222,10 +222,8 @@ lineage: schemas: [{
// Optional field, if you want to extract part of a series name or metric node segment.
// Named capture groups can be used to separate the display text and value.
regex?: string
// Optional, indicates whether a custom type variable uses CSV or JSON to define its values
valuesFormat?: "csv" | "json" | *"csv"
// Determine whether regex applies to variable value or display text
regexApplyTo?: #VariableRegexApplyTo
// Determine whether regex applies to variable value or display text
regexApplyTo?: #VariableRegexApplyTo
// Additional static options for query variable
staticOptions?: [...#VariableOption]
// Ordering of static options in relation to options returned from data source for query variable

View File

@@ -301,8 +301,6 @@ var _ resource.ListObject = &DashboardList{}
// Copy methods for all subresource types
// DeepCopy creates a full deep copy of DashboardStatus
func (s *DashboardStatus) DeepCopy() *DashboardStatus {
cpy := &DashboardStatus{}

View File

@@ -133,7 +133,7 @@ DashboardLink: {
placement?: DashboardLinkPlacement
}
// Dashboard Link placement. Defines where the link should be displayed.
// Dashboard Link placement. Defines where the link should be displayed.
// - "inControlsMenu" renders the link in bottom part of the dashboard controls dropdown menu
DashboardLinkPlacement: "inControlsMenu"
@@ -794,8 +794,6 @@ VariableOption: {
text: string | [...string]
// Value of the option
value: string | [...string]
// Additional properties for multi-props variables
properties?: {[string]: string}
}
// Query variable specification
@@ -938,7 +936,6 @@ CustomVariableSpec: {
skipUrlSync: bool | *false
description?: string
allowCustomValue: bool | *true
valuesFormat?: "csv" | "json"
}
// Custom variable kind

View File

@@ -1411,8 +1411,6 @@ type DashboardVariableOption struct {
Text DashboardStringOrArrayOfString `json:"text"`
// Value of the option
Value DashboardStringOrArrayOfString `json:"value"`
// Additional properties for multi-props variables
Properties map[string]string `json:"properties,omitempty"`
}
// NewDashboardVariableOption creates a new DashboardVariableOption object.
@@ -1705,19 +1703,18 @@ func NewDashboardCustomVariableKind() *DashboardCustomVariableKind {
// Custom variable specification
// +k8s:openapi-gen=true
type DashboardCustomVariableSpec struct {
Name string `json:"name"`
Query string `json:"query"`
Current DashboardVariableOption `json:"current"`
Options []DashboardVariableOption `json:"options"`
Multi bool `json:"multi"`
IncludeAll bool `json:"includeAll"`
AllValue *string `json:"allValue,omitempty"`
Label *string `json:"label,omitempty"`
Hide DashboardVariableHide `json:"hide"`
SkipUrlSync bool `json:"skipUrlSync"`
Description *string `json:"description,omitempty"`
AllowCustomValue bool `json:"allowCustomValue"`
ValuesFormat *DashboardCustomVariableSpecValuesFormat `json:"valuesFormat,omitempty"`
Name string `json:"name"`
Query string `json:"query"`
Current DashboardVariableOption `json:"current"`
Options []DashboardVariableOption `json:"options"`
Multi bool `json:"multi"`
IncludeAll bool `json:"includeAll"`
AllValue *string `json:"allValue,omitempty"`
Label *string `json:"label,omitempty"`
Hide DashboardVariableHide `json:"hide"`
SkipUrlSync bool `json:"skipUrlSync"`
Description *string `json:"description,omitempty"`
AllowCustomValue bool `json:"allowCustomValue"`
}
// NewDashboardCustomVariableSpec creates a new DashboardCustomVariableSpec object.
@@ -2101,14 +2098,6 @@ const (
DashboardQueryVariableSpecStaticOptionsOrderSorted DashboardQueryVariableSpecStaticOptionsOrder = "sorted"
)
// +k8s:openapi-gen=true
type DashboardCustomVariableSpecValuesFormat string
const (
DashboardCustomVariableSpecValuesFormatCsv DashboardCustomVariableSpecValuesFormat = "csv"
DashboardCustomVariableSpecValuesFormatJson DashboardCustomVariableSpecValuesFormat = "json"
)
// +k8s:openapi-gen=true
type DashboardPanelKindOrLibraryPanelKind struct {
PanelKind *DashboardPanelKind `json:"PanelKind,omitempty"`

View File

@@ -1548,12 +1548,6 @@ func schema_pkg_apis_dashboard_v2alpha1_DashboardCustomVariableSpec(ref common.R
Format: "",
},
},
"valuesFormat": {
SchemaProps: spec.SchemaProps{
Type: []string{"string"},
Format: "",
},
},
},
Required: []string{"name", "query", "current", "options", "multi", "includeAll", "hide", "skipUrlSync", "allowCustomValue"},
},

View File

@@ -798,8 +798,6 @@ VariableOption: {
text: string | [...string]
// Value of the option
value: string | [...string]
// Additional properties for multi-props variables
properties?: {[string]: string}
}
// Query variable specification
@@ -941,7 +939,6 @@ CustomVariableSpec: {
skipUrlSync: bool | *false
description?: string
allowCustomValue: bool | *true
valuesFormat?: "csv" | "json"
}
// Custom variable kind

View File

@@ -1414,8 +1414,6 @@ type DashboardVariableOption struct {
Text DashboardStringOrArrayOfString `json:"text"`
// Value of the option
Value DashboardStringOrArrayOfString `json:"value"`
// Additional properties for multi-props variables
Properties map[string]string `json:"properties,omitempty"`
}
// NewDashboardVariableOption creates a new DashboardVariableOption object.
@@ -1709,19 +1707,18 @@ func NewDashboardCustomVariableKind() *DashboardCustomVariableKind {
// Custom variable specification
// +k8s:openapi-gen=true
type DashboardCustomVariableSpec struct {
Name string `json:"name"`
Query string `json:"query"`
Current DashboardVariableOption `json:"current"`
Options []DashboardVariableOption `json:"options"`
Multi bool `json:"multi"`
IncludeAll bool `json:"includeAll"`
AllValue *string `json:"allValue,omitempty"`
Label *string `json:"label,omitempty"`
Hide DashboardVariableHide `json:"hide"`
SkipUrlSync bool `json:"skipUrlSync"`
Description *string `json:"description,omitempty"`
AllowCustomValue bool `json:"allowCustomValue"`
ValuesFormat *DashboardCustomVariableSpecValuesFormat `json:"valuesFormat,omitempty"`
Name string `json:"name"`
Query string `json:"query"`
Current DashboardVariableOption `json:"current"`
Options []DashboardVariableOption `json:"options"`
Multi bool `json:"multi"`
IncludeAll bool `json:"includeAll"`
AllValue *string `json:"allValue,omitempty"`
Label *string `json:"label,omitempty"`
Hide DashboardVariableHide `json:"hide"`
SkipUrlSync bool `json:"skipUrlSync"`
Description *string `json:"description,omitempty"`
AllowCustomValue bool `json:"allowCustomValue"`
}
// NewDashboardCustomVariableSpec creates a new DashboardCustomVariableSpec object.
@@ -2136,14 +2133,6 @@ const (
DashboardQueryVariableSpecStaticOptionsOrderSorted DashboardQueryVariableSpecStaticOptionsOrder = "sorted"
)
// +k8s:openapi-gen=true
type DashboardCustomVariableSpecValuesFormat string
const (
DashboardCustomVariableSpecValuesFormatCsv DashboardCustomVariableSpecValuesFormat = "csv"
DashboardCustomVariableSpecValuesFormatJson DashboardCustomVariableSpecValuesFormat = "json"
)
// +k8s:openapi-gen=true
type DashboardPanelKindOrLibraryPanelKind struct {
PanelKind *DashboardPanelKind `json:"PanelKind,omitempty"`

View File

@@ -1560,12 +1560,6 @@ func schema_pkg_apis_dashboard_v2beta1_DashboardCustomVariableSpec(ref common.Re
Format: "",
},
},
"valuesFormat": {
SchemaProps: spec.SchemaProps{
Type: []string{"string"},
Format: "",
},
},
},
Required: []string{"name", "query", "current", "options", "multi", "includeAll", "hide", "skipUrlSync", "allowCustomValue"},
},

File diff suppressed because one or more lines are too long

View File

@@ -180,15 +180,12 @@ func countAnnotationsV0V1(spec map[string]interface{}) int {
return 0
}
// Handle both []interface{} (from JSON unmarshaling) and []map[string]interface{} (from programmatic creation)
if annotationList, ok := annotations["list"].([]interface{}); ok {
return len(annotationList)
}
if annotationList, ok := annotations["list"].([]map[string]interface{}); ok {
return len(annotationList)
annotationList, ok := annotations["list"].([]interface{})
if !ok {
return 0
}
return 0
return len(annotationList)
}
// countLinksV0V1 counts dashboard links in v0alpha1 or v1beta1 dashboard spec
@@ -197,15 +194,12 @@ func countLinksV0V1(spec map[string]interface{}) int {
return 0
}
// Handle both []interface{} (from JSON unmarshaling) and []map[string]interface{} (from programmatic creation)
if links, ok := spec["links"].([]interface{}); ok {
return len(links)
}
if links, ok := spec["links"].([]map[string]interface{}); ok {
return len(links)
links, ok := spec["links"].([]interface{})
if !ok {
return 0
}
return 0
return len(links)
}
// countVariablesV0V1 counts template variables in v0alpha1 or v1beta1 dashboard spec
@@ -219,15 +213,12 @@ func countVariablesV0V1(spec map[string]interface{}) int {
return 0
}
// Handle both []interface{} (from JSON unmarshaling) and []map[string]interface{} (from programmatic creation)
if variableList, ok := templating["list"].([]interface{}); ok {
return len(variableList)
}
if variableList, ok := templating["list"].([]map[string]interface{}); ok {
return len(variableList)
variableList, ok := templating["list"].([]interface{})
if !ok {
return 0
}
return 0
return len(variableList)
}
// collectStatsV0V1 collects statistics from v0alpha1 or v1beta1 dashboard

View File

@@ -85,20 +85,20 @@ func withConversionMetrics(sourceVersionAPI, targetVersionAPI string, conversion
// Only track schema versions for v0/v1 dashboards (v2+ info is redundant with API version)
switch source := a.(type) {
case *dashv0.Dashboard:
dashboardUID = source.Name
dashboardUID = string(source.UID)
if source.Spec.Object != nil {
sourceSchemaVersion = schemaversion.GetSchemaVersion(source.Spec.Object)
}
case *dashv1.Dashboard:
dashboardUID = source.Name
dashboardUID = string(source.UID)
if source.Spec.Object != nil {
sourceSchemaVersion = schemaversion.GetSchemaVersion(source.Spec.Object)
}
case *dashv2alpha1.Dashboard:
dashboardUID = source.Name
dashboardUID = string(source.UID)
// Don't track schema version for v2+ (redundant with API version)
case *dashv2beta1.Dashboard:
dashboardUID = source.Name
dashboardUID = string(source.UID)
// Don't track schema version for v2+ (redundant with API version)
}

View File

@@ -1,142 +0,0 @@
{
"kind": "Dashboard",
"apiVersion": "dashboard.grafana.app/v1beta1",
"metadata": {
"name": "bom-in-links-test",
"namespace": "org-1",
"labels": {
"test": "bom-stripping"
}
},
"spec": {
"title": "BOM Stripping Test Dashboard",
"description": "Testing that BOM characters are stripped from URLs during conversion",
"schemaVersion": 42,
"tags": ["test", "bom"],
"editable": true,
"links": [
{
"title": "Dashboard link with BOM",
"type": "link",
"url": "http://example.com?var=${datasource}&other=value",
"targetBlank": true,
"icon": "external link"
}
],
"panels": [
{
"id": 1,
"type": "table",
"title": "Panel with BOM in field config override links",
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"fieldConfig": {
"defaults": {
"custom": {},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{"color": "green"},
{"color": "red", "value": 80}
]
}
},
"overrides": [
{
"matcher": {
"id": "byName",
"options": "server"
},
"properties": [
{
"id": "links",
"value": [
{
"title": "Override link with BOM",
"url": "http://localhost:3000/d/test?var-datacenter=${__data.fields[datacenter]}&var-server=${__value.raw}"
}
]
}
]
}
]
},
"links": [
{
"title": "Panel data link with BOM",
"url": "http://example.com/${__data.fields.cluster}&var=value",
"targetBlank": true
}
],
"targets": [
{
"refId": "A",
"datasource": {
"type": "prometheus",
"uid": "test-ds"
}
}
]
},
{
"id": 2,
"type": "timeseries",
"title": "Panel with BOM in options dataLinks",
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"options": {
"legend": {
"showLegend": true,
"displayMode": "list",
"placement": "bottom"
},
"dataLinks": [
{
"title": "Options data link with BOM",
"url": "http://example.com?series=${__series.name}&time=${__value.time}",
"targetBlank": true
}
]
},
"fieldConfig": {
"defaults": {
"links": [
{
"title": "Field config default link with BOM",
"url": "http://example.com?field=${__field.name}&value=${__value.raw}",
"targetBlank": false
}
]
},
"overrides": []
},
"targets": [
{
"refId": "A",
"datasource": {
"type": "prometheus",
"uid": "test-ds"
}
}
]
}
],
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"refresh_intervals": ["5s", "10s", "30s", "1m", "5m"]
}
}
}

View File

@@ -1,166 +0,0 @@
{
"kind": "DashboardWithAccessInfo",
"apiVersion": "dashboard.grafana.app/v1beta1",
"metadata": {
"name": "groupby-test"
},
"spec": {
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations \u0026 Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"links": [],
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "test-uid"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"barWidthFactor": 0.6,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"showValues": false,
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": 0
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"hideZeros": false,
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "12.4.0-pre",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "test-uid"
},
"editorMode": "code",
"expr": "sum(counters_requests)",
"legendFormat": "__auto",
"range": true,
"refId": "A"
}
],
"title": "works with group by var",
"type": "timeseries"
}
],
"preload": false,
"schemaVersion": 42,
"tags": [],
"templating": {
"list": [
{
"current": {
"text": [
"a_legacy_label",
"app",
"exported_instance",
"exported_job"
],
"value": [
"a_legacy_label",
"app",
"exported_instance",
"exported_job"
]
},
"datasource": {
"type": "prometheus",
"uid": "test-uid"
},
"name": "Group by",
"type": "groupby"
}
]
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "groupby test",
"weekStart": ""
}
}

View File

@@ -743,9 +743,7 @@
"text": "prod",
"value": "prod"
},
"datasource": {
"uid": "$datasource"
},
"datasource": "$datasource",
"hide": 0,
"includeAll": true,
"label": "cluster",
@@ -766,9 +764,7 @@
"text": "prod",
"value": "prod"
},
"datasource": {
"uid": "$datasource"
},
"datasource": "$datasource",
"hide": 0,
"includeAll": false,
"label": "namespace",

View File

@@ -961,12 +961,8 @@
"hide": "dontHide",
"refresh": "onDashboardLoad",
"skipUrlSync": false,
"datasource": {
"type": "",
"uid": "$datasource"
},
"query": {
"kind": "",
"kind": "prometheus",
"spec": {
"__legacyStringValue": "label_values(up, job)"
}
@@ -992,12 +988,8 @@
"hide": "dontHide",
"refresh": "onDashboardLoad",
"skipUrlSync": false,
"datasource": {
"type": "",
"uid": "$datasource"
},
"query": {
"kind": "",
"kind": "prometheus",
"spec": {
"__legacyStringValue": "label_values(up{job=~\"$cluster\"}, instance)"
}

View File

@@ -978,11 +978,8 @@
"skipUrlSync": false,
"query": {
"kind": "DataQuery",
"group": "",
"group": "prometheus",
"version": "v0",
"datasource": {
"name": "$datasource"
},
"spec": {
"__legacyStringValue": "label_values(up, job)"
}
@@ -1010,11 +1007,8 @@
"skipUrlSync": false,
"query": {
"kind": "DataQuery",
"group": "",
"group": "prometheus",
"version": "v0",
"datasource": {
"name": "$datasource"
},
"spec": {
"__legacyStringValue": "label_values(up{job=~\"$cluster\"}, instance)"
}

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -79,10 +71,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -79,10 +71,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -79,10 +71,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -105,10 +93,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -131,10 +115,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -79,10 +71,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -105,10 +93,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -131,10 +115,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "gdev-prometheus"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "gdev-prometheus"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -54,10 +50,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -54,10 +50,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -65,9 +65,6 @@
"type": "row"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Versions running\nShows the versions reported by each running pod.\n\nThe rollout will fail if any pod is not running the expected version.\n\nPods in green are running the expected version, while pods running other versions are shown in orange.\n\n",
"fieldConfig": {
"defaults": {
@@ -188,9 +185,6 @@
"type": "barchart"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Deployment rollout progress\nShows the number of pods for each `Deployment` that match the desired configuration, as a proportion of the desired number of pods.\n\nThe rollout will fail if insufficient pods match the desired configuration for any `Deployment`.\n\nPods in green match the desired configuration, while pods that do not match the desired configuration are shown in orange.\n\n",
"fieldConfig": {
"defaults": {
@@ -292,9 +286,6 @@
"type": "barchart"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### StatefulSet rollout progress\nShows the number of pods for each `StatefulSet` that match the desired configuration, as a proportion of the desired number of pods.\n\nThe rollout will fail if insufficient pods match the desired configuration for any `StatefulSet`.\n\nPods in green match the desired configuration, while pods that do not match the desired configuration are shown in orange.\n\n",
"fieldConfig": {
"defaults": {
@@ -408,9 +399,6 @@
"type": "row"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Aggregator lag\nShows the consumption lag of each aggregator pod.\n\nThis panel may show no data if aggregators are not deployed to this cell.\n\nThe rollout will fail if any pod's consumption lag is both:\n* greater than 30s (red area on graph), and\n* trending upwards compared to 1 minute earlier\n\n",
"fieldConfig": {
"defaults": {
@@ -480,9 +468,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Unhealthy Deployment replicas\nShows the number of unavailable pods for each `Deployment`.\n\nThe rollout will fail if any `Deployment` has an unavailable pod.\n\nBoth this panel and the rollout check ignore any `Deployment`s that require spot nodes, as these are expected to be unavailable from time to time.\n\n`Deployment`s shown in green do not have any unavailable pods, while `Deployment`s shown in orange have one or more unavailable pods.\n\n",
"fieldConfig": {
"defaults": {
@@ -584,9 +569,6 @@
"type": "barchart"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Unhealthy StatefulSet replicas\nShows the number of pods for each `StatefulSet` that are not ready.\n\nThe rollout will fail if any `StatefulSet` has fewer ready pods than requested.\n\nBoth this panel and the rollout check ignore any `StatefulSets`s that require spot nodes, as these are expected to be unavailable from time to time.\n\n`StatefulSets`s shown in green do not have any pods that are not ready, while `StatefulSet`s shown in orange have one or more pods that are not ready.\n\n",
"fieldConfig": {
"defaults": {

View File

@@ -65,9 +65,6 @@
"type": "row"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Versions running\nShows the versions reported by each running pod.\n\nThe rollout will fail if any pod is not running the expected version.\n\nPods in green are running the expected version, while pods running other versions are shown in orange.\n\n",
"fieldConfig": {
"defaults": {
@@ -188,9 +185,6 @@
"type": "barchart"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Deployment rollout progress\nShows the number of pods for each `Deployment` that match the desired configuration, as a proportion of the desired number of pods.\n\nThe rollout will fail if insufficient pods match the desired configuration for any `Deployment`.\n\nPods in green match the desired configuration, while pods that do not match the desired configuration are shown in orange.\n\n",
"fieldConfig": {
"defaults": {
@@ -292,9 +286,6 @@
"type": "barchart"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### StatefulSet rollout progress\nShows the number of pods for each `StatefulSet` that match the desired configuration, as a proportion of the desired number of pods.\n\nThe rollout will fail if insufficient pods match the desired configuration for any `StatefulSet`.\n\nPods in green match the desired configuration, while pods that do not match the desired configuration are shown in orange.\n\n",
"fieldConfig": {
"defaults": {
@@ -408,9 +399,6 @@
"type": "row"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Aggregator lag\nShows the consumption lag of each aggregator pod.\n\nThis panel may show no data if aggregators are not deployed to this cell.\n\nThe rollout will fail if any pod's consumption lag is both:\n* greater than 30s (red area on graph), and\n* trending upwards compared to 1 minute earlier\n\n",
"fieldConfig": {
"defaults": {
@@ -480,9 +468,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Unhealthy Deployment replicas\nShows the number of unavailable pods for each `Deployment`.\n\nThe rollout will fail if any `Deployment` has an unavailable pod.\n\nBoth this panel and the rollout check ignore any `Deployment`s that require spot nodes, as these are expected to be unavailable from time to time.\n\n`Deployment`s shown in green do not have any unavailable pods, while `Deployment`s shown in orange have one or more unavailable pods.\n\n",
"fieldConfig": {
"defaults": {
@@ -584,9 +569,6 @@
"type": "barchart"
},
{
"datasource": {
"uid": "$datasource"
},
"description": "### Unhealthy StatefulSet replicas\nShows the number of pods for each `StatefulSet` that are not ready.\n\nThe rollout will fail if any `StatefulSet` has fewer ready pods than requested.\n\nBoth this panel and the rollout check ignore any `StatefulSets`s that require spot nodes, as these are expected to be unavailable from time to time.\n\n`StatefulSets`s shown in green do not have any pods that are not ready, while `StatefulSet`s shown in orange have one or more pods that are not ready.\n\n",
"fieldConfig": {
"defaults": {

View File

@@ -37,10 +37,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -63,10 +59,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -37,10 +37,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -63,10 +59,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -44,9 +44,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample metric showing connection count.",
"fieldConfig": {
"defaults": {
@@ -137,9 +134,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample counter metric.",
"fieldConfig": {
"defaults": {
@@ -230,9 +224,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample error metric.",
"fieldConfig": {
"defaults": {
@@ -323,9 +314,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample event rate metric.",
"fieldConfig": {
"defaults": {
@@ -416,9 +404,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample resource utilization metric.",
"fieldConfig": {
"defaults": {
@@ -508,9 +493,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample memory allocation metrics.",
"fieldConfig": {
"defaults": {
@@ -611,9 +593,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample utilization percentage.",
"fieldConfig": {
"defaults": {
@@ -683,9 +662,6 @@
"type": "row"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample latency metric for primary operations.",
"fieldConfig": {
"defaults": {
@@ -772,9 +748,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample latency metric for secondary operations.",
"fieldConfig": {
"defaults": {
@@ -861,9 +834,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample expansion events metric.",
"fieldConfig": {
"defaults": {

View File

@@ -44,9 +44,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample metric showing connection count.",
"fieldConfig": {
"defaults": {
@@ -137,9 +134,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample counter metric.",
"fieldConfig": {
"defaults": {
@@ -230,9 +224,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample error metric.",
"fieldConfig": {
"defaults": {
@@ -323,9 +314,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample event rate metric.",
"fieldConfig": {
"defaults": {
@@ -416,9 +404,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample resource utilization metric.",
"fieldConfig": {
"defaults": {
@@ -508,9 +493,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample memory allocation metrics.",
"fieldConfig": {
"defaults": {
@@ -611,9 +593,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample utilization percentage.",
"fieldConfig": {
"defaults": {
@@ -683,9 +662,6 @@
"type": "row"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample latency metric for primary operations.",
"fieldConfig": {
"defaults": {
@@ -772,9 +748,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample latency metric for secondary operations.",
"fieldConfig": {
"defaults": {
@@ -861,9 +834,6 @@
"type": "timeseries"
},
{
"datasource": {
"uid": "${example_datasource}"
},
"description": "Sample expansion events metric.",
"fieldConfig": {
"defaults": {

View File

@@ -39,10 +39,6 @@
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 12,
@@ -65,10 +61,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 12,
@@ -159,10 +151,6 @@
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 8,
@@ -185,10 +173,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 8,
@@ -211,10 +195,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 8,
@@ -249,10 +229,6 @@
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 16,
@@ -275,10 +251,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 8,
@@ -314,10 +286,6 @@
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 24,

View File

@@ -39,10 +39,6 @@
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 12,
@@ -65,10 +61,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 12,
@@ -159,10 +151,6 @@
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 8,
@@ -185,10 +173,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 8,
@@ -211,10 +195,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 8,
@@ -249,10 +229,6 @@
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 16,
@@ -275,10 +251,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 8,
@@ -314,10 +286,6 @@
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 24,

View File

@@ -41,10 +41,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 24,
@@ -82,10 +78,6 @@
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -111,10 +103,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -140,10 +128,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"fieldConfig": {
"defaults": {
"thresholds": {
@@ -190,10 +174,6 @@
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "${loki}"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -222,10 +202,6 @@
"type": "logs"
},
{
"datasource": {
"type": "loki",
"uid": "${loki}"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -254,10 +230,6 @@
"type": "logs"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -283,10 +255,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Number of concurrent processing threads available for handling operations",
"gridPos": {
"h": 7,
@@ -312,10 +280,6 @@
"type": "stat"
},
{
"datasource": {
"type": "tempo",
"uid": "${tempo}"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -360,10 +324,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Histogram showing p99, p95, p50, and p10 percentiles for job processing duration based on number of resources changed",
"fieldConfig": {
"defaults": {
@@ -465,10 +425,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Histogram showing p99, p95, p50, and p10 percentiles for job processing duration based on number of resources changed",
"gridPos": {
"h": 7,
@@ -521,10 +477,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Total number of jobs waiting to be processed",
"gridPos": {
"h": 7,
@@ -550,10 +502,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"fieldConfig": {
"defaults": {
"unit": "s"
@@ -584,10 +532,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "How long a job is in the queue before being picked up",
"gridPos": {
"h": 7,
@@ -640,10 +584,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -669,10 +609,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -697,10 +633,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -743,10 +675,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"gridPos": {
"h": 7,
"w": 8,

View File

@@ -41,10 +41,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 24,
@@ -82,10 +78,6 @@
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -111,10 +103,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -140,10 +128,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"fieldConfig": {
"defaults": {
"thresholds": {
@@ -190,10 +174,6 @@
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "${loki}"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -222,10 +202,6 @@
"type": "logs"
},
{
"datasource": {
"type": "loki",
"uid": "${loki}"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -254,10 +230,6 @@
"type": "logs"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -283,10 +255,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Number of concurrent processing threads available for handling operations",
"gridPos": {
"h": 7,
@@ -312,10 +280,6 @@
"type": "stat"
},
{
"datasource": {
"type": "tempo",
"uid": "${tempo}"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -360,10 +324,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Histogram showing p99, p95, p50, and p10 percentiles for job processing duration based on number of resources changed",
"fieldConfig": {
"defaults": {
@@ -465,10 +425,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Histogram showing p99, p95, p50, and p10 percentiles for job processing duration based on number of resources changed",
"gridPos": {
"h": 7,
@@ -521,10 +477,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "Total number of jobs waiting to be processed",
"gridPos": {
"h": 7,
@@ -550,10 +502,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"fieldConfig": {
"defaults": {
"unit": "s"
@@ -584,10 +532,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"description": "How long a job is in the queue before being picked up",
"gridPos": {
"h": 7,
@@ -640,10 +584,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -669,10 +609,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -697,10 +633,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"gridPos": {
"h": 7,
"w": 8,
@@ -743,10 +675,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${prom}"
},
"gridPos": {
"h": 7,
"w": 8,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
@@ -53,10 +49,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
@@ -79,10 +71,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 6,
@@ -105,10 +93,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 4,
@@ -131,10 +115,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 8,
@@ -157,10 +137,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 6,
@@ -183,10 +159,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 24,
@@ -209,10 +181,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 24,
@@ -235,10 +203,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 6,
@@ -261,10 +225,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
@@ -53,10 +49,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
@@ -79,10 +71,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 6,
@@ -105,10 +93,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 4,
@@ -131,10 +115,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 8,
@@ -157,10 +137,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 6,
@@ -183,10 +159,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 6,
"w": 24,
@@ -209,10 +181,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 24,
@@ -235,10 +203,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 6,
@@ -261,10 +225,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 4,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -75,10 +71,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -106,10 +98,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -138,10 +126,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -176,10 +160,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -75,10 +71,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -106,10 +98,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -138,10 +126,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -176,10 +160,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -59,10 +55,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -91,10 +83,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -123,10 +111,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -156,10 +140,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -188,10 +168,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -59,10 +55,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -91,10 +83,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -123,10 +111,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -156,10 +140,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -188,10 +168,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -54,10 +50,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -81,10 +73,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -107,10 +95,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -54,10 +50,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -81,10 +73,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -107,10 +95,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
@@ -66,10 +62,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
@@ -110,10 +102,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 24,
@@ -156,10 +144,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
@@ -202,10 +186,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
@@ -66,10 +62,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
@@ -110,10 +102,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 24,
@@ -156,10 +144,6 @@
"type": "gauge"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
@@ -202,10 +186,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -64,10 +60,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -105,10 +97,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -148,10 +136,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -181,10 +165,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -64,10 +60,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -105,10 +97,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -148,10 +136,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -181,10 +165,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests basic migration with default style pattern (/.*/) containing thresholds and colors. Should convert styles to fieldConfig.defaults with threshold steps.",
"gridPos": {
"h": 3,
@@ -61,10 +57,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests comprehensive migration including: default style with thresholds/colors/unit/decimals/align/colorMode, column overrides with exact name and regex patterns, date formatting, hidden columns, and links with tooltips.",
"gridPos": {
"h": 3,
@@ -88,10 +80,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests migration of timeseries_aggregations transform to reduce transformation with column mappings (avg-\u003emean, max-\u003emax, min-\u003emin, total-\u003esum, current-\u003elastNotNull, count-\u003ecount).",
"gridPos": {
"h": 3,
@@ -115,10 +103,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests migration of timeseries_to_rows transform to seriesToRows transformation.",
"gridPos": {
"h": 3,
@@ -142,10 +126,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests migration of timeseries_to_columns transform to seriesToColumns transformation.",
"gridPos": {
"h": 3,
@@ -169,10 +149,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests migration of table transform to merge transformation. Also tests auto alignment conversion to empty string.",
"gridPos": {
"h": 3,
@@ -196,10 +172,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests that existing transformations are preserved and new transformation from old format is appended to the list.",
"gridPos": {
"h": 3,
@@ -236,10 +208,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests handling of mixed numeric and string threshold values (int, string, float) with proper type conversion.",
"gridPos": {
"h": 3,
@@ -263,10 +231,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests all color mode mappings: cell-\u003ecolor-background, row-\u003ecolor-background, value-\u003ecolor-text.",
"gridPos": {
"h": 3,
@@ -290,10 +254,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests all alignment options: left, center, right, and auto (should convert to empty string).",
"gridPos": {
"h": 3,
@@ -317,10 +277,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests both field matcher types: byName for exact matches and byRegexp for regex patterns.",
"gridPos": {
"h": 3,
@@ -344,10 +300,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests various link configurations: with and without tooltip, with and without target blank.",
"gridPos": {
"h": 3,
@@ -371,10 +323,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests various date format patterns and aliases.",
"gridPos": {
"h": 3,
@@ -398,10 +346,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "React table (table2) should not be migrated. Properties should remain unchanged.",
"gridPos": {
"h": 3,
@@ -425,10 +369,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Angular table without styles property should not be migrated.",
"gridPos": {
"h": 3,
@@ -452,10 +392,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Non-table panels should remain completely unchanged.",
"gridPos": {
"h": 3,
@@ -479,10 +415,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Other panel types should not be affected by table migration.",
"gridPos": {
"h": 3,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests basic migration with default style pattern (/.*/) containing thresholds and colors. Should convert styles to fieldConfig.defaults with threshold steps.",
"gridPos": {
"h": 3,
@@ -61,10 +57,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests comprehensive migration including: default style with thresholds/colors/unit/decimals/align/colorMode, column overrides with exact name and regex patterns, date formatting, hidden columns, and links with tooltips.",
"gridPos": {
"h": 3,
@@ -88,10 +80,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests migration of timeseries_aggregations transform to reduce transformation with column mappings (avg-\u003emean, max-\u003emax, min-\u003emin, total-\u003esum, current-\u003elastNotNull, count-\u003ecount).",
"gridPos": {
"h": 3,
@@ -115,10 +103,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests migration of timeseries_to_rows transform to seriesToRows transformation.",
"gridPos": {
"h": 3,
@@ -142,10 +126,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests migration of timeseries_to_columns transform to seriesToColumns transformation.",
"gridPos": {
"h": 3,
@@ -169,10 +149,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests migration of table transform to merge transformation. Also tests auto alignment conversion to empty string.",
"gridPos": {
"h": 3,
@@ -196,10 +172,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests that existing transformations are preserved and new transformation from old format is appended to the list.",
"gridPos": {
"h": 3,
@@ -236,10 +208,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests handling of mixed numeric and string threshold values (int, string, float) with proper type conversion.",
"gridPos": {
"h": 3,
@@ -263,10 +231,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests all color mode mappings: cell-\u003ecolor-background, row-\u003ecolor-background, value-\u003ecolor-text.",
"gridPos": {
"h": 3,
@@ -290,10 +254,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests all alignment options: left, center, right, and auto (should convert to empty string).",
"gridPos": {
"h": 3,
@@ -317,10 +277,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests both field matcher types: byName for exact matches and byRegexp for regex patterns.",
"gridPos": {
"h": 3,
@@ -344,10 +300,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests various link configurations: with and without tooltip, with and without target blank.",
"gridPos": {
"h": 3,
@@ -371,10 +323,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests various date format patterns and aliases.",
"gridPos": {
"h": 3,
@@ -398,10 +346,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "React table (table2) should not be migrated. Properties should remain unchanged.",
"gridPos": {
"h": 3,
@@ -425,10 +369,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Angular table without styles property should not be migrated.",
"gridPos": {
"h": 3,
@@ -452,10 +392,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Non-table panels should remain completely unchanged.",
"gridPos": {
"h": 3,
@@ -479,10 +415,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Other panel types should not be affected by table migration.",
"gridPos": {
"h": 3,

View File

@@ -33,10 +33,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -59,10 +55,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -33,10 +33,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -59,10 +55,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -79,10 +71,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -79,10 +71,6 @@
"type": "text"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -60,10 +56,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -86,10 +78,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -119,10 +107,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -60,10 +56,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -86,10 +78,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -119,10 +107,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -60,10 +56,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -93,10 +85,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -119,10 +107,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -152,10 +136,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -179,10 +159,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "PD8C576611E62080A"
},
"gridPos": {
"h": 8,
"w": 8,
@@ -206,10 +182,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"mappings": [
@@ -277,10 +249,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "PD8C576611E62080A"
},
"gridPos": {
"h": 8,
"w": 8,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -60,10 +56,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -93,10 +85,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -119,10 +107,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -152,10 +136,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -179,10 +159,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "PD8C576611E62080A"
},
"gridPos": {
"h": 8,
"w": 8,
@@ -206,10 +182,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "PD8C576611E62080A"
},
"fieldConfig": {
"defaults": {
"mappings": [
@@ -277,10 +249,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "PD8C576611E62080A"
},
"gridPos": {
"h": 8,
"w": 8,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -79,10 +71,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -105,10 +93,6 @@
"type": "barchart"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -79,10 +71,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -105,10 +93,6 @@
"type": "barchart"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"mappings": [
@@ -129,10 +125,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -159,10 +151,6 @@
"type": "xychart"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -190,10 +178,6 @@
"type": "xychart2"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -220,10 +204,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"mappings": [
@@ -325,10 +305,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"unit": "bytes"
@@ -361,10 +337,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"overrides": [
{

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"mappings": [
@@ -129,10 +125,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -159,10 +151,6 @@
"type": "xychart"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -190,10 +178,6 @@
"type": "xychart2"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -220,10 +204,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"mappings": [
@@ -325,10 +305,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"unit": "bytes"
@@ -361,10 +337,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"overrides": [
{

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -63,10 +59,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -107,10 +99,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -161,10 +149,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -187,10 +171,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -279,10 +259,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -63,10 +59,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -107,10 +99,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -161,10 +149,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -187,10 +171,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -279,10 +259,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -33,10 +33,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -75,10 +71,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -33,10 +33,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -75,10 +71,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Tests v33 migration behavior when panel datasource is explicitly null. Should remain null after migration (returnDefaultAsNull: true).",
"gridPos": {
"h": 3,
@@ -55,10 +51,6 @@
"type": "stat"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests v33 migration behavior when panel datasource is already a proper object reference. Should remain unchanged.",
"gridPos": {
"h": 3,
@@ -83,10 +75,6 @@
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Tests v33 migration when panel datasource is a string name. Should convert to proper object with uid, type, apiVersion.",
"gridPos": {
"h": 3,
@@ -110,10 +98,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests v33 migration when panel has datasource string but empty targets array. Panel datasource should still migrate.",
"gridPos": {
"h": 3,
@@ -299,10 +283,6 @@
"id": -1,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Nested panel with string datasource should migrate to proper object reference, proving row panel recursion works.",
"gridPos": {
"h": 3,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Tests v33 migration behavior when panel datasource is explicitly null. Should remain null after migration (returnDefaultAsNull: true).",
"gridPos": {
"h": 3,
@@ -55,10 +51,6 @@
"type": "stat"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests v33 migration behavior when panel datasource is already a proper object reference. Should remain unchanged.",
"gridPos": {
"h": 3,
@@ -83,10 +75,6 @@
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "non-default-test-ds-uid"
},
"description": "Tests v33 migration when panel datasource is a string name. Should convert to proper object with uid, type, apiVersion.",
"gridPos": {
"h": 3,
@@ -110,10 +98,6 @@
"type": "table"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests v33 migration when panel has datasource string but empty targets array. Panel datasource should still migrate.",
"gridPos": {
"h": 3,
@@ -299,10 +283,6 @@
"id": -1,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Nested panel with string datasource should migrate to proper object reference, proving row panel recursion works.",
"gridPos": {
"h": 3,

View File

@@ -289,10 +289,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -359,10 +355,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -394,10 +386,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -504,10 +492,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -538,10 +522,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -646,10 +626,6 @@
"id": -1,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -713,10 +689,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -766,10 +738,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -801,10 +769,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -854,10 +818,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -889,10 +849,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -971,10 +927,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -1054,10 +1006,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -289,10 +289,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -359,10 +355,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -394,10 +386,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -504,10 +492,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -538,10 +522,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -646,10 +626,6 @@
"id": -1,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -713,10 +689,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -766,10 +738,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -801,10 +769,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -854,10 +818,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -889,10 +849,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -971,10 +927,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -1054,10 +1006,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "prometheus"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
@@ -74,10 +70,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
@@ -133,10 +125,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
@@ -166,10 +154,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
@@ -199,10 +183,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -225,10 +205,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -251,10 +227,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"unit": "bytes"
@@ -282,10 +254,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
@@ -74,10 +70,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
@@ -133,10 +125,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
@@ -166,10 +154,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {
@@ -199,10 +183,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -225,10 +205,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -251,10 +227,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"unit": "bytes"
@@ -282,10 +254,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"fieldConfig": {
"defaults": {
"custom": {

View File

@@ -77,10 +77,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests null panel datasource migration with targets - should fallback to default",
"gridPos": {
"h": 3,
@@ -104,10 +100,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests null panel datasource with empty targets array - should create default target",
"gridPos": {
"h": 3,
@@ -131,10 +123,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests null panel datasource with missing targets - should create default target array",
"gridPos": {
"h": 3,
@@ -192,10 +180,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel with already migrated datasource object - should preserve existing refs",
"gridPos": {
"h": 3,
@@ -219,10 +203,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "unknown-target-datasource"
},
"description": "Tests panel with unknown datasource - should preserve as UID-only reference",
"gridPos": {
"h": 3,
@@ -280,10 +260,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel inheriting datasource from target when panel datasource was default",
"gridPos": {
"h": 3,
@@ -307,10 +283,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel with datasource referenced by name - should migrate to full object",
"gridPos": {
"h": 3,
@@ -334,10 +306,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel with datasource referenced by UID - should migrate to full object",
"gridPos": {
"h": 3,
@@ -377,10 +345,6 @@
"id": -1,
"panels": [
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Nested panel in collapsed row with default datasource",
"gridPos": {
"h": 3,
@@ -404,10 +368,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Nested panel in collapsed row with unknown datasource",
"gridPos": {
"h": 3,

View File

@@ -77,10 +77,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests null panel datasource migration with targets - should fallback to default",
"gridPos": {
"h": 3,
@@ -104,10 +100,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests null panel datasource with empty targets array - should create default target",
"gridPos": {
"h": 3,
@@ -131,10 +123,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"description": "Tests null panel datasource with missing targets - should create default target array",
"gridPos": {
"h": 3,
@@ -192,10 +180,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel with already migrated datasource object - should preserve existing refs",
"gridPos": {
"h": 3,
@@ -219,10 +203,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "unknown-target-datasource"
},
"description": "Tests panel with unknown datasource - should preserve as UID-only reference",
"gridPos": {
"h": 3,
@@ -280,10 +260,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel inheriting datasource from target when panel datasource was default",
"gridPos": {
"h": 3,
@@ -307,10 +283,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel with datasource referenced by name - should migrate to full object",
"gridPos": {
"h": 3,
@@ -334,10 +306,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Tests panel with datasource referenced by UID - should migrate to full object",
"gridPos": {
"h": 3,
@@ -377,10 +345,6 @@
"id": -1,
"panels": [
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Nested panel in collapsed row with default datasource",
"gridPos": {
"h": 3,
@@ -404,10 +368,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "elasticsearch",
"uid": "existing-target-uid"
},
"description": "Nested panel in collapsed row with unknown datasource",
"gridPos": {
"h": 3,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -79,10 +71,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -79,10 +71,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -79,10 +71,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -27,10 +27,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -53,10 +49,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,
@@ -79,10 +71,6 @@
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 3,
"w": 6,

View File

@@ -49,10 +49,6 @@
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,
@@ -76,10 +72,6 @@
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "default-ds-uid"
},
"gridPos": {
"h": 8,
"w": 12,

Some files were not shown because too many files have changed in this diff Show More