diff --git a/docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md b/docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md index 7571afd19c2..556a0ad684b 100644 --- a/docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md +++ b/docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md @@ -144,6 +144,7 @@ Experimental features might be changed or removed without prior notice. | `metricsSummary` | Enables metrics summary queries in the Tempo data source | | `featureToggleAdminPage` | Enable admin page for managing feature toggles from the Grafana front-end | | `permissionsFilterRemoveSubquery` | Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder | +| `aiGeneratedDashboardChanges` | Enable AI powered features for dashboards to auto-summary changes when saving | | `sseGroupByDatasource` | Send query to the same datasource in a single request when using server side expressions. The `cloudWatchBatchQueries` feature toggle should be enabled if this used with CloudWatch. | | `libraryPanelRBAC` | Enables RBAC support for library panels | | `wargamesTesting` | Placeholder feature flag for internal testing | diff --git a/packages/grafana-data/src/types/featureToggles.gen.ts b/packages/grafana-data/src/types/featureToggles.gen.ts index 7fe0246c23d..f506005041a 100644 --- a/packages/grafana-data/src/types/featureToggles.gen.ts +++ b/packages/grafana-data/src/types/featureToggles.gen.ts @@ -110,6 +110,7 @@ export interface FeatureToggles { alertingNoDataErrorExecution?: boolean; angularDeprecationUI?: boolean; dashgpt?: boolean; + aiGeneratedDashboardChanges?: boolean; reportingRetries?: boolean; sseGroupByDatasource?: boolean; libraryPanelRBAC?: boolean; diff --git a/pkg/services/featuremgmt/registry.go b/pkg/services/featuremgmt/registry.go index f204bcc5c62..e0ed2d04268 100644 --- a/pkg/services/featuremgmt/registry.go +++ b/pkg/services/featuremgmt/registry.go @@ -691,6 +691,13 @@ var ( FrontendOnly: true, Owner: grafanaDashboardsSquad, }, + { + Name: "aiGeneratedDashboardChanges", + Description: "Enable AI powered features for dashboards to auto-summary changes when saving", + Stage: FeatureStageExperimental, + FrontendOnly: true, + Owner: grafanaDashboardsSquad, + }, { Name: "reportingRetries", Description: "Enables rendering retries for the reporting feature", diff --git a/pkg/services/featuremgmt/toggles_gen.csv b/pkg/services/featuremgmt/toggles_gen.csv index b177d1d9f5d..e271f075a29 100644 --- a/pkg/services/featuremgmt/toggles_gen.csv +++ b/pkg/services/featuremgmt/toggles_gen.csv @@ -91,6 +91,7 @@ influxdbSqlSupport,GA,@grafana/observability-metrics,false,true,false alertingNoDataErrorExecution,GA,@grafana/alerting-squad,false,true,false angularDeprecationUI,GA,@grafana/plugins-platform-backend,false,false,true dashgpt,preview,@grafana/dashboards-squad,false,false,true +aiGeneratedDashboardChanges,experimental,@grafana/dashboards-squad,false,false,true reportingRetries,preview,@grafana/sharing-squad,false,true,false sseGroupByDatasource,experimental,@grafana/observability-metrics,false,false,false libraryPanelRBAC,experimental,@grafana/dashboards-squad,false,true,false diff --git a/pkg/services/featuremgmt/toggles_gen.go b/pkg/services/featuremgmt/toggles_gen.go index 2a0003e4a98..1e0efe5ca4e 100644 --- a/pkg/services/featuremgmt/toggles_gen.go +++ b/pkg/services/featuremgmt/toggles_gen.go @@ -375,6 +375,10 @@ const ( // Enable AI powered features in dashboards FlagDashgpt = "dashgpt" + // FlagAiGeneratedDashboardChanges + // Enable AI powered features for dashboards to auto-summary changes when saving + FlagAiGeneratedDashboardChanges = "aiGeneratedDashboardChanges" + // FlagReportingRetries // Enables rendering retries for the reporting feature FlagReportingRetries = "reportingRetries" diff --git a/pkg/services/featuremgmt/toggles_gen.json b/pkg/services/featuremgmt/toggles_gen.json index eb00277196b..29aa613186d 100644 --- a/pkg/services/featuremgmt/toggles_gen.json +++ b/pkg/services/featuremgmt/toggles_gen.json @@ -86,7 +86,7 @@ "name": "pluginsInstrumentationStatusSource", "resourceVersion": "1708108588074", "creationTimestamp": "2024-02-16T18:36:28Z", - "deletionTimestamp": "2024-02-29T08:27:47Z" + "deletionTimestamp": "2024-03-05T11:44:12Z" }, "spec": { "description": "Include a status source label for plugin request metrics and logs", @@ -514,7 +514,7 @@ "name": "displayAnonymousStats", "resourceVersion": "1708108588074", "creationTimestamp": "2024-02-16T18:36:28Z", - "deletionTimestamp": "2024-02-29T08:27:47Z" + "deletionTimestamp": "2024-03-05T11:44:12Z" }, "spec": { "description": "Enables anonymous stats to be shown in the UI for Grafana", @@ -1390,7 +1390,7 @@ "name": "traceToMetrics", "resourceVersion": "1708108588074", "creationTimestamp": "2024-02-16T18:36:28Z", - "deletionTimestamp": "2024-02-29T08:27:47Z" + "deletionTimestamp": "2024-03-05T11:44:12Z" }, "spec": { "description": "Enable trace to metrics links", @@ -1519,7 +1519,7 @@ "name": "splitScopes", "resourceVersion": "1708108588074", "creationTimestamp": "2024-02-16T18:36:28Z", - "deletionTimestamp": "2024-02-29T08:27:47Z" + "deletionTimestamp": "2024-03-05T11:44:12Z" }, "spec": { "description": "Support faster dashboard and folder search by splitting permission scopes into parts", @@ -1560,7 +1560,7 @@ "name": "externalServiceAuth", "resourceVersion": "1708108588074", "creationTimestamp": "2024-02-16T18:36:28Z", - "deletionTimestamp": "2024-02-29T08:27:47Z" + "deletionTimestamp": "2024-03-05T11:44:12Z" }, "spec": { "description": "Starts an OAuth2 authentication provider for external services", @@ -2136,6 +2136,19 @@ "stage": "experimental", "codeowner": "@grafana/grafana-app-platform-squad" } + }, + { + "metadata": { + "name": "aiGeneratedDashboardChanges", + "resourceVersion": "1709639042582", + "creationTimestamp": "2024-03-05T11:44:02Z" + }, + "spec": { + "description": "Enable AI powered features for dashboards to auto-summary changes when saving", + "stage": "experimental", + "codeowner": "@grafana/dashboards-squad", + "frontend": true + } } ] } \ No newline at end of file diff --git a/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.tsx b/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.tsx index f2faf077c86..3f4b172b5a4 100644 --- a/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.tsx +++ b/public/app/features/dashboard/components/SaveDashboard/forms/SaveDashboardForm.tsx @@ -89,7 +89,7 @@ export const SaveDashboardForm = ({ /> )}