Loki: Add lokiQueryChunkingOption feature flag (#65057)

* add `lokiQueryChunkingOption` feature flag

* be safe and also rely on `config.featureToggles.lokiQuerySplitting`

* renamed to `lokiQuerySplittingConfig`

* fix typo
This commit is contained in:
Sven Grossmann
2023-03-20 16:51:36 +01:00
committed by GitHub
parent c00c0a283e
commit 68551ac9ca
6 changed files with 15 additions and 1 deletions

View File

@@ -88,6 +88,7 @@ Alpha features might be changed or removed without prior notice.
| `editPanelCSVDragAndDrop` | Enables drag and drop for CSV and Excel files | | `editPanelCSVDragAndDrop` | Enables drag and drop for CSV and Excel files |
| `logsContextDatasourceUi` | Allow datasource to provide custom UI for context view | | `logsContextDatasourceUi` | Allow datasource to provide custom UI for context view |
| `lokiQuerySplitting` | Split large interval queries into subqueries with smaller time intervals | | `lokiQuerySplitting` | Split large interval queries into subqueries with smaller time intervals |
| `lokiQuerySplittingConfig` | Give users the option to configure split durations for Loki queries |
| `individualCookiePreferences` | Support overriding cookie preferences per user | | `individualCookiePreferences` | Support overriding cookie preferences per user |
| `drawerDataSourcePicker` | Changes the user experience for data source selection to a drawer. | | `drawerDataSourcePicker` | Changes the user experience for data source selection to a drawer. |
| `traceqlSearch` | Enables the 'TraceQL Search' tab for the Tempo datasource which provides a UI to generate TraceQL queries | | `traceqlSearch` | Enables the 'TraceQL Search' tab for the Tempo datasource which provides a UI to generate TraceQL queries |

View File

@@ -78,6 +78,7 @@ export interface FeatureToggles {
logsSampleInExplore?: boolean; logsSampleInExplore?: boolean;
logsContextDatasourceUi?: boolean; logsContextDatasourceUi?: boolean;
lokiQuerySplitting?: boolean; lokiQuerySplitting?: boolean;
lokiQuerySplittingConfig?: boolean;
individualCookiePreferences?: boolean; individualCookiePreferences?: boolean;
drawerDataSourcePicker?: boolean; drawerDataSourcePicker?: boolean;
traceqlSearch?: boolean; traceqlSearch?: boolean;

View File

@@ -400,6 +400,13 @@ var (
FrontendOnly: true, FrontendOnly: true,
Owner: grafanaObservabilityLogsSquad, Owner: grafanaObservabilityLogsSquad,
}, },
{
Name: "lokiQuerySplittingConfig",
Description: "Give users the option to configure split durations for Loki queries",
State: FeatureStateAlpha,
FrontendOnly: true,
Owner: grafanaObservabilityLogsSquad,
},
{ {
Name: "individualCookiePreferences", Name: "individualCookiePreferences",
Description: "Support overriding cookie preferences per user", Description: "Support overriding cookie preferences per user",

View File

@@ -59,6 +59,7 @@ alertingNoNormalState,beta,@grafana/alerting-squad,false,false,false,false
logsSampleInExplore,stable,@grafana/observability-logs,false,false,false,true logsSampleInExplore,stable,@grafana/observability-logs,false,false,false,true
logsContextDatasourceUi,alpha,@grafana/observability-logs,false,false,false,true logsContextDatasourceUi,alpha,@grafana/observability-logs,false,false,false,true
lokiQuerySplitting,alpha,@grafana/observability-logs,false,false,false,true lokiQuerySplitting,alpha,@grafana/observability-logs,false,false,false,true
lokiQuerySplittingConfig,alpha,@grafana/observability-logs,false,false,false,true
individualCookiePreferences,alpha,@grafana/backend-platform,false,false,false,false individualCookiePreferences,alpha,@grafana/backend-platform,false,false,false,false
drawerDataSourcePicker,alpha,@grafana/grafana-bi-squad,false,false,false,true drawerDataSourcePicker,alpha,@grafana/grafana-bi-squad,false,false,false,true
traceqlSearch,alpha,@grafana/observability-traces-and-profiling,false,false,false,true traceqlSearch,alpha,@grafana/observability-traces-and-profiling,false,false,false,true
1 Name State Owner requiresDevMode RequiresLicense RequiresRestart FrontendOnly
59 logsSampleInExplore stable @grafana/observability-logs false false false true
60 logsContextDatasourceUi alpha @grafana/observability-logs false false false true
61 lokiQuerySplitting alpha @grafana/observability-logs false false false true
62 lokiQuerySplittingConfig alpha @grafana/observability-logs false false false true
63 individualCookiePreferences alpha @grafana/backend-platform false false false false
64 drawerDataSourcePicker alpha @grafana/grafana-bi-squad false false false true
65 traceqlSearch alpha @grafana/observability-traces-and-profiling false false false true

View File

@@ -247,6 +247,10 @@ const (
// Split large interval queries into subqueries with smaller time intervals // Split large interval queries into subqueries with smaller time intervals
FlagLokiQuerySplitting = "lokiQuerySplitting" FlagLokiQuerySplitting = "lokiQuerySplitting"
// FlagLokiQuerySplittingConfig
// Give users the option to configure split durations for Loki queries
FlagLokiQuerySplittingConfig = "lokiQuerySplittingConfig"
// FlagIndividualCookiePreferences // FlagIndividualCookiePreferences
// Support overriding cookie preferences per user // Support overriding cookie preferences per user
FlagIndividualCookiePreferences = "individualCookiePreferences" FlagIndividualCookiePreferences = "individualCookiePreferences"

View File

@@ -110,7 +110,7 @@ export const LokiQueryBuilderOptions = React.memo<Props>(
aria-label="Select resolution" aria-label="Select resolution"
/> />
</EditorField> </EditorField>
{config.featureToggles.lokiQuerySplitting && ( {config.featureToggles.lokiQuerySplittingConfig && config.featureToggles.lokiQuerySplitting && (
<EditorField <EditorField
label="Chunk Duration" label="Chunk Duration"
tooltip="Defines the duration of a single query chunk when query chunking is used." tooltip="Defines the duration of a single query chunk when query chunking is used."