From 2d4037da37470a4cb47a1fdc7b776c7ac8afb376 Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Wed, 28 Feb 2024 07:32:05 -0800 Subject: [PATCH] Track GRPC --- src-tauri/src/analytics.rs | 1 + src-web/hooks/useGrpc.ts | 5 +++++ src-web/lib/analytics.ts | 1 + 3 files changed, 7 insertions(+) diff --git a/src-tauri/src/analytics.rs b/src-tauri/src/analytics.rs index 3ed7ff10..def675d9 100644 --- a/src-tauri/src/analytics.rs +++ b/src-tauri/src/analytics.rs @@ -48,6 +48,7 @@ impl Display for AnalyticsResource { #[serde(rename_all = "snake_case")] pub enum AnalyticsAction { Cancel, + Commit, Create, Delete, DeleteMany, diff --git a/src-web/hooks/useGrpc.ts b/src-web/hooks/useGrpc.ts index 7cd87bbe..d426951a 100644 --- a/src-web/hooks/useGrpc.ts +++ b/src-web/hooks/useGrpc.ts @@ -1,6 +1,7 @@ import { useMutation, useQuery } from '@tanstack/react-query'; import { invoke } from '@tauri-apps/api'; import { emit } from '@tauri-apps/api/event'; +import { trackEvent } from '../lib/analytics'; import { minPromiseMillis } from '../lib/minPromiseMillis'; import type { GrpcConnection, GrpcRequest } from '../lib/models'; import { useActiveEnvironmentId } from './useActiveEnvironmentId'; @@ -21,21 +22,25 @@ export function useGrpc( const go = useMutation({ mutationFn: async () => await invoke('cmd_grpc_go', { requestId, environmentId, protoFiles }), + onSettled: () => trackEvent('grpc_request', 'send'), }); const send = useMutation({ mutationFn: async ({ message }: { message: string }) => await emit(`grpc_client_msg_${conn?.id ?? 'none'}`, { Message: message }), + onSettled: () => trackEvent('grpc_connection', 'send'), }); const cancel = useMutation({ mutationKey: ['grpc_cancel', conn?.id ?? 'n/a'], mutationFn: async () => await emit(`grpc_client_msg_${conn?.id ?? 'none'}`, 'Cancel'), + onSettled: () => trackEvent('grpc_connection', 'cancel'), }); const commit = useMutation({ mutationKey: ['grpc_commit', conn?.id ?? 'n/a'], mutationFn: async () => await emit(`grpc_client_msg_${conn?.id ?? 'none'}`, 'Commit'), + onSettled: () => trackEvent('grpc_connection', 'commit'), }); const debouncedUrl = useDebouncedValue(req?.url ?? 'n/a', 500); diff --git a/src-web/lib/analytics.ts b/src-web/lib/analytics.ts index e36f5501..69263cb1 100644 --- a/src-web/lib/analytics.ts +++ b/src-web/lib/analytics.ts @@ -18,6 +18,7 @@ export function trackEvent( | 'workspace', action: | 'cancel' + | 'commit' | 'create' | 'delete' | 'delete_many'