Skip to content

Commit 5fb056b

Browse files
posthog events
1 parent a80e92e commit 5fb056b

3 files changed

Lines changed: 54 additions & 27 deletions

File tree

packages/web/src/ee/features/codeNav/components/exploreMenu/index.tsx

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { ResizablePanel, ResizablePanelGroup } from "@/components/ui/resizable";
88
import { Toggle } from "@/components/ui/toggle";
99
import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip";
1010
import { useDomain } from "@/hooks/useDomain";
11-
import { unwrapServiceError } from "@/lib/utils";
11+
import { measure, unwrapServiceError } from "@/lib/utils";
1212
import { useQuery } from "@tanstack/react-query";
1313
import clsx from "clsx";
1414
import { GlobeIcon, Loader2 } from "lucide-react";
@@ -17,6 +17,7 @@ import { VscSymbolMisc } from "react-icons/vsc";
1717
import { ReferenceList } from "./referenceList";
1818
import { KeyboardShortcutHint } from "@/app/components/keyboardShortcutHint";
1919
import { useHotkeys } from "react-hotkeys-hook";
20+
import useCaptureEvent from "@/hooks/useCaptureEvent";
2021

2122
interface ExploreMenuProps {
2223
selectedSymbolInfo: {
@@ -30,8 +31,8 @@ interface ExploreMenuProps {
3031
export const ExploreMenu = ({
3132
selectedSymbolInfo,
3233
}: ExploreMenuProps) => {
33-
3434
const domain = useDomain();
35+
const captureEvent = useCaptureEvent();
3536
const {
3637
state: { activeExploreMenuTab },
3738
updateBrowseState,
@@ -46,14 +47,23 @@ export const ExploreMenu = ({
4647
isLoading: isReferencesResponseLoading,
4748
} = useQuery({
4849
queryKey: ["references", selectedSymbolInfo.symbolName, selectedSymbolInfo.repoName, selectedSymbolInfo.revisionName, selectedSymbolInfo.language, domain, isGlobalSearchEnabled],
49-
queryFn: () => unwrapServiceError(
50-
findSearchBasedSymbolReferences({
51-
symbolName: selectedSymbolInfo.symbolName,
52-
language: selectedSymbolInfo.language,
53-
revisionName: selectedSymbolInfo.revisionName,
54-
repoName: isGlobalSearchEnabled ? undefined : selectedSymbolInfo.repoName
50+
queryFn: async () => {
51+
const response = await measure(() => unwrapServiceError(
52+
findSearchBasedSymbolReferences({
53+
symbolName: selectedSymbolInfo.symbolName,
54+
language: selectedSymbolInfo.language,
55+
revisionName: selectedSymbolInfo.revisionName,
56+
repoName: isGlobalSearchEnabled ? undefined : selectedSymbolInfo.repoName
57+
})
58+
), 'findSearchBasedSymbolReferences', false);
59+
60+
captureEvent('wa_explore_menu_references_loaded', {
61+
durationMs: response.durationMs,
62+
isGlobalSearchEnabled,
5563
})
56-
),
64+
65+
return response.data;
66+
}
5767
});
5868

5969
const {
@@ -63,14 +73,23 @@ export const ExploreMenu = ({
6373
isLoading: isDefinitionsResponseLoading,
6474
} = useQuery({
6575
queryKey: ["definitions", selectedSymbolInfo.symbolName, selectedSymbolInfo.repoName, selectedSymbolInfo.revisionName, selectedSymbolInfo.language, domain, isGlobalSearchEnabled],
66-
queryFn: () => unwrapServiceError(
67-
findSearchBasedSymbolDefinitions({
68-
symbolName: selectedSymbolInfo.symbolName,
69-
language: selectedSymbolInfo.language,
70-
revisionName: selectedSymbolInfo.revisionName,
71-
repoName: isGlobalSearchEnabled ? undefined : selectedSymbolInfo.repoName
76+
queryFn: async () => {
77+
const response = await measure(() => unwrapServiceError(
78+
findSearchBasedSymbolDefinitions({
79+
symbolName: selectedSymbolInfo.symbolName,
80+
language: selectedSymbolInfo.language,
81+
revisionName: selectedSymbolInfo.revisionName,
82+
repoName: isGlobalSearchEnabled ? undefined : selectedSymbolInfo.repoName
83+
})
84+
), 'findSearchBasedSymbolDefinitions', false);
85+
86+
captureEvent('wa_explore_menu_definitions_loaded', {
87+
durationMs: response.durationMs,
88+
isGlobalSearchEnabled,
7289
})
73-
),
90+
91+
return response.data;
92+
}
7493
});
7594

7695
useHotkeys('shift+a', () => {

packages/web/src/ee/features/codeNav/components/symbolHoverPopup/useHoveredOverSymbolInfo.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export const useHoveredOverSymbolInfo = ({
6868
})
6969
), 'findSearchBasedSymbolDefinitions', false);
7070

71-
captureEvent('wa_find_hovered_over_symbol_definitions', {
71+
captureEvent('wa_symbol_hover_popup_definitions_loaded', {
7272
durationMs: response.durationMs,
7373
});
7474

packages/web/src/lib/posthogEvents.ts

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -273,15 +273,6 @@ export type PosthogEventMap = {
273273
wa_api_key_created: {},
274274
wa_api_key_creation_fail: {},
275275
//////////////////////////////////////////////////////////////////
276-
wa_goto_definition_pressed: {
277-
source: 'chat' | 'browse' | 'preview',
278-
},
279-
wa_find_references_pressed: {
280-
source: 'chat' | 'browse' | 'preview',
281-
},
282-
//////////////////////////////////////////////////////////////////
283-
wa_explore_menu_reference_clicked: {},
284-
//////////////////////////////////////////////////////////////////
285276
wa_chat_feedback_submitted: {
286277
feedback: 'like' | 'dislike',
287278
chatId: string,
@@ -303,8 +294,25 @@ export type PosthogEventMap = {
303294
wa_github_star_toast_displayed: {},
304295
wa_github_star_toast_clicked: {},
305296
//////////////////////////////////////////////////////////////////
306-
wa_find_hovered_over_symbol_definitions: {
297+
wa_goto_definition_pressed: {
298+
source: 'chat' | 'browse' | 'preview',
299+
},
300+
wa_find_references_pressed: {
301+
source: 'chat' | 'browse' | 'preview',
302+
},
303+
wa_symbol_hover_popup_definitions_loaded: {
304+
durationMs: number,
305+
},
306+
wa_explore_menu_reference_clicked: {},
307+
wa_explore_menu_references_loaded: {
308+
durationMs: number,
309+
// Whether or not the user is searching all repositories.
310+
isGlobalSearchEnabled: boolean,
311+
},
312+
wa_explore_menu_definitions_loaded: {
307313
durationMs: number,
314+
// Whether or not the user is searching all repositories.
315+
isGlobalSearchEnabled: boolean,
308316
}
309317
}
310318
export type PosthogEvent = keyof PosthogEventMap;

0 commit comments

Comments
 (0)