Skip to content

Commit

Permalink
[Logs] Deprecation warning for Logs Explorer and Logs Stream (elastic…
Browse files Browse the repository at this point in the history
…#199652)

## 📓 Summary

Closes elastic/observability-dev#4070

- Update the deprecation callouts to suggest that the user use Discover.
- Replace the beta badge in Logs Explorer with a deprecation notice.
- Mark the advanced setting to enable the log stream to be deprecated.

<img width="844" alt="Screenshot 2024-11-11 at 15 22 51"
src="https://github.com/user-attachments/assets/5f8a4858-cad5-4d75-9868-d1c9d54a9ce5">

---------

Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>
Co-authored-by: Mike Birnstiehl <114418652+mdbirnstiehl@users.noreply.github.com>
(cherry picked from commit 9975c55)

# Conflicts:
#	x-pack/plugins/observability_solution/infra/public/components/logs_deprecation_callout.tsx
  • Loading branch information
tonyghiani committed Nov 13, 2024
1 parent 6e12600 commit 52cd0a7
Show file tree
Hide file tree
Showing 7 changed files with 65 additions and 63 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,13 @@ export const uiSettings: Record<string, UiSettingsParams> = {
description: i18n.translate('xpack.infra.enableLogsStreamDescription', {
defaultMessage: 'Enables the legacy Logs Stream application and dashboard panel. ',
}),
deprecation: {
message: i18n.translate('xpack.infra.enableLogsStreamDeprecationWarning', {
defaultMessage:
'Logs Stream is deprecated, and this setting will be removed in Kibana 9.0.',
}),
docLinksKey: 'generalSettings',
},
type: 'boolean',
schema: schema.boolean(),
requiresPageReload: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,40 +9,32 @@ import { EuiCallOut } from '@elastic/eui';
import React, { useMemo } from 'react';
import { i18n } from '@kbn/i18n';
import { EuiButton } from '@elastic/eui';
import {
AllDatasetsLocatorParams,
ALL_DATASETS_LOCATOR_ID,
DatasetLocatorParams,
OBSERVABILITY_LOGS_EXPLORER_APP_ID,
} from '@kbn/deeplinks-observability';
import { OBSERVABILITY_LOGS_EXPLORER_APP_ID } from '@kbn/deeplinks-observability';
import { getRouterLinkProps } from '@kbn/router-utils';
import useLocalStorage from 'react-use/lib/useLocalStorage';

import { euiThemeVars } from '@kbn/ui-theme';
import { css } from '@emotion/css';
import { LocatorPublic } from '@kbn/share-plugin/common';
import useObservable from 'react-use/lib/useObservable';
import { AppStatus } from '@kbn/core/public';
import { map } from 'rxjs';
import { DISCOVER_APP_LOCATOR, DiscoverAppLocatorParams } from '@kbn/discover-plugin/common';
import { useKibanaContextForPlugin } from '../hooks/use_kibana';

const pageConfigurations = {
stream: {
dismissalStorageKey: 'log_stream_deprecation_callout_dismissed',
message: i18n.translate('xpack.infra.logsDeprecationCallout.p.theNewLogsExplorerLabel', {
message: i18n.translate('xpack.infra.logsDeprecationCallout.stream.exploreWithDiscover', {
defaultMessage:
'The new Logs Explorer makes viewing and inspecting your logs easier with more features, better performance, and more intuitive navigation. We recommend switching to Logs Explorer, as it will replace Logs Stream in a future version.',
'Logs Stream and Logs Explorer are set to be deprecated. Switch to Discover which now includes their functionality plus more features, better performance, and more intuitive navigation. ',
}),
},
settings: {
dismissalStorageKey: 'log_settings_deprecation_callout_dismissed',
message: i18n.translate(
'xpack.infra.logsSettingsDeprecationCallout.p.theNewLogsExplorerLabel',
{
defaultMessage:
'These settings only apply to the legacy Logs Stream app, and we do not recommend configuring them. Instead, use Logs Explorer which makes viewing and inspecting your logs easier with more features, better performance, and more intuitive navigation.',
}
),
message: i18n.translate('xpack.infra.logsDeprecationCallout.settings.exploreWithDiscover', {
defaultMessage:
'These settings only apply to the legacy Logs Stream app. Switch to Discover for the same functionality plus more features, better performance, and more intuitive navigation.',
}),
},
};

Expand Down Expand Up @@ -74,13 +66,11 @@ export const LogsDeprecationCallout = ({ page }: LogsDeprecationCalloutProps) =>

const [isDismissed, setDismissed] = useLocalStorage(dismissalStorageKey, false);

if (isDismissed || !isLogsExplorerAppAccessible) {
const discoverLocator = share.url.locators.get<DiscoverAppLocatorParams>(DISCOVER_APP_LOCATOR);
if (isDismissed || !discoverLocator || !isLogsExplorerAppAccessible) {
return null;
}

const allDatasetLocator =
share.url.locators.get<AllDatasetsLocatorParams>(ALL_DATASETS_LOCATOR_ID);

return (
<EuiCallOut
title={i18n.translate('xpack.infra.logsDeprecationCallout.euiCallOut.discoverANewLogLabel', {
Expand All @@ -95,19 +85,19 @@ export const LogsDeprecationCallout = ({ page }: LogsDeprecationCalloutProps) =>
<p>{message}</p>
<EuiButton
fill
data-test-subj="infraLogsDeprecationCalloutTryLogsExplorerButton"
data-test-subj="infraLogsDeprecationCalloutGoToDiscoverButton"
color="warning"
{...getLogsExplorerLinkProps(allDatasetLocator!)}
{...getDiscoverLinkProps(discoverLocator)}
>
{i18n.translate('xpack.infra.logsDeprecationCallout.tryLogsExplorerButtonLabel', {
defaultMessage: 'Try Logs Explorer',
{i18n.translate('xpack.infra.logsDeprecationCallout.goToDiscoverButtonLabel', {
defaultMessage: 'Go to Discover',
})}
</EuiButton>
</EuiCallOut>
);
};

const getLogsExplorerLinkProps = (locator: LocatorPublic<DatasetLocatorParams>) => {
const getDiscoverLinkProps = (locator: LocatorPublic<DiscoverAppLocatorParams>) => {
return getRouterLinkProps({
href: locator.getRedirectUrl({}),
onClick: () => locator.navigate({}),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,26 @@ export const observabilityAppTitle = i18n.translate(
}
);

export const betaBadgeTitle = i18n.translate('xpack.observabilityLogsExplorer.betaBadgeTitle', {
defaultMessage: 'Beta',
});
export const deprecationBadgeTitle = i18n.translate(
'xpack.observabilityLogsExplorer.deprecationBadgeTitle',
{
defaultMessage: 'Deprecation notice',
}
);

export const deprecationBadgeDescription = i18n.translate(
'xpack.observabilityLogsExplorer.deprecationBadgeDescription',
{
defaultMessage:
'Logs Stream and Logs Explorer are set to be deprecated. Switch to Discover which now includes their functionality plus more features and better performance.',
}
);

export const betaBadgeDescription = i18n.translate(
'xpack.observabilityLogsExplorer.betaBadgeDescription',
export const deprecationBadgeGuideline = i18n.translate(
'xpack.observabilityLogsExplorer.deprecationBadgeGuideline',
{
defaultMessage: 'This application is in beta and therefore subject to change.',
defaultMessage:
'You can temporarily access Logs Stream by re-enabling it in Advanced Settings.',
}
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,11 @@ import { LogsExplorerTabs } from '@kbn/discover-plugin/public';
import React, { useEffect, useState } from 'react';
import useObservable from 'react-use/lib/useObservable';
import { filter, take } from 'rxjs';
import { betaBadgeDescription, betaBadgeTitle } from '../../common/translations';
import {
deprecationBadgeDescription,
deprecationBadgeGuideline,
deprecationBadgeTitle,
} from '../../common/translations';
import { useKibanaContextForPlugin } from '../utils/use_kibana';
import { ConnectedDiscoverLink } from './discover_link';
import { FeedbackLink } from './feedback_link';
Expand Down Expand Up @@ -59,13 +63,7 @@ const ProjectTopNav = () => {
`}
>
<EuiHeaderSectionItem>
<EuiBetaBadge
size="s"
iconType="beta"
label={betaBadgeTitle}
tooltipContent={betaBadgeDescription}
alignment="middle"
/>
<DeprecationNoticeBadge />
</EuiHeaderSectionItem>
<EuiHeaderSectionItem>
<EuiHeaderLinks gutterSize="xs">
Expand Down Expand Up @@ -115,15 +113,6 @@ const ClassicTopNav = () => {
margin-left: ${euiThemeVars.euiSizeM};
`}
>
<EuiHeaderSectionItem>
<EuiBetaBadge
size="s"
iconType="beta"
label={betaBadgeTitle}
tooltipContent={betaBadgeDescription}
alignment="middle"
/>
</EuiHeaderSectionItem>
<EuiHeaderSectionItem>
<FeedbackLink />
</EuiHeaderSectionItem>
Expand All @@ -145,6 +134,9 @@ const ClassicTopNav = () => {
<EuiHeaderSection data-test-subj="logsExplorerHeaderMenu">
<EuiHeaderSectionItem>
<EuiHeaderLinks gutterSize="xs">
<EuiHeaderSectionItem>
<DeprecationNoticeBadge />
</EuiHeaderSectionItem>
<ConnectedDiscoverLink />
<ConditionalVerticalRule Component={ConnectedDatasetQualityLink()} />
<VerticalRule />
Expand All @@ -171,3 +163,19 @@ const ConditionalVerticalRule = ({ Component }: { Component: JSX.Element | null
{Component}
</>
);

const DeprecationNoticeBadge = () => (
<EuiBetaBadge
label={deprecationBadgeTitle}
color="subdued"
tooltipContent={
<>
{deprecationBadgeDescription}
<br />
<br />
{deprecationBadgeGuideline}
</>
}
alignment="middle"
/>
);
5 changes: 0 additions & 5 deletions x-pack/plugins/translations/translations/fr-FR.json
Original file line number Diff line number Diff line change
Expand Up @@ -24659,8 +24659,6 @@
"xpack.infra.logs.viewInContext.logsFromContainerTitle": "Les logs affichés proviennent du conteneur {container}",
"xpack.infra.logs.viewInContext.logsFromFileTitle": "Les logs affichés proviennent du fichier {file} et de l'hôte {host}",
"xpack.infra.logsDeprecationCallout.euiCallOut.discoverANewLogLabel": "Il existe une nouvelle (et meilleure) façon d'explorer vos logs !",
"xpack.infra.logsDeprecationCallout.p.theNewLogsExplorerLabel": "Le nouveau Logs Explorer facilite la visualisation et l'inspection de vos journaux et propose davantage de fonctionnalités, des performances supérieures ainsi qu’une navigation plus intuitive. Nous vous recommandons de passer à Logs Explorer, car il remplacera Logs Stream dans une version ultérieure.",
"xpack.infra.logsDeprecationCallout.tryLogsExplorerButtonLabel": "Essayer Logs Explorer",
"xpack.infra.logsHeaderAddDataButtonLabel": "Ajouter des données",
"xpack.infra.logSourceConfiguration.childFormElementErrorMessage": "L'état d'au moins un champ du formulaire est non valide.",
"xpack.infra.logSourceConfiguration.dataViewDescription": "Vue de données contenant les données de log",
Expand Down Expand Up @@ -24693,7 +24691,6 @@
"xpack.infra.logSourceErrorPage.tryAgainButtonLabel": "Réessayer",
"xpack.infra.logsPage.toolbar.kqlSearchFieldPlaceholder": "Recherche d'entrées de log… (par ex. host.name:host-1)",
"xpack.infra.logsPage.toolbar.logFilterErrorToastTitle": "Erreur de filtrage du log",
"xpack.infra.logsSettingsDeprecationCallout.p.theNewLogsExplorerLabel": "Ces paramètres s'appliquent uniquement à l'ancienne application Logs Stream et nous vous déconseillons de les configurer. Utilisez plutôt le nouveau Logs Explorer qui facilite la visualisation et l'inspection de vos logs et propose davantage de fonctionnalités, des performances supérieures ainsi qu'une navigation plus intuitive.",
"xpack.infra.logsSettingsPage.loadingButtonLabel": "Chargement",
"xpack.infra.logsStreamEmbeddable.deprecationWarningDescription": "La maintenance des panneaux de flux de logs n'est plus assurée. Essayez d'utiliser {savedSearchDocsLink} pour une visualisation similaire.",
"xpack.infra.logsStreamEmbeddable.deprecationWarningDescription.savedSearchesLinkLabel": "recherches enregistrées",
Expand Down Expand Up @@ -34683,8 +34680,6 @@
"xpack.observabilityLogsExplorer.alertsPopover.createSLOMenuItem": "Créer un SLO",
"xpack.observabilityLogsExplorer.alertsPopover.manageRulesMenuItem": "{canCreateRule, select, true{Gérer} other{Afficher}} les règles",
"xpack.observabilityLogsExplorer.appTitle": "Explorateur de logs",
"xpack.observabilityLogsExplorer.betaBadgeDescription": "Il s'agit du stade bêta de l'application, qui est donc susceptible d'évoluer.",
"xpack.observabilityLogsExplorer.betaBadgeTitle": "Bêta",
"xpack.observabilityLogsExplorer.createSlo": "Créer un SLO",
"xpack.observabilityLogsExplorer.datasetQualityLinkTitle": "Ensembles de données",
"xpack.observabilityLogsExplorer.discoverLinkTitle": "Ouvrir dans Discover",
Expand Down
5 changes: 0 additions & 5 deletions x-pack/plugins/translations/translations/ja-JP.json
Original file line number Diff line number Diff line change
Expand Up @@ -24633,8 +24633,6 @@
"xpack.infra.logs.viewInContext.logsFromContainerTitle": "表示されたログはコンテナー{container}から取得されました",
"xpack.infra.logs.viewInContext.logsFromFileTitle": "表示されたログは、ファイル{file}およびホスト{host}から取得されました",
"xpack.infra.logsDeprecationCallout.euiCallOut.discoverANewLogLabel": "ログの探索には、新しく、もっと効果的な方法があります。",
"xpack.infra.logsDeprecationCallout.p.theNewLogsExplorerLabel": "新しいログエクスプローラーには、追加機能、パフォーマンスの改善、さらに直感的なナビゲーションが導入され、ログの表示と調査がさらに簡単になりました。将来のバージョンでは、ログストリームに取って代わるため、ログエクスプローラーを使用することをお勧めします。",
"xpack.infra.logsDeprecationCallout.tryLogsExplorerButtonLabel": "ログエクスプローラーを試す",
"xpack.infra.logsHeaderAddDataButtonLabel": "データの追加",
"xpack.infra.logSourceConfiguration.childFormElementErrorMessage": "1つ以上のフォームフィールドが無効な状態です。",
"xpack.infra.logSourceConfiguration.dataViewDescription": "ログデータを含むデータビュー",
Expand Down Expand Up @@ -24666,7 +24664,6 @@
"xpack.infra.logSourceErrorPage.tryAgainButtonLabel": "再試行",
"xpack.infra.logsPage.toolbar.kqlSearchFieldPlaceholder": "ログエントリーを検索中…(例:host.name:host-1)",
"xpack.infra.logsPage.toolbar.logFilterErrorToastTitle": "ログフィルターエラー",
"xpack.infra.logsSettingsDeprecationCallout.p.theNewLogsExplorerLabel": "これらの設定はレガシーログストリームアプリにのみ適用されます。これらを構成することはお勧めしません。代わりに、新しいログエクスプローラーを使用してください。追加機能、パフォーマンスの改善、さらに直感的なナビゲーションが導入され、ログの表示と調査がさらに簡単になりました。",
"xpack.infra.logsSettingsPage.loadingButtonLabel": "読み込み中",
"xpack.infra.logsStreamEmbeddable.deprecationWarningDescription": "ログストリームパネルは管理されていません。{savedSearchDocsLink}を同様の視覚化に活用してください。",
"xpack.infra.logsStreamEmbeddable.deprecationWarningDescription.savedSearchesLinkLabel": "保存された検索",
Expand Down Expand Up @@ -34653,8 +34650,6 @@
"xpack.observabilityLogsExplorer.alertsPopover.createSLOMenuItem": "SLOの作成",
"xpack.observabilityLogsExplorer.alertsPopover.manageRulesMenuItem": "ルールを{canCreateRule, select, true{管理} other{表示}}",
"xpack.observabilityLogsExplorer.appTitle": "ログエクスプローラー",
"xpack.observabilityLogsExplorer.betaBadgeDescription": "このアプリケーションはベータ版であるため、変更される場合があります。",
"xpack.observabilityLogsExplorer.betaBadgeTitle": "ベータ",
"xpack.observabilityLogsExplorer.createSlo": "SLOの作成",
"xpack.observabilityLogsExplorer.datasetQualityLinkTitle": "データセット",
"xpack.observabilityLogsExplorer.discoverLinkTitle": "Discoverで開く",
Expand Down
5 changes: 0 additions & 5 deletions x-pack/plugins/translations/translations/zh-CN.json
Original file line number Diff line number Diff line change
Expand Up @@ -24687,8 +24687,6 @@
"xpack.infra.logs.viewInContext.logsFromContainerTitle": "显示的日志来自容器 {container}",
"xpack.infra.logs.viewInContext.logsFromFileTitle": "显示的日志来自文件 {file} 和主机 {host}",
"xpack.infra.logsDeprecationCallout.euiCallOut.discoverANewLogLabel": "这是浏览日志的更有效的新方法!",
"xpack.infra.logsDeprecationCallout.p.theNewLogsExplorerLabel": "新的日志浏览器具有更多功能,更优异的性能和更直观的导航,便于您更轻松地查看和检查日志。建议您切换到日志浏览器,因为它将在未来版本中替代日志流。",
"xpack.infra.logsDeprecationCallout.tryLogsExplorerButtonLabel": "试用日志浏览器",
"xpack.infra.logsHeaderAddDataButtonLabel": "添加数据",
"xpack.infra.logSourceConfiguration.childFormElementErrorMessage": "至少一个表单字段处于无效状态。",
"xpack.infra.logSourceConfiguration.dataViewDescription": "包含日志数据的数据视图",
Expand Down Expand Up @@ -24721,7 +24719,6 @@
"xpack.infra.logSourceErrorPage.tryAgainButtonLabel": "重试",
"xpack.infra.logsPage.toolbar.kqlSearchFieldPlaceholder": "搜索日志条目……(例如 host.name:host-1)",
"xpack.infra.logsPage.toolbar.logFilterErrorToastTitle": "日志筛选错误",
"xpack.infra.logsSettingsDeprecationCallout.p.theNewLogsExplorerLabel": "这些设置仅适用于旧版日志流应用,不建议配置它们。相反,应使用具有更多功能,更优异的性能和更直观的导航,便于您更轻松地查看和检查日志的日志浏览器。",
"xpack.infra.logsSettingsPage.loadingButtonLabel": "正在加载",
"xpack.infra.logsStreamEmbeddable.deprecationWarningDescription": "将不再维护日志流面板。尝试将 {savedSearchDocsLink} 用于类似可视化。",
"xpack.infra.logsStreamEmbeddable.deprecationWarningDescription.savedSearchesLinkLabel": "已保存的搜索",
Expand Down Expand Up @@ -34720,8 +34717,6 @@
"xpack.observabilityLogsExplorer.alertsPopover.createSLOMenuItem": "创建 SLO",
"xpack.observabilityLogsExplorer.alertsPopover.manageRulesMenuItem": "{canCreateRule, select, true{管理} other{查看}}规则",
"xpack.observabilityLogsExplorer.appTitle": "日志浏览器",
"xpack.observabilityLogsExplorer.betaBadgeDescription": "此应用程序为公测版,因此可能会进行更改。",
"xpack.observabilityLogsExplorer.betaBadgeTitle": "公测版",
"xpack.observabilityLogsExplorer.createSlo": "创建 SLO",
"xpack.observabilityLogsExplorer.datasetQualityLinkTitle": "数据集",
"xpack.observabilityLogsExplorer.discoverLinkTitle": "在 Discover 中打开",
Expand Down

0 comments on commit 52cd0a7

Please sign in to comment.