From 216ecd774e7c041e806dfa624d456716f4c1fbfb Mon Sep 17 00:00:00 2001 From: Katerina Date: Wed, 8 May 2024 13:30:30 +0300 Subject: [PATCH] [APM] Add advanced setting for enabling multi signal views in APM (#182862) ## Summary close #182678 key: `observability:apmEnableMultiSignal` ![image](https://github.com/elastic/kibana/assets/3369346/d45a60f2-4d7e-42d8-9a29-2af69bcb0326) --- .../settings/setting_ids/index.ts | 1 + .../settings/observability_project/index.ts | 1 + .../server/collectors/management/schema.ts | 4 ++++ .../server/collectors/management/types.ts | 1 + src/plugins/telemetry/schema/oss_plugins.json | 6 ++++++ .../observability/common/ui_settings_keys.ts | 1 + .../observability/server/ui_settings.ts | 18 ++++++++++++++++++ 7 files changed, 32 insertions(+) diff --git a/packages/kbn-management/settings/setting_ids/index.ts b/packages/kbn-management/settings/setting_ids/index.ts index f4a30dac6cb12..93646978aa1a6 100644 --- a/packages/kbn-management/settings/setting_ids/index.ts +++ b/packages/kbn-management/settings/setting_ids/index.ts @@ -139,6 +139,7 @@ export const OBSERVABILITY_APM_ENABLE_SERVICE_INVENTORY_TABLE_SEARCH_BAR = 'observability:apmEnableServiceInventoryTableSearchBar'; export const OBSERVABILITY_LOGS_EXPLORER_ALLOWED_DATA_VIEWS_ID = 'observability:logsExplorer:allowedDataViews'; +export const OBSERVABILITY_APM_ENABLE_MULTI_SIGNAL = 'observability:apmEnableMultiSignal'; // Reporting settings export const XPACK_REPORTING_CUSTOM_PDF_LOGO_ID = 'xpackReporting:customPdfLogo'; diff --git a/packages/serverless/settings/observability_project/index.ts b/packages/serverless/settings/observability_project/index.ts index b6cd0a21fb0f3..e9b5ceeee5eed 100644 --- a/packages/serverless/settings/observability_project/index.ts +++ b/packages/serverless/settings/observability_project/index.ts @@ -32,4 +32,5 @@ export const OBSERVABILITY_PROJECT_SETTINGS = [ settings.OBSERVABILITY_LOGS_EXPLORER_ALLOWED_DATA_VIEWS_ID, settings.OBSERVABILITY_APM_ENABLE_TABLE_SEARCH_BAR, settings.OBSERVABILITY_APM_ENABLE_SERVICE_INVENTORY_TABLE_SEARCH_BAR, + settings.OBSERVABILITY_APM_ENABLE_MULTI_SIGNAL, ]; diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts index 1cf68fdf92f36..fc4786dd5ca3f 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts @@ -468,6 +468,10 @@ export const stackManagementSchema: MakeSchemaFrom = { type: 'boolean', _meta: { description: 'Non-default value of setting.' }, }, + 'observability:apmEnableMultiSignal': { + type: 'boolean', + _meta: { description: 'Non-default value of setting.' }, + }, 'observability:apmAWSLambdaPriceFactor': { type: 'text', _meta: { description: 'Non-default value of setting.' }, diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts index 8464207aaa1d6..bc1c315edae29 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts @@ -161,6 +161,7 @@ export interface UsageStats { 'observability:apmTraceExplorerTab': boolean; 'observability:apmEnableCriticalPath': boolean; 'observability:apmEnableProfilingIntegration': boolean; + 'observability:apmEnableMultiSignal': boolean; 'observability:profilingShowErrorFrames': boolean; 'securitySolution:enableGroupedNav': boolean; 'securitySolution:showRelatedIntegrations': boolean; diff --git a/src/plugins/telemetry/schema/oss_plugins.json b/src/plugins/telemetry/schema/oss_plugins.json index 9810432cc3ab3..717e5ebabbe1b 100644 --- a/src/plugins/telemetry/schema/oss_plugins.json +++ b/src/plugins/telemetry/schema/oss_plugins.json @@ -10167,6 +10167,12 @@ "description": "Non-default value of setting." } }, + "observability:apmEnableMultiSignal": { + "type": "boolean", + "_meta": { + "description": "Non-default value of setting." + } + }, "observability:apmAWSLambdaPriceFactor": { "type": "text", "_meta": { diff --git a/x-pack/plugins/observability_solution/observability/common/ui_settings_keys.ts b/x-pack/plugins/observability_solution/observability/common/ui_settings_keys.ts index 87f60b977691c..46bbfa2c08757 100644 --- a/x-pack/plugins/observability_solution/observability/common/ui_settings_keys.ts +++ b/x-pack/plugins/observability_solution/observability/common/ui_settings_keys.ts @@ -24,6 +24,7 @@ export const enableInfrastructureAssetCustomDashboards = export const enableAwsLambdaMetrics = 'observability:enableAwsLambdaMetrics'; export const enableAgentExplorerView = 'observability:apmAgentExplorerView'; export const apmEnableTableSearchBar = 'observability:apmEnableTableSearchBar'; +export const apmEnableMultiSignal = 'observability:apmEnableMultiSignal'; export const apmEnableServiceInventoryTableSearchBar = 'observability:apmEnableServiceInventoryTableSearchBar'; export const apmAWSLambdaPriceFactor = 'observability:apmAWSLambdaPriceFactor'; diff --git a/x-pack/plugins/observability_solution/observability/server/ui_settings.ts b/x-pack/plugins/observability_solution/observability/server/ui_settings.ts index 2b5468e0715f8..6ce519dbbc496 100644 --- a/x-pack/plugins/observability_solution/observability/server/ui_settings.ts +++ b/x-pack/plugins/observability_solution/observability/server/ui_settings.ts @@ -21,6 +21,7 @@ import { apmLabsButton, enableAgentExplorerView, apmEnableTableSearchBar, + apmEnableMultiSignal, enableAwsLambdaMetrics, apmAWSLambdaPriceFactor, apmAWSLambdaRequestCostPerMillion, @@ -326,6 +327,23 @@ export const uiSettings: Record = { requiresPageReload: true, type: 'boolean', }, + [apmEnableMultiSignal]: { + category: [observabilityFeatureId], + name: i18n.translate('xpack.observability.apmEnableMultiSignal', { + defaultMessage: 'Multi signal APM', + }), + description: i18n.translate('xpack.observability.apmEnableMultiSignalDescription', { + defaultMessage: + '{technicalPreviewLabel} Enable the multi-signal feature in APM, which allows you to monitor services from logs and traces.', + values: { + technicalPreviewLabel: `[${technicalPreviewLabel}]`, + }, + }), + schema: schema.boolean(), + value: false, + requiresPageReload: true, + type: 'boolean', + }, [apmEnableServiceInventoryTableSearchBar]: { category: [observabilityFeatureId], name: i18n.translate('xpack.observability.apmEnableServiceInventoryTableSearchBar', {