mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
# Backport This will backport the following commits from `main` to `8.6`: - [[Discover] Track adhoc data views usage (#144244)](https://github.com/elastic/kibana/pull/144244) <!--- Backport version: 8.9.7 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Dmitry Tomashevich","email":"39378793+dimaanj@users.noreply.github.com"},"sourceCommit":{"committedDate":"2022-11-17T11:29:35Z","message":"[Discover] Track adhoc data views usage (#144244)\n\n## Summary\r\n\r\nCloses #141090\r\n\r\nThis PR enabled metrics for adhoc data views usage in Discover.\r\n\r\nCo-authored-by: Julia Rechkunova <julia.rechkunova@elastic.co>","sha":"2454fd01b08767b31f25fe4674ac92b9633606f6","branchLabelMapping":{"^v8.7.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:Discover","release_note:skip","auto-backport","Team:DataDiscovery","v8.6.0","v8.7.0"],"number":144244,"url":"https://github.com/elastic/kibana/pull/144244","mergeCommit":{"message":"[Discover] Track adhoc data views usage (#144244)\n\n## Summary\r\n\r\nCloses #141090\r\n\r\nThis PR enabled metrics for adhoc data views usage in Discover.\r\n\r\nCo-authored-by: Julia Rechkunova <julia.rechkunova@elastic.co>","sha":"2454fd01b08767b31f25fe4674ac92b9633606f6"}},"sourceBranch":"main","suggestedTargetBranches":["8.6"],"targetPullRequestStates":[{"branch":"8.6","label":"v8.6.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.7.0","labelRegex":"^v8.7.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/144244","number":144244,"mergeCommit":{"message":"[Discover] Track adhoc data views usage (#144244)\n\n## Summary\r\n\r\nCloses #141090\r\n\r\nThis PR enabled metrics for adhoc data views usage in Discover.\r\n\r\nCo-authored-by: Julia Rechkunova <julia.rechkunova@elastic.co>","sha":"2454fd01b08767b31f25fe4674ac92b9633606f6"}}]}] BACKPORT--> Co-authored-by: Dmitry Tomashevich <39378793+dimaanj@users.noreply.github.com>
This commit is contained in:
parent
03042acde8
commit
cbdfade7e8
4 changed files with 18 additions and 2 deletions
|
@ -9,6 +9,7 @@
|
|||
import { useCallback, useEffect, useState } from 'react';
|
||||
import type { DataView, DataViewsContract } from '@kbn/data-views-plugin/public';
|
||||
import { SavedSearch } from '@kbn/saved-search-plugin/public';
|
||||
import { METRIC_TYPE } from '@kbn/analytics';
|
||||
import {
|
||||
UPDATE_FILTER_REFERENCES_ACTION,
|
||||
UPDATE_FILTER_REFERENCES_TRIGGER,
|
||||
|
@ -16,6 +17,7 @@ import {
|
|||
import { ActionExecutionContext } from '@kbn/ui-actions-plugin/public';
|
||||
import type { FilterManager } from '@kbn/data-plugin/public';
|
||||
import type { ToastsStart } from '@kbn/core-notifications-browser';
|
||||
import { ADHOC_DATA_VIEW_RENDER_EVENT } from '../../../constants';
|
||||
import { getUiActions } from '../../../kibana_services';
|
||||
import { useConfirmPersistencePrompt } from '../../../hooks/use_confirm_persistence_prompt';
|
||||
import { GetStateReturn } from '../services/discover_state';
|
||||
|
@ -29,6 +31,7 @@ export const useAdHocDataViews = ({
|
|||
filterManager,
|
||||
dataViews,
|
||||
toastNotifications,
|
||||
trackUiMetric,
|
||||
}: {
|
||||
dataView: DataView;
|
||||
savedSearch: SavedSearch;
|
||||
|
@ -37,6 +40,7 @@ export const useAdHocDataViews = ({
|
|||
dataViews: DataViewsContract;
|
||||
filterManager: FilterManager;
|
||||
toastNotifications: ToastsStart;
|
||||
trackUiMetric?: (metricType: string, eventName: string | string[], count?: number) => void;
|
||||
}) => {
|
||||
const [adHocDataViewList, setAdHocDataViewList] = useState<DataView[]>(
|
||||
!dataView.isPersisted() ? [dataView] : []
|
||||
|
@ -48,8 +52,9 @@ export const useAdHocDataViews = ({
|
|||
const existing = prev.find((prevDataView) => prevDataView.id === dataView.id);
|
||||
return existing ? prev : [...prev, dataView];
|
||||
});
|
||||
trackUiMetric?.(METRIC_TYPE.COUNT, ADHOC_DATA_VIEW_RENDER_EVENT);
|
||||
}
|
||||
}, [dataView]);
|
||||
}, [dataView, trackUiMetric]);
|
||||
|
||||
/**
|
||||
* Takes care of checking data view id references in filters
|
||||
|
|
|
@ -44,7 +44,8 @@ export function useDiscoverState({
|
|||
setExpandedDoc: (doc?: DataTableRecord) => void;
|
||||
dataViewList: DataViewListItem[];
|
||||
}) {
|
||||
const { uiSettings, data, filterManager, dataViews, toastNotifications } = services;
|
||||
const { uiSettings, data, filterManager, dataViews, toastNotifications, trackUiMetric } =
|
||||
services;
|
||||
const useNewFieldsApi = useMemo(() => !uiSettings.get(SEARCH_FIELDS_FROM_SOURCE), [uiSettings]);
|
||||
const { timefilter } = data.query.timefilter;
|
||||
|
||||
|
@ -133,6 +134,7 @@ export function useDiscoverState({
|
|||
setUrlTracking,
|
||||
filterManager,
|
||||
toastNotifications,
|
||||
trackUiMetric,
|
||||
});
|
||||
|
||||
const [savedDataViewList, setSavedDataViewList] = useState(initialDataViewList);
|
||||
|
|
|
@ -6,4 +6,6 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
export const ADHOC_DATA_VIEW_RENDER_EVENT = 'ad_hoc_data_view';
|
||||
|
||||
export const SEARCH_SESSION_ID_QUERY_PARAM = 'searchSessionId';
|
||||
|
|
|
@ -34,6 +34,7 @@ import { DataView, DataViewField } from '@kbn/data-views-plugin/public';
|
|||
import { UiActionsStart } from '@kbn/ui-actions-plugin/public';
|
||||
import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public';
|
||||
import { SavedSearch } from '@kbn/saved-search-plugin/public';
|
||||
import { METRIC_TYPE } from '@kbn/analytics';
|
||||
import { getSortForEmbeddable, SortPair } from '../utils/sorting';
|
||||
import { RecordRawType } from '../application/main/hooks/use_saved_search';
|
||||
import { buildDataTableRecord } from '../utils/build_data_record';
|
||||
|
@ -60,6 +61,7 @@ import { updateSearchSource } from './utils/update_search_source';
|
|||
import { FieldStatisticsTable } from '../application/main/components/field_stats_table';
|
||||
import { getRawRecordType } from '../application/main/utils/get_raw_record_type';
|
||||
import { fetchSql } from '../application/main/utils/fetch_sql';
|
||||
import { ADHOC_DATA_VIEW_RENDER_EVENT } from '../constants';
|
||||
|
||||
export type SearchProps = Partial<DiscoverGridProps> &
|
||||
Partial<DocTableProps> & {
|
||||
|
@ -302,6 +304,11 @@ export class SavedSearchEmbeddable
|
|||
}
|
||||
const sort = this.getSort(this.savedSearch.sort, dataView);
|
||||
|
||||
if (!dataView.isPersisted()) {
|
||||
// one used adhoc data view
|
||||
this.services.trackUiMetric?.(METRIC_TYPE.COUNT, ADHOC_DATA_VIEW_RENDER_EVENT);
|
||||
}
|
||||
|
||||
const props: SearchProps = {
|
||||
columns: this.savedSearch.columns,
|
||||
savedSearchId: this.savedSearch.id,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue