From 3bd13bb3d89d9dd8d7f73544c31498bcc38a1716 Mon Sep 17 00:00:00 2001 From: Stratoula Date: Fri, 30 Jan 2026 11:41:21 +0100 Subject: [PATCH 1/4] [ES|QL] [Lens] Adds query stats --- .../main/components/top_nav/discover_topnav.tsx | 2 +- .../public/hooks}/use_esql_query_stats.test.ts | 0 .../public/hooks}/use_esql_query_stats.ts | 2 +- src/platform/plugins/shared/esql/public/index.ts | 1 + .../editor_frame/config_panel/esql_editor.tsx | 9 +++++++-- 5 files changed, 10 insertions(+), 4 deletions(-) rename src/platform/plugins/shared/{discover/public/application/main/components/top_nav => esql/public/hooks}/use_esql_query_stats.test.ts (100%) rename src/platform/plugins/shared/{discover/public/application/main/components/top_nav => esql/public/hooks}/use_esql_query_stats.ts (96%) diff --git a/src/platform/plugins/shared/discover/public/application/main/components/top_nav/discover_topnav.tsx b/src/platform/plugins/shared/discover/public/application/main/components/top_nav/discover_topnav.tsx index 1743a9ec09d3a..f9ccea807d09d 100644 --- a/src/platform/plugins/shared/discover/public/application/main/components/top_nav/discover_topnav.tsx +++ b/src/platform/plugins/shared/discover/public/application/main/components/top_nav/discover_topnav.tsx @@ -15,6 +15,7 @@ import { prepareDataViewForEditing, } from '@kbn/discover-utils'; import type { ESQLEditorRestorableState } from '@kbn/esql-editor'; +import { useESQLQueryStats } from '@kbn/esql/public'; import { type Filter, type Query, @@ -41,7 +42,6 @@ import { useInternalStateSelector, } from '../../state_management/redux'; import { DiscoverTopNavMenu } from './discover_topnav_menu'; -import { useESQLQueryStats } from './use_esql_query_stats'; import { ESQLToDataViewTransitionModal } from './esql_dataview_transition'; import { onSaveDiscoverSession } from './save_discover_session'; import { useDiscoverTopNav } from './use_discover_topnav'; diff --git a/src/platform/plugins/shared/discover/public/application/main/components/top_nav/use_esql_query_stats.test.ts b/src/platform/plugins/shared/esql/public/hooks/use_esql_query_stats.test.ts similarity index 100% rename from src/platform/plugins/shared/discover/public/application/main/components/top_nav/use_esql_query_stats.test.ts rename to src/platform/plugins/shared/esql/public/hooks/use_esql_query_stats.test.ts diff --git a/src/platform/plugins/shared/discover/public/application/main/components/top_nav/use_esql_query_stats.ts b/src/platform/plugins/shared/esql/public/hooks/use_esql_query_stats.ts similarity index 96% rename from src/platform/plugins/shared/discover/public/application/main/components/top_nav/use_esql_query_stats.ts rename to src/platform/plugins/shared/esql/public/hooks/use_esql_query_stats.ts index 636671b3b21fc..9b603719501af 100644 --- a/src/platform/plugins/shared/discover/public/application/main/components/top_nav/use_esql_query_stats.ts +++ b/src/platform/plugins/shared/esql/public/hooks/use_esql_query_stats.ts @@ -29,7 +29,7 @@ export function useESQLQueryStats( durationInMs: stats.queryTime?.value, totalDocumentsProcessed: stats.documentsProcessed?.value, }; - setQueryStats((currentStats) => { + setQueryStats((currentStats: ESQLQueryStats | undefined) => { if (!isEqual(currentStats, updatedStats)) { return updatedStats; } diff --git a/src/platform/plugins/shared/esql/public/index.ts b/src/platform/plugins/shared/esql/public/index.ts index 0732399e6d46f..6a58de4f6a700 100644 --- a/src/platform/plugins/shared/esql/public/index.ts +++ b/src/platform/plugins/shared/esql/public/index.ts @@ -11,6 +11,7 @@ import type { PluginInitializerContext } from '@kbn/core/public'; import { EsqlPlugin, type EsqlPluginStart } from './plugin'; export { ESQLLangEditor } from './create_editor'; +export { useESQLQueryStats } from './hooks/use_esql_query_stats'; export type { ESQLEditorProps, DataErrorsControl } from '@kbn/esql-editor'; export type { EsqlPluginStart }; diff --git a/x-pack/platform/plugins/shared/lens/public/editor_frame_service/editor_frame/config_panel/esql_editor.tsx b/x-pack/platform/plugins/shared/lens/public/editor_frame_service/editor_frame/config_panel/esql_editor.tsx index 76779d0b5953f..7ef285ff81c2a 100644 --- a/x-pack/platform/plugins/shared/lens/public/editor_frame_service/editor_frame/config_panel/esql_editor.tsx +++ b/x-pack/platform/plugins/shared/lens/public/editor_frame_service/editor_frame/config_panel/esql_editor.tsx @@ -15,8 +15,8 @@ import type { CoreStart, IUiSettingsClient } from '@kbn/core/public'; import { isEqual } from 'lodash'; import type { MutableRefObject } from 'react'; import { useCallback, useEffect, useRef, useState } from 'react'; -import { ESQLLangEditor } from '@kbn/esql/public'; -import { type ESQLControlVariable } from '@kbn/esql-types'; +import { ESQLLangEditor, useESQLQueryStats } from '@kbn/esql/public'; +import { type ESQLControlVariable, type ESQLQueryStats } from '@kbn/esql-types'; import { i18n } from '@kbn/i18n'; import React from 'react'; import type { DataViewSpec } from '@kbn/data-views-plugin/common'; @@ -116,6 +116,7 @@ export function ESQLEditor({ const previousAdapters = useRef | undefined>(lensAdapters); const { esqlVariables } = useFetchContext({ uuid: panelId, parentApi }); + const esqlQueryStats = useESQLQueryStats(isTextBasedLanguage, lensAdapters?.requests); const dispatch = useLensDispatch(); @@ -213,6 +214,7 @@ export function ESQLEditor({ isVisualizationLoading={isVisualizationLoading} setIsVisualizationLoading={setIsVisualizationLoading} esqlVariables={esqlVariables} + queryStats={esqlQueryStats} closeFlyout={closeFlyout} panelId={panelId} attributes={attributes} @@ -260,6 +262,7 @@ type InnerEditorProps = Simplify< suggestsLimitedColumns: boolean; adHocDataViews: DataViewSpec[]; esqlVariables: ESQLControlVariable[] | undefined; + queryStats?: ESQLQueryStats; } & Pick >; @@ -278,6 +281,7 @@ function InnerESQLEditor({ prevQuery, runQuery, esqlVariables, + queryStats, }: InnerEditorProps) { const { euiTheme } = useEuiTheme(); const { onSaveControl, onCancelControl } = useESQLVariables({ @@ -325,6 +329,7 @@ function InnerESQLEditor({ onCancelControl, }} esqlVariables={esqlVariables} + queryStats={queryStats} /> From 4795b38e904439954638aa98dd07185d62d0581a Mon Sep 17 00:00:00 2001 From: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 30 Jan 2026 10:56:01 +0000 Subject: [PATCH 2/4] Changes from node scripts/lint_ts_projects --fix --- src/platform/plugins/shared/discover/tsconfig.json | 1 + src/platform/plugins/shared/esql/tsconfig.json | 1 + 2 files changed, 2 insertions(+) diff --git a/src/platform/plugins/shared/discover/tsconfig.json b/src/platform/plugins/shared/discover/tsconfig.json index 20774101694f5..cef947c3db197 100644 --- a/src/platform/plugins/shared/discover/tsconfig.json +++ b/src/platform/plugins/shared/discover/tsconfig.json @@ -127,6 +127,7 @@ "@kbn/shared-ux-error-boundary", "@kbn/core-chrome-app-menu", "@kbn/es-query-constants", + "@kbn/esql", ], "exclude": ["target/**/*"] } diff --git a/src/platform/plugins/shared/esql/tsconfig.json b/src/platform/plugins/shared/esql/tsconfig.json index 1315e587c6028..5521826c9bf9c 100644 --- a/src/platform/plugins/shared/esql/tsconfig.json +++ b/src/platform/plugins/shared/esql/tsconfig.json @@ -39,6 +39,7 @@ "@kbn/file-upload-plugin", "@kbn/discover-utils", "@kbn/kql", + "@kbn/inspector-plugin", ], "exclude": [ "target/**/*", From 5ab1f02405c366c596da7eb5357b0f1986ba8a2d Mon Sep 17 00:00:00 2001 From: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 30 Jan 2026 11:08:29 +0000 Subject: [PATCH 3/4] Changes from node scripts/regenerate_moon_projects.js --update --- src/platform/plugins/shared/discover/moon.yml | 1 + src/platform/plugins/shared/esql/moon.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/src/platform/plugins/shared/discover/moon.yml b/src/platform/plugins/shared/discover/moon.yml index 767ebc8298ba4..52f5a30087fd8 100644 --- a/src/platform/plugins/shared/discover/moon.yml +++ b/src/platform/plugins/shared/discover/moon.yml @@ -133,6 +133,7 @@ dependsOn: - '@kbn/shared-ux-error-boundary' - '@kbn/core-chrome-app-menu' - '@kbn/es-query-constants' + - '@kbn/esql' tags: - plugin - prod diff --git a/src/platform/plugins/shared/esql/moon.yml b/src/platform/plugins/shared/esql/moon.yml index 1110530e2a8b2..6bd094048caff 100644 --- a/src/platform/plugins/shared/esql/moon.yml +++ b/src/platform/plugins/shared/esql/moon.yml @@ -48,6 +48,7 @@ dependsOn: - '@kbn/file-upload-plugin' - '@kbn/discover-utils' - '@kbn/kql' + - '@kbn/inspector-plugin' tags: - plugin - prod From f496f2887836cb8dfc70fb9d41d43bd1fba4f098 Mon Sep 17 00:00:00 2001 From: Stratoula Date: Mon, 2 Feb 2026 09:30:31 +0100 Subject: [PATCH 4/4] Add esql bundle in Discover --- src/platform/plugins/shared/discover/kibana.jsonc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/platform/plugins/shared/discover/kibana.jsonc b/src/platform/plugins/shared/discover/kibana.jsonc index 2f72a39c27883..3f0f4f26540ad 100644 --- a/src/platform/plugins/shared/discover/kibana.jsonc +++ b/src/platform/plugins/shared/discover/kibana.jsonc @@ -56,7 +56,8 @@ "kibanaReact", "unifiedSearch", "savedObjects", - "presentationPanel" + "presentationPanel", + "esql" ], "extraPublicDirs": ["common"] }