From da49b2de4b9e4d42ced42056fe2f6f0eb5c79ea3 Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Mon, 14 Oct 2024 11:07:10 +0100 Subject: [PATCH 1/2] add Index Failed to mirror Index Created --- .../src/modules/regular-indexes.ts | 1 + .../src/modules/search-indexes.ts | 8 +++ .../compass-telemetry/src/telemetry-events.ts | 57 +++++++++++++++++++ 3 files changed, 66 insertions(+) diff --git a/packages/compass-indexes/src/modules/regular-indexes.ts b/packages/compass-indexes/src/modules/regular-indexes.ts index 74bac7cf48d..9530cc3d51b 100644 --- a/packages/compass-indexes/src/modules/regular-indexes.ts +++ b/packages/compass-indexes/src/modules/regular-indexes.ts @@ -582,6 +582,7 @@ export function createRegularIndex( await dispatch(refreshRegularIndexes()); } catch (err) { dispatch(indexCreationFailed(inProgressIndexId, (err as Error).message)); + track('Index Failed', trackEvent, connectionInfoRef.current); } }; } diff --git a/packages/compass-indexes/src/modules/search-indexes.ts b/packages/compass-indexes/src/modules/search-indexes.ts index bdc4acffd92..3d212840edf 100644 --- a/packages/compass-indexes/src/modules/search-indexes.ts +++ b/packages/compass-indexes/src/modules/search-indexes.ts @@ -496,6 +496,14 @@ export const createIndex = ({ dispatch( createSearchIndexFailed(ATLAS_SEARCH_SERVER_ERRORS[error] || error) ); + track( + 'Index Failed', + { + atlas_search: true, + type, + }, + connectionInfoRef.current + ); return; } diff --git a/packages/compass-telemetry/src/telemetry-events.ts b/packages/compass-telemetry/src/telemetry-events.ts index 2975f205095..18db0b91ae1 100644 --- a/packages/compass-telemetry/src/telemetry-events.ts +++ b/packages/compass-telemetry/src/telemetry-events.ts @@ -1344,6 +1344,62 @@ type IndexCreatedEvent = ConnectionScoped<{ }; }>; +/** + * This event is fired when user creates an index and it fails. + * + * @category Indexes + */ +type IndexFailedEvent = ConnectionScoped<{ + name: 'Index Failed'; + + payload: { + /** + * Indicates whether the index is unique. + */ + unique?: boolean; + + /** + * Specifies the time-to-live (TTL) setting for the index. + */ + ttl?: any; + + /** + * Indicates whether the index is a columnstore index. + */ + columnstore_index?: boolean; + + /** + * Indicates if the index has a columnstore projection. + */ + has_columnstore_projection?: any; + + /** + * Indicates if the index includes a wildcard projection. + */ + has_wildcard_projection?: any; + + /** + * Specifies if the index uses a custom collation. + */ + custom_collation?: any; + + /** + * Indicates whether the index is a geospatial index. + */ + geo?: boolean; + + /** + * Indicates whether the index is an Atlas Search index. + */ + atlas_search?: boolean; + + /** + * Specifies the type of the index. + */ + type?: string; + }; +}>; + /** * This event is fired when user updates an index. * @@ -2556,6 +2612,7 @@ export type TelemetryEvent = | ImportErrorLogOpenedEvent | ImportOpenedEvent | IndexCreatedEvent + | IndexFailedEvent | IndexCreateOpenedEvent | IndexDroppedEvent | IndexEditedEvent From 59e433a3e76cb2fc33a387886c9afc7dc6f2ae76 Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Mon, 14 Oct 2024 11:12:20 +0100 Subject: [PATCH 2/2] name it Index Create Failed like in the ticket rather --- packages/compass-indexes/src/modules/regular-indexes.ts | 2 +- packages/compass-indexes/src/modules/search-indexes.ts | 2 +- packages/compass-telemetry/src/telemetry-events.ts | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/compass-indexes/src/modules/regular-indexes.ts b/packages/compass-indexes/src/modules/regular-indexes.ts index 9530cc3d51b..8efe1c0af90 100644 --- a/packages/compass-indexes/src/modules/regular-indexes.ts +++ b/packages/compass-indexes/src/modules/regular-indexes.ts @@ -582,7 +582,7 @@ export function createRegularIndex( await dispatch(refreshRegularIndexes()); } catch (err) { dispatch(indexCreationFailed(inProgressIndexId, (err as Error).message)); - track('Index Failed', trackEvent, connectionInfoRef.current); + track('Index Create Failed', trackEvent, connectionInfoRef.current); } }; } diff --git a/packages/compass-indexes/src/modules/search-indexes.ts b/packages/compass-indexes/src/modules/search-indexes.ts index 3d212840edf..7925f05a05c 100644 --- a/packages/compass-indexes/src/modules/search-indexes.ts +++ b/packages/compass-indexes/src/modules/search-indexes.ts @@ -497,7 +497,7 @@ export const createIndex = ({ createSearchIndexFailed(ATLAS_SEARCH_SERVER_ERRORS[error] || error) ); track( - 'Index Failed', + 'Index Create Failed', { atlas_search: true, type, diff --git a/packages/compass-telemetry/src/telemetry-events.ts b/packages/compass-telemetry/src/telemetry-events.ts index 18db0b91ae1..26dbd1394d6 100644 --- a/packages/compass-telemetry/src/telemetry-events.ts +++ b/packages/compass-telemetry/src/telemetry-events.ts @@ -1349,8 +1349,8 @@ type IndexCreatedEvent = ConnectionScoped<{ * * @category Indexes */ -type IndexFailedEvent = ConnectionScoped<{ - name: 'Index Failed'; +type IndexCreateFailedEvent = ConnectionScoped<{ + name: 'Index Create Failed'; payload: { /** @@ -2612,7 +2612,7 @@ export type TelemetryEvent = | ImportErrorLogOpenedEvent | ImportOpenedEvent | IndexCreatedEvent - | IndexFailedEvent + | IndexCreateFailedEvent | IndexCreateOpenedEvent | IndexDroppedEvent | IndexEditedEvent