diff --git a/packages/compass-indexes/src/components/create-index-form/index-flow-section.tsx b/packages/compass-indexes/src/components/create-index-form/index-flow-section.tsx index 97eabbbc26f..aa503798c6c 100644 --- a/packages/compass-indexes/src/components/create-index-form/index-flow-section.tsx +++ b/packages/compass-indexes/src/components/create-index-form/index-flow-section.tsx @@ -272,6 +272,7 @@ const IndexFlowSection = ({ setIsCodeEquivalentToggleChecked(value); track('Code Equivalent Toggled', { context: 'Create Index Modal', + toggled: value === true ? 'On' : 'Off', }); }} checked={isCodeEquivalentToggleChecked} @@ -290,6 +291,11 @@ const IndexFlowSection = ({ dbName={dbName} collectionName={collectionName} indexNameTypeMap={indexNameTypeMap} + onCopy={() => { + track('Input Index Copied', { + context: 'Create Index Modal', + }); + }} /> ) : ( createIndexFieldsComponent diff --git a/packages/compass-indexes/src/components/create-index-form/mdb-code-viewer.spec.tsx b/packages/compass-indexes/src/components/create-index-form/mdb-code-viewer.spec.tsx index f5823df24fb..8c8638dbb73 100644 --- a/packages/compass-indexes/src/components/create-index-form/mdb-code-viewer.spec.tsx +++ b/packages/compass-indexes/src/components/create-index-form/mdb-code-viewer.spec.tsx @@ -25,6 +25,7 @@ describe('MDBCodeViewer', () => { dbName={dbName} collectionName={collectionName} indexNameTypeMap={indexNameTypeMap} + onCopy={() => {}} /> ); }; diff --git a/packages/compass-indexes/src/components/create-index-form/mdb-code-viewer.tsx b/packages/compass-indexes/src/components/create-index-form/mdb-code-viewer.tsx index 49e4c6bbb5a..8da5d083899 100644 --- a/packages/compass-indexes/src/components/create-index-form/mdb-code-viewer.tsx +++ b/packages/compass-indexes/src/components/create-index-form/mdb-code-viewer.tsx @@ -56,11 +56,13 @@ const MDBCodeViewer = ({ dbName, collectionName, indexNameTypeMap, + onCopy, dataTestId, }: { dbName: string; collectionName: string; indexNameTypeMap: Record; + onCopy: () => void; dataTestId?: string; }) => { const track = useTelemetry(); @@ -72,7 +74,11 @@ const MDBCodeViewer = ({ return (
- + {GeneratedCode} diff --git a/packages/compass-indexes/src/components/create-index-form/query-flow-section.tsx b/packages/compass-indexes/src/components/create-index-form/query-flow-section.tsx index 16ebbb50ae2..8456d9fe81d 100644 --- a/packages/compass-indexes/src/components/create-index-form/query-flow-section.tsx +++ b/packages/compass-indexes/src/components/create-index-form/query-flow-section.tsx @@ -257,6 +257,11 @@ const QueryFlowSection = ({ dbName={dbName} collectionName={collectionName} indexNameTypeMap={indexSuggestions} + onCopy={() => { + track('Index Suggestions Copied', { + context: 'Create Index Modal', + }); + }} />
diff --git a/packages/compass-indexes/src/components/create-index-modal/create-index-modal-header.tsx b/packages/compass-indexes/src/components/create-index-modal/create-index-modal-header.tsx index 498d6c62721..d613cc4ed8a 100644 --- a/packages/compass-indexes/src/components/create-index-modal/create-index-modal-header.tsx +++ b/packages/compass-indexes/src/components/create-index-modal/create-index-modal-header.tsx @@ -7,6 +7,7 @@ import { Link, useDarkMode, } from '@mongodb-js/compass-components'; +import { useTelemetry } from '@mongodb-js/compass-telemetry/provider'; import React from 'react'; const headerStyle = css({ @@ -24,6 +25,7 @@ const subtitleDarkStyle = css({ const CreateIndexModalHeader = () => { const darkMode = useDarkMode(); + const track = useTelemetry(); return (

Create Index

@@ -39,6 +41,11 @@ const CreateIndexModalHeader = () => { href="https://docs.mongodb.com/manual/applications/indexes/" target="_blank" rel="noopener noreferrer" + onClick={() => { + track('Index Strategies Documentation Clicked', { + context: 'Create Index Modal', + }); + }} > Index Strategies Documentation diff --git a/packages/compass-telemetry/src/telemetry-events.ts b/packages/compass-telemetry/src/telemetry-events.ts index 27ea07cd41d..4467852b4cd 100644 --- a/packages/compass-telemetry/src/telemetry-events.ts +++ b/packages/compass-telemetry/src/telemetry-events.ts @@ -2817,6 +2817,7 @@ type CreateIndexCodeEquivalentToggled = CommonEvent<{ name: 'Code Equivalent Toggled'; payload: { context: CreateIndexModalContext; + toggled: 'On' | 'Off'; }; }>; @@ -2848,6 +2849,27 @@ type CreateIndexCoveredQueriesLearnMoreClicked = CommonEvent<{ }; }>; +type CreateIndexInputIndexCopied = CommonEvent<{ + name: 'Input Index Copied'; + payload: { + context: CreateIndexModalContext; + }; +}>; + +type CreateIndexIndexSuggestionsCopied = CommonEvent<{ + name: 'Index Suggestions Copied'; + payload: { + context: CreateIndexModalContext; + }; +}>; + +type CreateIndexStrategiesDocumentationClicked = CommonEvent<{ + name: 'Index Strategies Documentation Clicked'; + payload: { + context: CreateIndexModalContext; + }; +}>; + export type TelemetryEvent = | AggregationCanceledEvent | AggregationCopiedEvent @@ -2989,4 +3011,7 @@ export type TelemetryEvent = | CreateIndexProgrammingLanguageLinkClicked | CreateIndexQueryTabClicked | CreateIndexSuggestedIndexButtonClicked + | CreateIndexInputIndexCopied + | CreateIndexIndexSuggestionsCopied + | CreateIndexStrategiesDocumentationClicked | UUIDEncounteredEvent;