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})