Skip to content
Snippets Groups Projects
Unverified Commit 2b17bf26 authored by Timothy Carambat's avatar Timothy Carambat Committed by GitHub
Browse files

Posthog telemetry updates (#356)

track subuser anon
parent 2914c09d
No related branches found
No related tags found
No related merge requests found
...@@ -64,11 +64,15 @@ function chatEndpoints(app) { ...@@ -64,11 +64,15 @@ function chatEndpoints(app) {
} }
const result = await chatWithWorkspace(workspace, message, mode, user); const result = await chatWithWorkspace(workspace, message, mode, user);
await Telemetry.sendTelemetry("sent_chat", { await Telemetry.sendTelemetry(
multiUserMode: multiUserMode(response), "sent_chat",
LLMSelection: process.env.LLM_PROVIDER || "openai", {
VectorDbSelection: process.env.VECTOR_DB || "pinecone", multiUserMode: multiUserMode(response),
}); LLMSelection: process.env.LLM_PROVIDER || "openai",
VectorDbSelection: process.env.VECTOR_DB || "pinecone",
},
user?.id
);
response.status(200).json({ ...result }); response.status(200).json({ ...result });
} catch (e) { } catch (e) {
console.error(e); console.error(e);
......
...@@ -134,6 +134,11 @@ function systemEndpoints(app) { ...@@ -134,6 +134,11 @@ function systemEndpoints(app) {
return; return;
} }
await Telemetry.sendTelemetry(
"login_event",
{ multiUserMode: false },
existingUser?.id
);
response.status(200).json({ response.status(200).json({
valid: true, valid: true,
user: existingUser, user: existingUser,
...@@ -155,6 +160,7 @@ function systemEndpoints(app) { ...@@ -155,6 +160,7 @@ function systemEndpoints(app) {
return; return;
} }
await Telemetry.sendTelemetry("login_event", { multiUserMode: false });
response.status(200).json({ response.status(200).json({
valid: true, valid: true,
token: makeJWT({ p: password }, "30d"), token: makeJWT({ p: password }, "30d"),
...@@ -325,7 +331,9 @@ function systemEndpoints(app) { ...@@ -325,7 +331,9 @@ function systemEndpoints(app) {
true true
); );
if (process.env.NODE_ENV === "production") await dumpENV(); if (process.env.NODE_ENV === "production") await dumpENV();
await Telemetry.sendTelemetry("enabled_multi_user_mode"); await Telemetry.sendTelemetry("enabled_multi_user_mode", {
multiUserMode: true,
});
response.status(200).json({ success: !!user, error }); response.status(200).json({ success: !!user, error });
} catch (e) { } catch (e) {
await User.delete({}); await User.delete({});
......
...@@ -23,11 +23,15 @@ function workspaceEndpoints(app) { ...@@ -23,11 +23,15 @@ function workspaceEndpoints(app) {
const user = await userFromSession(request, response); const user = await userFromSession(request, response);
const { name = null, onboardingComplete = false } = reqBody(request); const { name = null, onboardingComplete = false } = reqBody(request);
const { workspace, message } = await Workspace.new(name, user?.id); const { workspace, message } = await Workspace.new(name, user?.id);
await Telemetry.sendTelemetry("workspace_created", { await Telemetry.sendTelemetry(
multiUserMode: multiUserMode(response), "workspace_created",
LLMSelection: process.env.LLM_PROVIDER || "openai", {
VectorDbSelection: process.env.VECTOR_DB || "pinecone", multiUserMode: multiUserMode(response),
}); LLMSelection: process.env.LLM_PROVIDER || "openai",
VectorDbSelection: process.env.VECTOR_DB || "pinecone",
},
user?.id
);
if (onboardingComplete === true) if (onboardingComplete === true)
await Telemetry.sendTelemetry("onboarding_complete"); await Telemetry.sendTelemetry("onboarding_complete");
......
...@@ -28,12 +28,14 @@ const Telemetry = { ...@@ -28,12 +28,14 @@ const Telemetry = {
return new PostHog(this.pubkey); return new PostHog(this.pubkey);
}, },
sendTelemetry: async function (event, properties = {}) { sendTelemetry: async function (event, properties = {}, subUserId = null) {
try { try {
const { client, distinctId } = await this.connect(); const { client, distinctId: systemId } = await this.connect();
if (!client) return; if (!client) return;
const distinctId = !!subUserId ? `${systemId}::${subUserId}` : systemId;
console.log(`\x1b[32m[TELEMETRY SENT]\x1b[0m`, { console.log(`\x1b[32m[TELEMETRY SENT]\x1b[0m`, {
event, event,
distinctId,
properties, properties,
}); });
client.capture({ client.capture({
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment