Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement new o11y nav hierarchy for serverless #193510

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
323 changes: 217 additions & 106 deletions x-pack/plugins/serverless_observability/public/navigation_tree.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,147 +70,258 @@ export const navigationTree: NavigationTreeDefinition = {
link: 'slo',
},
{
id: 'aiops',
title: 'AIOps',
link: 'ml:anomalyDetection',
renderAs: 'accordion',
spaceBefore: null,
link: 'observabilityAIAssistant',
title: i18n.translate('xpack.serverlessObservability.nav.aiAssistant', {
defaultMessage: 'AI Assistant',
}),
},
{ link: 'inventory', spaceBefore: 'm' },
{
id: 'apm',
title: i18n.translate('xpack.serverlessObservability.nav.applications', {
defaultMessage: 'Applications',
}),
renderAs: 'panelOpener',
children: [
{
title: i18n.translate('xpack.serverlessObservability.nav.ml.jobs', {
defaultMessage: 'Anomaly detection',
}),
link: 'ml:anomalyDetection',
id: 'ml:anomalyDetection',
renderAs: 'item',
children: [
{
link: 'ml:singleMetricViewer',
},
{
link: 'ml:anomalyExplorer',
link: 'apm:services',
title: i18n.translate('xpack.serverlessObservability.nav.apm.services', {
defaultMessage: 'Service inventory',
}),
},
{ link: 'apm:traces' },
{ link: 'apm:dependencies' },
{ link: 'apm:settings' },
{
link: 'ml:settings',
id: 'synthetics',
title: i18n.translate('xpack.serverlessObservability.nav.synthetics', {
defaultMessage: 'Synthetics',
}),
children: [
{
title: i18n.translate(
'xpack.serverlessObservability.nav.synthetics.overviewItem',
{
defaultMessage: 'Overview',
}
),
id: 'synthetics-overview',
link: 'synthetics:overview',
breadcrumbStatus: 'hidden',
},
{
link: 'synthetics:certificates',
title: i18n.translate(
'xpack.serverlessObservability.nav.synthetics.certificatesItem',
{
defaultMessage: 'TLS certificates',
}
),
id: 'synthetics-certificates',
breadcrumbStatus: 'hidden',
},
],
},
],
},
{
title: i18n.translate('xpack.serverlessObservability.ml.logRateAnalysis', {
defaultMessage: 'Log rate analysis',
}),
link: 'ml:logRateAnalysis',
getIsActive: ({ pathNameSerialized, prepend }) => {
return pathNameSerialized.includes(prepend('/app/ml/aiops/log_rate_analysis'));
},
},
{
title: i18n.translate('xpack.serverlessObservability.ml.changePointDetection', {
defaultMessage: 'Change point detection',
}),
link: 'ml:changePointDetections',
getIsActive: ({ pathNameSerialized, prepend }) => {
return pathNameSerialized.includes(prepend('/app/ml/aiops/change_point_detection'));
},
},
{
title: i18n.translate('xpack.serverlessObservability.nav.ml.job.notifications', {
defaultMessage: 'Job notifications',
}),
link: 'ml:notifications',
},
],
},
{ link: 'inventory', spaceBefore: 'm' },
{
id: 'apm',
title: i18n.translate('xpack.serverlessObservability.nav.applications', {
defaultMessage: 'Applications',
id: 'metrics',
title: i18n.translate('xpack.serverlessObservability.nav.infrastructure', {
defaultMessage: 'Infrastructure',
}),
link: 'apm:services',
renderAs: 'accordion',
renderAs: 'panelOpener',
children: [
{
link: 'apm:services',
getIsActive: ({ pathNameSerialized }) => {
const regex = /app\/apm\/.*service.*/;
return regex.test(pathNameSerialized);
},
},
{
link: 'apm:traces',
getIsActive: ({ pathNameSerialized, prepend }) => {
return pathNameSerialized.startsWith(prepend('/app/apm/traces'));
},
},
{
link: 'apm:dependencies',
getIsActive: ({ pathNameSerialized, prepend }) => {
return pathNameSerialized.startsWith(prepend('/app/apm/dependencies'));
},
},
{
link: 'apm:settings',
sideNavStatus: 'hidden', // only to be considered in the breadcrumbs
children: [
{
link: 'metrics:inventory',
title: i18n.translate(
'xpack.serverlessObservability.nav.infrastructureInventory',
{
defaultMessage: 'Infrastructure inventory',
}
),
},
{ link: 'metrics:hosts' },
{ link: 'metrics:settings' },
{ link: 'metrics:assetDetails' },
],
},
],
},
{
id: 'metrics',
title: i18n.translate('xpack.serverlessObservability.nav.infrastructure', {
defaultMessage: 'Infrastructure',
id: 'machine_learning-landing',
renderAs: 'panelOpener',
title: i18n.translate('xpack.serverlessObservability.nav.machineLearning', {
defaultMessage: 'Machine learning',
}),
link: 'metrics:inventory',
renderAs: 'accordion',
children: [
{
link: 'metrics:inventory',
getIsActive: ({ pathNameSerialized, prepend }) => {
return pathNameSerialized.startsWith(prepend('/app/metrics/inventory'));
},
children: [
{
link: 'ml:overview',
},
{
link: 'ml:notifications',
},
{
link: 'ml:memoryUsage',
title: i18n.translate(
'xpack.serverlessObservability.nav.machineLearning.memoryUsage',
{
defaultMessage: 'Memory usage',
}
),
},
],
},
{
link: 'metrics:hosts',
getIsActive: ({ pathNameSerialized, prepend }) => {
return pathNameSerialized.startsWith(prepend('/app/metrics/hosts'));
},
id: 'category-anomaly_detection',
title: i18n.translate('xpack.serverlessObservability.nav.ml.anomaly_detection', {
defaultMessage: 'Anomaly detection',
}),
breadcrumbStatus: 'hidden',
children: [
{
link: 'ml:anomalyDetection',
title: i18n.translate(
'xpack.serverlessObservability.nav.ml.anomaly_detection.jobs',
{
defaultMessage: 'Jobs',
}
),
},
{
link: 'ml:anomalyExplorer',
},
{
link: 'ml:singleMetricViewer',
},
{
link: 'ml:settings',
},
{
link: 'ml:suppliedConfigurations',
},
],
},
{
link: 'metrics:settings',
sideNavStatus: 'hidden', // only to be considered in the breadcrumbs
id: 'category-data_frame analytics',
title: i18n.translate('xpack.serverlessObservability.nav.ml.data_frame_analytics', {
defaultMessage: 'Data frame analytics',
}),
breadcrumbStatus: 'hidden',
children: [
{
link: 'ml:dataFrameAnalytics',
title: i18n.translate(
'xpack.serverlessObservability.nav.ml.data_frame_analytics.jobs',
{
defaultMessage: 'Jobs',
}
),
},
{
link: 'ml:resultExplorer',
},
{
link: 'ml:analyticsMap',
},
],
},
{
link: 'metrics:assetDetails',
sideNavStatus: 'hidden', // only to be considered in the breadcrumbs
id: 'category-model_management',
title: i18n.translate('xpack.serverlessObservability.nav.ml.model_management', {
defaultMessage: 'Model management',
}),
breadcrumbStatus: 'hidden',
children: [
{
link: 'ml:nodesOverview',
title: i18n.translate(
'xpack.serverlessObservability.nav.ml.model_management.trainedModels',
{
defaultMessage: 'Trained models',
}
),
},
],
},
],
},
{
id: 'synthetics',
title: i18n.translate('xpack.serverlessObservability.nav.synthetics', {
defaultMessage: 'Synthetics',
}),
renderAs: 'accordion',
breadcrumbStatus: 'hidden',
children: [
{
title: i18n.translate('xpack.serverlessObservability.nav.synthetics.overviewItem', {
defaultMessage: 'Overview',
id: 'category-data_visualizer',
title: i18n.translate('xpack.serverlessObservability.nav.ml.data_visualizer', {
defaultMessage: 'Data visualizer',
}),
id: 'synthetics-overview',
link: 'synthetics:overview',
breadcrumbStatus: 'hidden',
children: [
{
link: 'ml:fileUpload',
title: i18n.translate(
'xpack.serverlessObservability.nav.ml.data_visualizer.file_data_visualizer',
{
defaultMessage: 'File data visualizer',
}
),
},
{
link: 'ml:indexDataVisualizer',
title: i18n.translate(
'xpack.serverlessObservability.nav.ml.data_visualizer.data_view_data_visualizer',
{
defaultMessage: 'Data view data visualizer',
}
),
},
{
link: 'ml:dataDrift',
title: i18n.translate(
'xpack.serverlessObservability.nav.ml.data_visualizer.data_drift',
{
defaultMessage: 'Data drift',
}
),
},
],
},
{
link: 'synthetics:certificates',
title: i18n.translate(
'xpack.serverlessObservability.nav.synthetics.certificatesItem',
{
defaultMessage: 'TLS Certificates',
}
),
id: 'synthetics-certificates',
id: 'category-aiops_labs',
title: i18n.translate('xpack.serverlessObservability.nav.ml.aiops_labs', {
defaultMessage: 'Aiops labs',
}),
breadcrumbStatus: 'hidden',
children: [
{
link: 'ml:logRateAnalysis',
title: i18n.translate(
'xpack.serverlessObservability.nav.ml.aiops_labs.log_rate_analysis',
{
defaultMessage: 'Log rate analysis',
}
),
},
{
link: 'ml:logPatternAnalysis',
title: i18n.translate(
'xpack.serverlessObservability.nav.ml.aiops_labs.log_pattern_analysis',
{
defaultMessage: 'Log pattern analysis',
}
),
},
{
link: 'ml:changePointDetections',
title: i18n.translate(
'xpack.serverlessObservability.nav.ml.aiops_labs.change_point_detection',
{
defaultMessage: 'Change point detection',
}
),
},
],
},
],
},
Expand Down
4 changes: 0 additions & 4 deletions x-pack/plugins/translations/translations/fr-FR.json
Original file line number Diff line number Diff line change
Expand Up @@ -40606,16 +40606,12 @@
"xpack.serverless.nav.manageOrgMembersTitle": "Gérer les membres de l'organisation",
"xpack.serverlessObservability.aiAssistantManagementDescription": "Gérez vos réglages de l'Assistant d'IA pour Observability.",
"xpack.serverlessObservability.aiAssistantManagementTitle": "Réglages de l'Assistant d'IA pour Observability",
"xpack.serverlessObservability.ml.changePointDetection": "Modifier la détection du point",
"xpack.serverlessObservability.ml.logRateAnalysis": "Analyse du taux de log",
"xpack.serverlessObservability.nav.applications": "Applications",
"xpack.serverlessObservability.nav.dashboards": "Tableaux de bord",
"xpack.serverlessObservability.nav.devTools": "Outils de développeur",
"xpack.serverlessObservability.nav.discover": "Discover",
"xpack.serverlessObservability.nav.getStarted": "Ajouter des données",
"xpack.serverlessObservability.nav.infrastructure": "Infrastructure",
"xpack.serverlessObservability.nav.ml.job.notifications": "Notifications de tâches",
"xpack.serverlessObservability.nav.ml.jobs": "Détection des anomalies",
"xpack.serverlessObservability.nav.mngt": "Gestion",
"xpack.serverlessObservability.nav.projectSettings": "Paramètres de projet",
"xpack.serverlessObservability.nav.slo": "SLO",
Expand Down
4 changes: 0 additions & 4 deletions x-pack/plugins/translations/translations/ja-JP.json
Original file line number Diff line number Diff line change
Expand Up @@ -40349,16 +40349,12 @@
"xpack.serverless.nav.manageOrgMembersTitle": "組織メンバーを管理",
"xpack.serverlessObservability.aiAssistantManagementDescription": "AI assistant for Observability設定を管理します。",
"xpack.serverlessObservability.aiAssistantManagementTitle": "AI assistant for Observability設定",
"xpack.serverlessObservability.ml.changePointDetection": "変化点検出",
"xpack.serverlessObservability.ml.logRateAnalysis": "ログレート分析",
"xpack.serverlessObservability.nav.applications": "アプリケーション",
"xpack.serverlessObservability.nav.dashboards": "ダッシュボード",
"xpack.serverlessObservability.nav.devTools": "開発者ツール",
"xpack.serverlessObservability.nav.discover": "Discover",
"xpack.serverlessObservability.nav.getStarted": "データの追加",
"xpack.serverlessObservability.nav.infrastructure": "インフラストラクチャー",
"xpack.serverlessObservability.nav.ml.job.notifications": "ジョブ通知",
"xpack.serverlessObservability.nav.ml.jobs": "異常検知",
"xpack.serverlessObservability.nav.mngt": "管理",
"xpack.serverlessObservability.nav.projectSettings": "プロジェクト設定",
"xpack.serverlessObservability.nav.slo": "SLO",
Expand Down
Loading