Merge pull request #28845 from ruthra-kumar/log_memory_usage

feat: log peak memory usage for Prepared reports
This commit is contained in:
Akhil Narang 2024-12-20 16:24:18 +05:30 committed by GitHub
commit bbf1abf3d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 1 deletions

View file

@ -13,6 +13,7 @@
"column_break_4",
"queued_at",
"report_end_time",
"peak_memory_usage",
"section_break_7",
"error_message",
"filters_sb",
@ -101,11 +102,18 @@
"is_virtual": 1,
"label": "Queued At",
"read_only": 1
},
{
"fieldname": "peak_memory_usage",
"fieldtype": "Int",
"label": "Peak Memory Usage",
"print_hide": 1,
"read_only": 1
}
],
"in_create": 1,
"links": [],
"modified": "2024-03-23 16:03:34.835357",
"modified": "2024-12-20 10:18:19.174608",
"modified_by": "Administrator",
"module": "Core",
"name": "Prepared Report",

View file

@ -2,6 +2,7 @@
# License: MIT. See LICENSE
import gzip
import json
import resource
from contextlib import suppress
from typing import Any
@ -33,6 +34,7 @@ class PreparedReport(Document):
error_message: DF.Text | None
filters: DF.SmallText | None
job_id: DF.Data | None
peak_memory_usage: DF.Int
queued_at: DF.Datetime | None
queued_by: DF.Data | None
report_end_time: DF.Datetime | None
@ -119,6 +121,8 @@ def generate_report(prepared_report):
_save_error(instance, error=frappe.get_traceback(with_context=True))
instance.report_end_time = frappe.utils.now()
instance.peak_memory_usage = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
add_data_to_monitor(peak_memory_usage=instance.peak_memory_usage)
instance.save(ignore_permissions=True)
frappe.publish_realtime(