Posthog telemetry updates ()

track subuser anon
This commit is contained in:
Timothy Carambat 2023-11-10 16:02:46 -08:00 committed by GitHub
parent 2914c09dd5
commit 2b17bf26a8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 31 additions and 13 deletions

View file

@ -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);

View file

@ -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) {
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) {
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({});

View file

@ -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");

View file

@ -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({