diff --git a/x-pack/plugins/enterprise_search/server/collectors/workplace_search/telemetry.test.ts b/x-pack/plugins/enterprise_search/server/collectors/workplace_search/telemetry.test.ts index a2c810de7d61374..69bafaf4cf1ba8d 100644 --- a/x-pack/plugins/enterprise_search/server/collectors/workplace_search/telemetry.test.ts +++ b/x-pack/plugins/enterprise_search/server/collectors/workplace_search/telemetry.test.ts @@ -25,7 +25,6 @@ describe('Workplace Search Telemetry Usage Collector', () => { 'ui_viewed.setup_guide': 10, 'ui_viewed.overview': 20, 'ui_error.cannot_connect': 3, - 'ui_error.no_ws_account': 4, 'ui_clicked.header_launch_button': 30, 'ui_clicked.org_name_change_button': 40, 'ui_clicked.onboarding_card_button': 50, @@ -65,7 +64,6 @@ describe('Workplace Search Telemetry Usage Collector', () => { }, ui_error: { cannot_connect: 3, - no_ws_account: 4, }, ui_clicked: { header_launch_button: 30, @@ -89,7 +87,6 @@ describe('Workplace Search Telemetry Usage Collector', () => { }, ui_error: { cannot_connect: 0, - no_ws_account: 0, }, ui_clicked: { header_launch_button: 0, diff --git a/x-pack/plugins/enterprise_search/server/collectors/workplace_search/telemetry.ts b/x-pack/plugins/enterprise_search/server/collectors/workplace_search/telemetry.ts index d9bef9d73cfaaed..dc5e14496496ad9 100644 --- a/x-pack/plugins/enterprise_search/server/collectors/workplace_search/telemetry.ts +++ b/x-pack/plugins/enterprise_search/server/collectors/workplace_search/telemetry.ts @@ -12,10 +12,23 @@ import { } from 'src/core/server'; import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; -import { - WS_TELEMETRY_NAME, - ITelemetrySavedObject, -} from '../../saved_objects/workplace_search/telemetry'; +interface ITelemetry { + ui_viewed: { + setup_guide: number; + overview: number; + }; + ui_error: { + cannot_connect: number; + }; + ui_clicked: { + header_launch_button: number; + org_name_change_button: number; + onboarding_card_button: number; + recent_activity_source_details_link: number; + }; +} + +export const WS_TELEMETRY_NAME = 'workplace_search_telemetry'; /** * Register the telemetry collector @@ -25,10 +38,25 @@ export const registerTelemetryUsageCollector = ( usageCollection: UsageCollectionSetup, savedObjects: SavedObjectsServiceStart ) => { - const telemetryUsageCollector = usageCollection.makeUsageCollector({ + const telemetryUsageCollector = usageCollection.makeUsageCollector({ type: 'workplace_search', fetch: async () => fetchTelemetryMetrics(savedObjects), isReady: () => true, + schema: { + ui_viewed: { + setup_guide: { type: 'long' }, + overview: { type: 'long' }, + }, + ui_error: { + cannot_connect: { type: 'long' }, + }, + ui_clicked: { + header_launch_button: { type: 'long' }, + org_name_change_button: { type: 'long' }, + onboarding_card_button: { type: 'long' }, + recent_activity_source_details_link: { type: 'long' }, + }, + }, }); usageCollection.registerCollector(telemetryUsageCollector); }; @@ -43,14 +71,13 @@ const fetchTelemetryMetrics = async (savedObjects: SavedObjectsServiceStart) => savedObjectsRepository )) as SavedObjectAttributes; - const defaultTelemetrySavedObject: ITelemetrySavedObject = { + const defaultTelemetrySavedObject: ITelemetry = { ui_viewed: { setup_guide: 0, overview: 0, }, ui_error: { cannot_connect: 0, - no_ws_account: 0, }, ui_clicked: { header_launch_button: 0, @@ -72,7 +99,7 @@ const fetchTelemetryMetrics = async (savedObjects: SavedObjectsServiceStart) => set(telemetryObj, key, savedObjectAttributes[key]); }); - return telemetryObj as ITelemetrySavedObject; + return telemetryObj as ITelemetry; }; /** diff --git a/x-pack/plugins/enterprise_search/server/saved_objects/workplace_search/telemetry.ts b/x-pack/plugins/enterprise_search/server/saved_objects/workplace_search/telemetry.ts index 4c7310bfdfb7cc2..6e85a2bacd7b28f 100644 --- a/x-pack/plugins/enterprise_search/server/saved_objects/workplace_search/telemetry.ts +++ b/x-pack/plugins/enterprise_search/server/saved_objects/workplace_search/telemetry.ts @@ -3,78 +3,17 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ +/* istanbul ignore file */ import { SavedObjectsType } from 'src/core/server'; - -export const WS_TELEMETRY_NAME = 'workplace_search_telemetry'; - -export interface ITelemetrySavedObject { - ui_viewed: { - setup_guide: number; - overview: number; - }; - ui_error: { - cannot_connect: number; - no_ws_account: number; - }; - ui_clicked: { - header_launch_button: number; - org_name_change_button: number; - onboarding_card_button: number; - recent_activity_source_details_link: number; - }; -} +import { WS_TELEMETRY_NAME } from '../../collectors/workplace_search/telemetry'; export const workplaceSearchTelemetryType: SavedObjectsType = { name: WS_TELEMETRY_NAME, hidden: false, namespaceType: 'single', mappings: { - properties: { - ui_viewed: { - properties: { - setup_guide: { - type: 'long', - null_value: 0, - }, - overview: { - type: 'long', - null_value: 0, - }, - }, - }, - ui_error: { - properties: { - cannot_connect: { - type: 'long', - null_value: 0, - }, - no_ws_account: { - type: 'long', - null_value: 0, - }, - }, - }, - ui_clicked: { - properties: { - header_launch_button: { - type: 'long', - null_value: 0, - }, - org_name_change_button: { - type: 'long', - null_value: 0, - }, - onboarding_card_button: { - type: 'long', - null_value: 0, - }, - recent_activity_source_details_link: { - type: 'long', - null_value: 0, - }, - }, - }, - }, + dynamic: false, + properties: {}, }, }; diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json index 1ea16a2a9940c97..cec6410bd5ec5cb 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json @@ -41,6 +41,43 @@ } } }, + "workplace_search": { + "properties": { + "ui_viewed": { + "properties": { + "setup_guide": { + "type": "long" + }, + "overview": { + "type": "long" + } + } + }, + "ui_error": { + "properties": { + "cannot_connect": { + "type": "long" + } + } + }, + "ui_clicked": { + "properties": { + "header_launch_button": { + "type": "long" + }, + "org_name_change_button": { + "type": "long" + }, + "onboarding_card_button": { + "type": "long" + }, + "recent_activity_source_details_link": { + "type": "long" + } + } + } + } + }, "fileUploadTelemetry": { "properties": { "filesUploadedTotalCount": {