From 994753313eee84bdc2109cd5d9ac8a97dd606828 Mon Sep 17 00:00:00 2001 From: Maurizio Casimirri Date: Tue, 27 May 2025 11:29:42 +0200 Subject: [PATCH 1/2] chore(telemetry): add tracking for AI modals and query generation funnel --- .../src/components/ai-experience-entry.tsx | 17 +++++- .../src/components/ai-optin-modal.tsx | 18 +++++- .../src/components/ai-signin-modal.tsx | 19 +++++- .../src/components/query-bar.tsx | 4 ++ .../compass-telemetry/src/telemetry-events.ts | 60 +++++++++++++++++++ 5 files changed, 111 insertions(+), 7 deletions(-) diff --git a/packages/compass-generative-ai/src/components/ai-experience-entry.tsx b/packages/compass-generative-ai/src/components/ai-experience-entry.tsx index 8a6fef7d6a2..cc653feb4e9 100644 --- a/packages/compass-generative-ai/src/components/ai-experience-entry.tsx +++ b/packages/compass-generative-ai/src/components/ai-experience-entry.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useCallback } from 'react'; import { css, cx, @@ -8,6 +8,10 @@ import { useDarkMode, WorkspaceContainer, } from '@mongodb-js/compass-components'; +import { + type TrackFunction, + useTelemetry, +} from '@mongodb-js/compass-telemetry/provider'; import { AIEntrySVG, @@ -95,6 +99,12 @@ function AIExperienceEntry({ onClick: () => void; }) { const darkMode = useDarkMode(); + const track = useTelemetry(); + + const handleClick = useCallback(() => { + track('AI Generate Query Clicked', { type }); + onClick(); + }, [track, onClick, type]); return (