From 60efb246e8cbfaa172e7a722f98a9377004e996e Mon Sep 17 00:00:00 2001 From: Caue Marcondes Date: Wed, 18 Jun 2025 13:07:16 -0400 Subject: [PATCH] [APM] integration new tail sampling settings --- .../observability/plugins/apm/common/fleet.ts | 2 + .../tail_sampling_settings.tsx | 46 +++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/x-pack/solutions/observability/plugins/apm/common/fleet.ts b/x-pack/solutions/observability/plugins/apm/common/fleet.ts index 5f64255c7ad54..0e66e4e111623 100644 --- a/x-pack/solutions/observability/plugins/apm/common/fleet.ts +++ b/x-pack/solutions/observability/plugins/apm/common/fleet.ts @@ -47,6 +47,8 @@ export const INPUT_VAR_NAME_TO_SCHEMA_PATH: Record = { tail_sampling_enabled: 'apm-server.sampling.tail.enabled', tail_sampling_interval: 'apm-server.sampling.tail.interval', tail_sampling_policies: 'apm-server.sampling.tail.policies', + tail_sampling_ttl: 'apm-server.sampling.tail.ttl', + tail_sampling_discard_on_write_failure: 'apm-server.sampling.tail.discard_on_write_failure', }; export const LEGACY_TO_CURRENT_SCHEMA_PATHS: Record = { diff --git a/x-pack/solutions/observability/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/tail_sampling_settings.tsx b/x-pack/solutions/observability/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/tail_sampling_settings.tsx index f2c50133d8969..cf65d19ded278 100644 --- a/x-pack/solutions/observability/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/tail_sampling_settings.tsx +++ b/x-pack/solutions/observability/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/tail_sampling_settings.tsx @@ -119,6 +119,52 @@ export function getTailSamplingSettings(docsLinks?: string): SettingsRow[] { required: false, validation: getStorageSizeRt({ min: '0GB' }), }, + { + key: 'tail_sampling_ttl', + type: 'duration', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.tailSampling.tailSamplingTTL', + { + defaultMessage: 'Tail sampling TTL (Time-to-live)', + } + ), + rowTitle: i18n.translate( + 'xpack.apm.fleet_integration.settings.tailSampling.tailSamplingTTLTitle', + { defaultMessage: 'TTL (Time-to-live)' } + ), + rowDescription: i18n.translate( + 'xpack.apm.fleet_integration.settings.tailSampling.tailSamplingTTLDescription', + { + defaultMessage: + 'Time-to-live (TTL) for trace events stored in the local storage of the APM Server during tail-based sampling. This TTL determines how long trace events are retained in the local storage while waiting for a sampling decision to be made. A greater TTL value increases storage space requirements. Should be at least 2 * Interval.', + } + ), + labelAppend: OPTIONAL_LABEL, + required: false, + validation: getDurationRt({ min: '1s' }), + }, + { + key: 'tail_sampling_discard_on_write_failure', + type: 'boolean', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.tailSampling.tailSamplingDiscardOnWriteFailure', + { + defaultMessage: 'Tail sampling discard on write failure', + } + ), + rowTitle: i18n.translate( + 'xpack.apm.fleet_integration.settings.tailSampling.tailSamplingDiscardOnWriteFailureTitle', + { defaultMessage: 'Discard on write failure' } + ), + rowDescription: i18n.translate( + 'xpack.apm.fleet_integration.settings.tailSampling.tailSamplingDiscardOnWriteFailureDescription', + { + defaultMessage: + 'Defines the indexing behavior when trace events fail to be written to storage (for example, when the storage limit is reached). When set to `false`, traces bypass sampling and are always indexed, which significantly increases the indexing load. When set to `true`, traces are discarded, causing data loss which can result in broken traces.', + } + ), + required: false, + }, ], }, ];