Skip to content

Commit 2f5d30a

Browse files
mrubensmehmetsunkur
authored andcommitted
Telemetry for title button clicks (RooCodeInc#3108)
1 parent 3d7e974 commit 2f5d30a

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

src/activate/registerCommands.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import delay from "delay"
33

44
import { ClineProvider } from "../core/webview/ClineProvider"
55
import { ContextProxy } from "../core/config/ContextProxy"
6+
import { telemetryService } from "../services/telemetry/TelemetryService"
67

78
import { registerHumanRelayCallback, unregisterHumanRelayCallback, handleHumanRelayResponse } from "./humanRelay"
89
import { handleNewTask } from "./handleTask"
@@ -71,6 +72,8 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt
7172
return
7273
}
7374

75+
telemetryService.captureTitleButtonClicked("plus")
76+
7477
await visibleProvider.removeClineFromStack()
7578
await visibleProvider.postStateToWebview()
7679
await visibleProvider.postMessageToWebview({ type: "action", action: "chatButtonClicked" })
@@ -82,6 +85,8 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt
8285
return
8386
}
8487

88+
telemetryService.captureTitleButtonClicked("mcp")
89+
8590
visibleProvider.postMessageToWebview({ type: "action", action: "mcpButtonClicked" })
8691
},
8792
"roo-cline.promptsButtonClicked": () => {
@@ -91,9 +96,15 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt
9196
return
9297
}
9398

99+
telemetryService.captureTitleButtonClicked("prompts")
100+
94101
visibleProvider.postMessageToWebview({ type: "action", action: "promptsButtonClicked" })
95102
},
96-
"roo-cline.popoutButtonClicked": () => openClineInNewTab({ context, outputChannel }),
103+
"roo-cline.popoutButtonClicked": () => {
104+
telemetryService.captureTitleButtonClicked("popout")
105+
106+
return openClineInNewTab({ context, outputChannel })
107+
},
97108
"roo-cline.openInNewTab": () => openClineInNewTab({ context, outputChannel }),
98109
"roo-cline.settingsButtonClicked": () => {
99110
const visibleProvider = getVisibleProviderOrLog(outputChannel)
@@ -102,6 +113,8 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt
102113
return
103114
}
104115

116+
telemetryService.captureTitleButtonClicked("settings")
117+
105118
visibleProvider.postMessageToWebview({ type: "action", action: "settingsButtonClicked" })
106119
},
107120
"roo-cline.historyButtonClicked": () => {
@@ -111,9 +124,13 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt
111124
return
112125
}
113126

127+
telemetryService.captureTitleButtonClicked("history")
128+
114129
visibleProvider.postMessageToWebview({ type: "action", action: "historyButtonClicked" })
115130
},
116131
"roo-cline.helpButtonClicked": () => {
132+
telemetryService.captureTitleButtonClicked("help")
133+
117134
vscode.env.openExternal(vscode.Uri.parse("https://docs.roocode.com"))
118135
},
119136
"roo-cline.showHumanRelayDialog": (params: { requestId: string; promptText: string }) => {

src/services/telemetry/TelemetryService.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,14 @@ class TelemetryService {
145145
this.captureEvent(PostHogClient.EVENTS.ERRORS.CONSECUTIVE_MISTAKE_ERROR, { taskId })
146146
}
147147

148+
/**
149+
* Captures a title button click event
150+
* @param button The button that was clicked
151+
*/
152+
public captureTitleButtonClicked(button: string): void {
153+
this.captureEvent("Title Button Clicked", { button })
154+
}
155+
148156
/**
149157
* Checks if telemetry is currently enabled
150158
* @returns Whether telemetry is enabled

0 commit comments

Comments
 (0)