diff --git a/x-pack/plugins/security_solution/server/lib/telemetry/tasks/configuration.ts b/x-pack/plugins/security_solution/server/lib/telemetry/tasks/configuration.ts index 27dd32f5d48f..71e96e4c82c3 100644 --- a/x-pack/plugins/security_solution/server/lib/telemetry/tasks/configuration.ts +++ b/x-pack/plugins/security_solution/server/lib/telemetry/tasks/configuration.ts @@ -6,13 +6,14 @@ */ import type { Logger } from '@kbn/core/server'; +import { TASK_METRICS_CHANNEL } from '../constants'; import type { ITelemetryEventsSender } from '../sender'; import type { TelemetryConfiguration } from '../types'; import type { ITelemetryReceiver } from '../receiver'; import type { TaskExecutionPeriod } from '../task'; import { artifactService } from '../artifact'; import { telemetryConfiguration } from '../configuration'; -import { tlog } from '../helpers'; +import { createTaskMetric, tlog } from '../helpers'; export function createTelemetryConfigurationTaskConfig() { return { @@ -28,6 +29,8 @@ export function createTelemetryConfigurationTaskConfig() { sender: ITelemetryEventsSender, taskExecutionPeriod: TaskExecutionPeriod ) => { + const startTime = Date.now(); + const taskName = 'Security Solution Telemetry Configuration Task'; try { const artifactName = 'telemetry-buffer-and-batch-sizes-v1'; const configArtifact = (await artifactService.getArtifact( @@ -42,10 +45,16 @@ export function createTelemetryConfigurationTaskConfig() { configArtifact.max_endpoint_telemetry_batch; telemetryConfiguration.max_security_list_telemetry_batch = configArtifact.max_security_list_telemetry_batch; + await sender.sendOnDemand(TASK_METRICS_CHANNEL, [ + createTaskMetric(taskName, true, startTime), + ]); return 0; } catch (err) { tlog(logger, `Failed to set telemetry configuration due to ${err.message}`); telemetryConfiguration.resetAllToDefault(); + await sender.sendOnDemand(TASK_METRICS_CHANNEL, [ + createTaskMetric(taskName, false, startTime, err.message), + ]); return 0; } }, diff --git a/x-pack/plugins/security_solution/server/lib/telemetry/tasks/filterlists.ts b/x-pack/plugins/security_solution/server/lib/telemetry/tasks/filterlists.ts index 67a6c4d270b6..3919f3c8c7f4 100644 --- a/x-pack/plugins/security_solution/server/lib/telemetry/tasks/filterlists.ts +++ b/x-pack/plugins/security_solution/server/lib/telemetry/tasks/filterlists.ts @@ -6,13 +6,14 @@ */ import type { Logger } from '@kbn/core/server'; +import { TASK_METRICS_CHANNEL } from '../constants'; import type { ITelemetryEventsSender } from '../sender'; import type { TelemetryFilterListArtifact } from '../types'; import type { ITelemetryReceiver } from '../receiver'; import type { TaskExecutionPeriod } from '../task'; import { artifactService } from '../artifact'; import { filterList } from '../filterlists'; -import { tlog } from '../helpers'; +import { createTaskMetric, tlog } from '../helpers'; export function createTelemetryFilterListArtifactTaskConfig() { return { @@ -28,6 +29,8 @@ export function createTelemetryFilterListArtifactTaskConfig() { sender: ITelemetryEventsSender, taskExecutionPeriod: TaskExecutionPeriod ) => { + const startTime = Date.now(); + const taskName = 'Security Solution Telemetry Filter List Artifact Task'; try { const artifactName = 'telemetry-filterlists-v1'; const artifact = (await artifactService.getArtifact( @@ -36,10 +39,16 @@ export function createTelemetryFilterListArtifactTaskConfig() { filterList.endpointAlerts = artifact.endpoint_alerts; filterList.exceptionLists = artifact.exception_lists; filterList.prebuiltRulesAlerts = artifact.prebuilt_rules_alerts; + await sender.sendOnDemand(TASK_METRICS_CHANNEL, [ + createTaskMetric(taskName, true, startTime), + ]); return 0; } catch (err) { tlog(logger, `Failed to set telemetry filterlist artifact due to ${err.message}`); filterList.resetAllToDefault(); + await sender.sendOnDemand(TASK_METRICS_CHANNEL, [ + createTaskMetric(taskName, false, startTime, err.message), + ]); return 0; } },