Skip to content

Commit b7d285d

Browse files
committed
set up for analytics in telemetry events
1 parent 870460f commit b7d285d

File tree

2 files changed

+118
-23
lines changed

2 files changed

+118
-23
lines changed

packages/compass-indexes/src/components/create-index-fields.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
} from '@mongodb-js/compass-components';
1414

1515
import type { Field } from '../modules/create-index';
16+
import { useTelemetry } from '@mongodb-js/compass-telemetry/provider';
1617

1718
/**
1819
* Current allowed types for indexes.
@@ -89,6 +90,13 @@ function CreateIndexFields({
8990
);
9091

9192
const comboboxOptions = schemaFields.map((value) => ({ value }));
93+
const track = useTelemetry();
94+
const handleOnAddFieldClick = useCallback(() => {
95+
onAddFieldClick();
96+
track('New Index Field Added', {
97+
context: 'Create Index Modal',
98+
});
99+
}, []);
92100

93101
return (
94102
<ListEditor
@@ -154,7 +162,7 @@ function CreateIndexFields({
154162
</div>
155163
</div>
156164
)}
157-
onAddItem={onAddFieldClick}
165+
onAddItem={handleOnAddFieldClick}
158166
onRemoveItem={onRemoveFieldClick}
159167
addButtonTestId="add-index-field-button"
160168
removeButtonTestId="remove-index-field-button"

packages/compass-telemetry/src/telemetry-events.ts

Lines changed: 109 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2716,15 +2716,91 @@ type UUIDEncounteredEvent = CommonEvent<{
27162716
};
27172717
}>;
27182718

2719+
type CreateIndexNewFieldAdded = CommonEvent<{
2720+
name: 'New Index Field Added';
2721+
payload: {
2722+
context: CreateIndexModalContext;
2723+
};
2724+
}>;
2725+
type CreateIndexOptionsClicked = CommonEvent<{
2726+
name: 'Options Clicked';
2727+
payload: {
2728+
context: CreateIndexModalContext;
2729+
};
2730+
}>;
2731+
2732+
type CreateIndexCoveredQueriesButtonClicked = CommonEvent<{
2733+
name: 'Covered Queries Button Clicked';
2734+
payload: {
2735+
context: CreateIndexModalContext;
2736+
};
2737+
}>;
2738+
2739+
type CreateIndexSuggestedIndexButtonClicked = CommonEvent<{
2740+
name: 'Suggested Index Button Clicked';
2741+
payload: {
2742+
context: CreateIndexModalContext;
2743+
};
2744+
}>;
2745+
2746+
type CreateIndexIndexTabClicked = CommonEvent<{
2747+
name: 'Start with an Index Tab Clicked';
2748+
payload: {
2749+
context: CreateIndexModalContext;
2750+
};
2751+
}>;
2752+
2753+
type CreateIndexQueryTabClicked = CommonEvent<{
2754+
name: 'Start with a Query Tab Clicked';
2755+
payload: {
2756+
context: CreateIndexModalContext;
2757+
};
2758+
}>;
2759+
2760+
type CreateIndexCodeEquivalentToggled = CommonEvent<{
2761+
name: 'Code Equivalent Toggled';
2762+
payload: {
2763+
context: CreateIndexModalContext;
2764+
};
2765+
}>;
2766+
2767+
type CreateIndexModalClosed = CommonEvent<{
2768+
name: 'Create Index Modal Closed';
2769+
payload: {
2770+
context: CreateIndexModalContext;
2771+
};
2772+
}>;
2773+
2774+
type CreateIndexModalCancelled = CommonEvent<{
2775+
name: 'Cancel Button Clicked';
2776+
payload: {
2777+
context: CreateIndexModalContext;
2778+
};
2779+
}>;
2780+
2781+
type CreateIndexProgrammingLanguageLinkClicked = CommonEvent<{
2782+
name: 'View Programming Language Syntax Clicked';
2783+
payload: {
2784+
context: CreateIndexModalContext;
2785+
};
2786+
}>;
2787+
2788+
type CreateIndexCoveredQueriesLearnMoreClicked = CommonEvent<{
2789+
name: 'Covered Queries Learn More Clicked';
2790+
payload: {
2791+
context: CreateIndexModalContext;
2792+
};
2793+
}>;
2794+
27192795
export type TelemetryEvent =
27202796
| AggregationCanceledEvent
27212797
| AggregationCopiedEvent
27222798
| AggregationDeletedEvent
27232799
| AggregationEditedEvent
27242800
| AggregationExecutedEvent
27252801
| AggregationExplainedEvent
2726-
| AggregationExportedEvent
27272802
| AggregationExportOpenedEvent
2803+
| AggregationExportedEvent
27282804
| AggregationOpenedEvent
27292805
| AggregationSavedAsViewEvent
27302806
| AggregationSavedEvent
@@ -2737,15 +2813,15 @@ export type TelemetryEvent =
27372813
| AiResponseFailedEvent
27382814
| AiResponseGeneratedEvent
27392815
| ApplicationLaunchedEvent
2816+
| ApplicationRestartAcceptedEvent
27402817
| AtlasLinkClickedEvent
27412818
| AtlasSignInErrorEvent
27422819
| AtlasSignInSuccessEvent
27432820
| AtlasSignOutEvent
27442821
| AutoupdateAcceptedEvent
2822+
| AutoupdateDisabledEvent
27452823
| AutoupdateDismissedEvent
2746-
| ApplicationRestartAcceptedEvent
27472824
| AutoupdateEnabledEvent
2748-
| AutoupdateDisabledEvent
27492825
| BulkDeleteExecutedEvent
27502826
| BulkDeleteOpenedEvent
27512827
| BulkUpdateExecutedEvent
@@ -2759,10 +2835,25 @@ export type TelemetryEvent =
27592835
| ConnectionFailedEvent
27602836
| ConnectionImportedEvent
27612837
| ConnectionRemovedEvent
2838+
| CreateIndexButtonClickedEvent
2839+
| CreateIndexCodeEquivalentToggled
2840+
| CreateIndexCoveredQueriesButtonClicked
2841+
| CreateIndexCoveredQueriesLearnMoreClicked
2842+
| CreateIndexErrorGettingCoveredQueriesEvent
2843+
| CreateIndexErrorParsingQueryEvent
2844+
| CreateIndexIndexTabClicked
2845+
| CreateIndexModalCancelled
2846+
| CreateIndexModalClosed
2847+
| CreateIndexNewFieldAdded
2848+
| CreateIndexOptionsClicked
2849+
| CreateIndexProgrammingLanguageLinkClicked
2850+
| CreateIndexQueryTabClicked
2851+
| CreateIndexSuggestedIndexButtonClicked
2852+
| CumulativeLayoutShiftEvent
27622853
| CurrentOpShowOperationDetailsEvent
27632854
| DatabaseCreatedEvent
2764-
| DeleteExportedEvent
27652855
| DeleteExportOpenedEvent
2856+
| DeleteExportedEvent
27662857
| DetailViewHideOperationDetailsEvent
27672858
| DetailViewKillOpEvent
27682859
| DocumentClonedEvent
@@ -2772,22 +2863,26 @@ export type TelemetryEvent =
27722863
| DocumentUpdatedEvent
27732864
| EditorTypeChangedEvent
27742865
| ErrorFetchingAttributesEvent
2866+
| ExperimentViewedEvent
27752867
| ExplainPlanExecutedEvent
27762868
| ExportCompletedEvent
27772869
| ExportOpenedEvent
2870+
| FirstContentfulPaintEvent
2871+
| FirstInputDelayEvent
27782872
| FocusModeClosedEvent
27792873
| FocusModeOpenedEvent
27802874
| GuideCueDismissedEvent
27812875
| GuideCueGroupDismissedEvent
27822876
| ImportCompletedEvent
27832877
| ImportErrorLogOpenedEvent
27842878
| ImportOpenedEvent
2785-
| IndexCreatedEvent
27862879
| IndexCreateFailedEvent
27872880
| IndexCreateOpenedEvent
2881+
| IndexCreatedEvent
27882882
| IndexDroppedEvent
27892883
| IndexEditedEvent
27902884
| KeytarSecretsMigrationFailedEvent
2885+
| LargestContentfulPaintEvent
27912886
| MyQueriesFilterEvent
27922887
| MyQueriesSearchEvent
27932888
| MyQueriesSortEvent
@@ -2799,27 +2894,28 @@ export type TelemetryEvent =
27992894
| PipelineAiFeedbackEvent
28002895
| QueryEditedEvent
28012896
| QueryExecutedEvent
2802-
| QueryExportedEvent
28032897
| QueryExportOpenedEvent
2898+
| QueryExportedEvent
28042899
| QueryHistoryClosedEvent
28052900
| QueryHistoryFavoriteAddedEvent
28062901
| QueryHistoryFavoriteCopiedEvent
28072902
| QueryHistoryFavoriteRemovedEvent
2808-
| QueryHistoryFavoritesEvent
28092903
| QueryHistoryFavoriteUsedEvent
2904+
| QueryHistoryFavoritesEvent
28102905
| QueryHistoryOpenedEvent
28112906
| QueryHistoryRecentEvent
28122907
| QueryHistoryRecentUsedEvent
28132908
| QueryResultsRefreshedEvent
28142909
| SchemaAnalysisCancelledEvent
28152910
| SchemaAnalyzedEvent
2816-
| SchemaExportedEvent
28172911
| SchemaExportFailedEvent
2912+
| SchemaExportedEvent
28182913
| SchemaValidationAddedEvent
28192914
| SchemaValidationEditedEvent
2820-
| SchemaValidationUpdatedEvent
28212915
| SchemaValidationGeneratedEvent
2916+
| SchemaValidationUpdatedEvent
28222917
| ScreenEvent
2918+
| SecretStorageNotAvailableEvent
28232919
| ShellEvent
28242920
| SignalActionButtonClickedEvent
28252921
| SignalClosedEvent
@@ -2828,17 +2924,8 @@ export type TelemetryEvent =
28282924
| SignalShownEvent
28292925
| SwitchViewTypeEvent
28302926
| ThemeChangedEvent
2831-
| UpdateExportedEvent
2832-
| UpdateExportOpenedEvent
2833-
| ViewUpdatedEvent
2834-
| SecretStorageNotAvailableEvent
2835-
| FirstContentfulPaintEvent
2836-
| LargestContentfulPaintEvent
2837-
| FirstInputDelayEvent
2838-
| CumulativeLayoutShiftEvent
28392927
| TimeToFirstByteEvent
2840-
| ExperimentViewedEvent
2841-
| CreateIndexButtonClickedEvent
2842-
| CreateIndexErrorParsingQueryEvent
2843-
| CreateIndexErrorGettingCoveredQueriesEvent
2844-
| UUIDEncounteredEvent;
2928+
| UUIDEncounteredEvent
2929+
| UpdateExportOpenedEvent
2930+
| UpdateExportedEvent
2931+
| ViewUpdatedEvent;

0 commit comments

Comments
 (0)