From 2ed2f8747d508a7db0bc1cc56f6b3286252e8eb0 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Mon, 29 May 2023 13:27:15 +0530 Subject: [PATCH] chore: track doc creation This is alternate to "Activation" level that already exists, activation level will be phased out over time. --- frappe/desk/form/save.py | 2 ++ frappe/utils/telemetry.py | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/frappe/desk/form/save.py b/frappe/desk/form/save.py index 9ee2541a90..75335cb1ce 100644 --- a/frappe/desk/form/save.py +++ b/frappe/desk/form/save.py @@ -9,12 +9,14 @@ from frappe.desk.form.load import run_onload from frappe.model.docstatus import DocStatus from frappe.monitor import add_data_to_monitor from frappe.utils.scheduler import is_scheduler_inactive +from frappe.utils.telemetry import capture_doc @frappe.whitelist() def savedocs(doc, action): """save / submit / update doclist""" doc = frappe.get_doc(json.loads(doc)) + capture_doc(doc) set_local_name(doc) # action diff --git a/frappe/utils/telemetry.py b/frappe/utils/telemetry.py index ba06afbf83..e15146c71d 100644 --- a/frappe/utils/telemetry.py +++ b/frappe/utils/telemetry.py @@ -57,3 +57,13 @@ def capture(event, app, **kwargs): ph: Posthog = getattr(frappe.local, "posthog", None) with suppress(Exception): ph and ph.capture(distinct_id=frappe.local.site, event=f"{app}_{event}", **kwargs) + + +def capture_doc(doc): + with suppress(Exception): + age = site_age() + if not age or age > 15: + return + + if doc.get("__islocal") or not doc.get("name"): + capture("document_created", "frappe", properties={"doctype": doc.doctype})