Explore Metrics: Explore Logs integration (#94656)

* initial logs integration

* rename back to Integrations

* remove comments

* connect related logs in metrics with logsIntegration service

* rename

* remove comments

* feat: related logs with loki expr

* fix: layout & var updates

* refactor: prefer scene state to context

* fix: limit DS select to relevant loki DSes

* refactor: use existing utils

* refactor: types

* fix: tests and types

* refactor: simplify

* refactor: prefer precise data updates

* refactor: prefer variable for key

* refactor: simplify panel search

* refactor: remove unnecessary short-circuit

* fix: ensure single network request for logs

* fix: add missing limit to fetched log lines

* refactor: add clarity

* refactor: organize imports

* feat: messaging for No Related Logs case

* fix: add missing space

* chore: add `exploreMetricsRelatedLogs` feature toggle

* feat: link to Explore Logs app

* fix: i18n

* fix: use sentence case consistent with design system

* style: avoid competing with metricscene buttons

* fix: capitalization for names

* fix: a11y

* refactor: clean up and document utils

* fix: formatting

* chore: run `make i18n-extract`

* test: improve coverage

* test: fix module resolution side-effects

* extract only the first rule

refactor: organize imports

* remove unnecessary test files

---------

Co-authored-by: Nick Richmond <nick.richmond@grafana.com>
This commit is contained in:
ismail simsek
2024-11-05 17:28:43 +01:00
committed by GitHub
co-authored by Nick Richmond
parent c7a7f7dce5
commit 82ac9e2bb6
18 changed files with 754 additions and 104 deletions
+8
View File
@@ -1570,6 +1570,14 @@ var (
Owner: grafanaAppPlatformSquad,
RequiresRestart: true,
},
{
Name: "exploreMetricsRelatedLogs",
Description: "Display Related Logs in Explore Metrics",
Stage: FeatureStageExperimental,
Owner: grafanaObservabilityMetricsSquad,
FrontendOnly: true,
HideFromDocs: true,
},
{
Name: "enableExtensionsAdminPage",
Description: "Enables the extension admin page regardless of development mode",
+1
View File
@@ -209,4 +209,5 @@ prometheusUsesCombobox,experimental,@grafana/observability-metrics,false,false,f
azureMonitorDisableLogLimit,GA,@grafana/partner-datasources,false,false,false
dashboardSchemaV2,experimental,@grafana/dashboards-squad,false,false,true
playlistsWatcher,experimental,@grafana/grafana-app-platform-squad,false,true,false
exploreMetricsRelatedLogs,experimental,@grafana/observability-metrics,false,false,true
enableExtensionsAdminPage,experimental,@grafana/plugins-platform-backend,false,true,false
1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
209 azureMonitorDisableLogLimit GA @grafana/partner-datasources false false false
210 dashboardSchemaV2 experimental @grafana/dashboards-squad false false true
211 playlistsWatcher experimental @grafana/grafana-app-platform-squad false true false
212 exploreMetricsRelatedLogs experimental @grafana/observability-metrics false false true
213 enableExtensionsAdminPage experimental @grafana/plugins-platform-backend false true false
+4
View File
@@ -847,6 +847,10 @@ const (
// Enables experimental watcher for playlists
FlagPlaylistsWatcher = "playlistsWatcher"
// FlagExploreMetricsRelatedLogs
// Display Related Logs in Explore Metrics
FlagExploreMetricsRelatedLogs = "exploreMetricsRelatedLogs"
// FlagEnableExtensionsAdminPage
// Enables the extension admin page regardless of development mode
FlagEnableExtensionsAdminPage = "enableExtensionsAdminPage"
+14
View File
@@ -1302,6 +1302,20 @@
"expression": "true"
}
},
{
"metadata": {
"name": "exploreMetricsRelatedLogs",
"resourceVersion": "1730125602673",
"creationTimestamp": "2024-10-28T14:26:42Z"
},
"spec": {
"description": "Display Related Logs in Explore Metrics",
"stage": "experimental",
"codeowner": "@grafana/observability-metrics",
"frontend": true,
"hideFromDocs": true
}
},
{
"metadata": {
"name": "expressionParser",