Logs: Add new Controls component to Explore (#103401)

* ControlledLogRows: create component

* Fix imports

* ControlledLogRows: handle scroll events

* Rename storage key prop

* LogListControls: externally control syntax highlighting

* ControlledLogRows: add support for level filtering

* Logs: implement deduplication from controls

* Fix imports

* Create feature flag

* Use feature flag

* LogListControls: add download button

* LogsMetaRow: extract download function to logs utils

* Filter and download logs

* Update tests with new props

* LogList: pass logs and logs meta to context

* Remove prefix from downloaded file

* Update unit tests

* LogListControl: update unit tests

* Fix type assertion

* Fix imports

* Formatting

* i18n

* Fix test

* LogListControls: adjust scroll to top styles

* LogListContext: control legacy options

* LogListControls: add showUniqueLabels and prettifyJSON options

* LogListControls: test new controls

* Extract translations

* Hide old controls by feature flag

* LogListControls: update prettify json copy

* ControlledLogRows: disable preview

* Prettier

* LogListControls: Fix test
This commit is contained in:
Matias Chomicki
2025-04-07 16:38:55 +02:00
committed by GitHub
parent e9ed7223a6
commit e2a6f9a849
22 changed files with 766 additions and 255 deletions
+8
View File
@@ -1823,6 +1823,14 @@ var (
Owner: grafanaPluginsPlatformSquad,
FrontendOnly: false,
},
{
Name: "logsPanelControls",
Description: "Enables a control component for the logs panel in Explore",
Stage: FeatureStagePrivatePreview,
FrontendOnly: true,
Owner: grafanaObservabilityLogsSquad,
Expression: "false",
},
}
)
+1
View File
@@ -239,3 +239,4 @@ alertingRuleRecoverDeleted,GA,@grafana/alerting-squad,false,false,true
xrayApplicationSignals,experimental,@grafana/aws-datasources,false,false,true
multiTenantTempCredentials,experimental,@grafana/aws-datasources,false,false,false
localizationForPlugins,experimental,@grafana/plugins-platform-backend,false,false,false
logsPanelControls,privatePreview,@grafana/observability-logs,false,false,true
1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
239 xrayApplicationSignals experimental @grafana/aws-datasources false false true
240 multiTenantTempCredentials experimental @grafana/aws-datasources false false false
241 localizationForPlugins experimental @grafana/plugins-platform-backend false false false
242 logsPanelControls privatePreview @grafana/observability-logs false false true
+4
View File
@@ -966,4 +966,8 @@ const (
// FlagLocalizationForPlugins
// Enables localization for plugins
FlagLocalizationForPlugins = "localizationForPlugins"
// FlagLogsPanelControls
// Enables a control component for the logs panel in Explore
FlagLogsPanelControls = "logsPanelControls"
)
+17
View File
@@ -1856,6 +1856,23 @@
"expression": "true"
}
},
{
"metadata": {
"name": "logsPanelControls",
"resourceVersion": "1743772342343",
"creationTimestamp": "2025-04-04T13:11:29Z",
"annotations": {
"grafana.app/updatedTimestamp": "2025-04-04 13:12:22.343052 +0000 UTC"
}
},
"spec": {
"description": "Enables a control component for the logs panel in Explore",
"stage": "privatePreview",
"codeowner": "@grafana/observability-logs",
"frontend": true,
"expression": "false"
}
},
{
"metadata": {
"name": "lokiExperimentalStreaming",