Add Memory Analyzer

This commit was merged in pull request #8.
This commit is contained in:
Dusker
2026-08-24 16:51:05 +00:00
committed by Typhus
parent f0bbe11018
commit 119c39c320
9 changed files with 267 additions and 8 deletions
+10 -2
View File
@@ -1,6 +1,7 @@
from __future__ import annotations
import logging
import tracemalloc
from pathlib import Path
from uuid import uuid4
@@ -8,7 +9,7 @@ from from_root import from_root
from rio import App, Theme, Color, Font, Icon, Session
from elm.components.RootComponent import RootComponent
from elm.services import ConfigurationService, DatabaseService, UserService, LocalData, LocalDataService, MailingService, AccountingService, PreloadService, ReceiptPrintingService
from elm.services import ConfigurationService, DatabaseService, UserService, LocalData, LocalDataService, MailingService, AccountingService, PreloadService, ReceiptPrintingService, MemoryService
from elm.types import UserSession
logger = logging.getLogger("ELM")
@@ -51,6 +52,13 @@ database_service = DatabaseService(configuration_service.get_database_configurat
mailing_service = MailingService(configuration_service)
lan_info = configuration_service.get_lan_info()
tracemalloc_enabled = configuration_service.TRACEMALLOC_ENABLED
if tracemalloc_enabled:
tracemalloc.start(10)
memory_service = MemoryService(tracemalloc_enabled)
def is_mobile(self: Session) -> bool:
return self.screen_width < self.theme.MAX_MOBILE_SCREEN_WIDTH
@@ -79,7 +87,7 @@ app = App(
theme=theme,
assets_dir=Path(__file__).parent / "assets",
build=RootComponent,
default_attachments=[LocalData(), configuration_service, database_service, UserService(), LocalDataService(), mailing_service, AccountingService(configuration_service, mailing_service), PreloadService(), ReceiptPrintingService(configuration_service.get_receipt_printing_configuration(), configuration_service.DEV_MODE_ACTIVE)],
default_attachments=[LocalData(), configuration_service, database_service, UserService(), LocalDataService(), mailing_service, AccountingService(configuration_service, mailing_service), PreloadService(), ReceiptPrintingService(configuration_service.get_receipt_printing_configuration(), configuration_service.DEV_MODE_ACTIVE), memory_service],
on_app_start=on_app_start,
on_session_start=on_session_start,
icon=from_root("src/elm/assets/img/favicon.png"),