diff --git a/x-pack/plugins/infra/public/common/asset_details_config/asset_details_tabs.tsx b/x-pack/plugins/infra/public/common/asset_details_config/asset_details_tabs.tsx
index 312ed7eb04a98..2bc3d5661e22b 100644
--- a/x-pack/plugins/infra/public/common/asset_details_config/asset_details_tabs.tsx
+++ b/x-pack/plugins/infra/public/common/asset_details_config/asset_details_tabs.tsx
@@ -6,7 +6,9 @@
*/
import { i18n } from '@kbn/i18n';
+import React from 'react';
import { ContentTabIds, type Tab } from '../../components/asset_details/types';
+import { NewBadge } from '../../components/new_badge';
export const commonFlyoutTabs: Tab[] = [
{
@@ -32,6 +34,7 @@ export const commonFlyoutTabs: Tab[] = [
name: i18n.translate('xpack.infra.metrics.nodeDetails.tabs.profiling', {
defaultMessage: 'Universal Profiling',
}),
+ append: ,
},
{
id: ContentTabIds.LOGS,
diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/cpu_profiling_prompt.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/cpu_profiling_prompt.tsx
index 291b255e7ce33..a3343b45808b1 100644
--- a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/cpu_profiling_prompt.tsx
+++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/cpu_profiling_prompt.tsx
@@ -8,8 +8,8 @@
import React from 'react';
import { i18n } from '@kbn/i18n';
import { EuiButtonEmpty } from '@elastic/eui';
-import { EuiBadge } from '@elastic/eui';
import { EuiFlexGroup } from '@elastic/eui';
+import { NewBadge } from '../../../../new_badge';
import { useProfilingIntegrationSetting } from '../../../../../hooks/use_profiling_integration_setting';
import { useTabSwitcherContext } from '../../../hooks/use_tab_switcher';
@@ -28,11 +28,7 @@ export function CpuProfilingPrompt() {
gutterSize="s"
data-test-subj="infraAssetDetailsCPUProfilingPrompt"
>
-
- {i18n.translate('xpack.infra.cpuProfilingPrompt.newBadgeLabel', {
- defaultMessage: 'NEW',
- })}
-
+
{i18n.translate('xpack.infra.cpuProfilingPrompt.p.viewCPUBreakdownUsingLabel', {
defaultMessage: 'View CPU Breakdown using',
diff --git a/x-pack/plugins/infra/public/components/asset_details/types.ts b/x-pack/plugins/infra/public/components/asset_details/types.ts
index dd3ae9af9d62e..346eda2bb3c32 100644
--- a/x-pack/plugins/infra/public/components/asset_details/types.ts
+++ b/x-pack/plugins/infra/public/components/asset_details/types.ts
@@ -60,6 +60,7 @@ export type RenderMode = FlyoutProps | FullPageProps;
export interface Tab {
id: ContentTabIds;
name: string;
+ append?: JSX.Element;
}
export type LinkOptions = 'alertRule' | 'nodeDetails' | 'apmServices';
diff --git a/x-pack/plugins/infra/public/components/new_badge.tsx b/x-pack/plugins/infra/public/components/new_badge.tsx
new file mode 100644
index 0000000000000..efbe026d8b7aa
--- /dev/null
+++ b/x-pack/plugins/infra/public/components/new_badge.tsx
@@ -0,0 +1,18 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { EuiBadge } from '@elastic/eui';
+import { i18n } from '@kbn/i18n';
+import React from 'react';
+
+export const NewBadge = () => (
+
+ {i18n.translate('xpack.infra.newBadgeLabel', {
+ defaultMessage: 'NEW',
+ })}
+
+);