Fix: Worker-Pool-Metriken cachen für Anzeige nach Shutdown
Problem: - Worker-Pools werden nach Transformation beendet (Lazy Loading) - Metriken waren danach nicht mehr verfügbar - Metriken-Dialog zeigte "Nicht aktiviert" Lösung: - Metriken werden vor Pool-Shutdown mit deepcopy() gespeichert - MainWindow speichert last_saxon_metrics und last_fop_metrics - WorkerPoolMetricsDialog zeigt gecachte Metriken an - Neue Methode: _update_metrics_tab_from_metrics() Verhalten: - Metriken bleiben bis zur nächsten Transformation verfügbar - Dialog zeigt "Letzte Transformation" statt "Aktiviert" - Ohne Metriken: Hinweis "bitte erst eine Transformation durchführen" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -546,6 +546,10 @@ class MainWindow(QMainWindow):
|
||||
# Progressbar für Transformationen in Statusbar
|
||||
self.transformation_progress_bar = None
|
||||
|
||||
# Gespeicherte Worker-Pool-Metriken (werden vor Shutdown gecacht)
|
||||
self.last_saxon_metrics = None
|
||||
self.last_fop_metrics = None
|
||||
|
||||
# Mapping: xml_file_path_str → QTreeWidgetItem (für Progress Bar und Icon Updates)
|
||||
self.xml_item_map = {}
|
||||
|
||||
@@ -4371,11 +4375,19 @@ class MainWindow(QMainWindow):
|
||||
|
||||
# Erfasse RAM-Verbrauch nach Transformation
|
||||
import transform
|
||||
from copy import deepcopy
|
||||
|
||||
if transform._saxon_worker_pool:
|
||||
transform._saxon_worker_pool.capture_ram_after_transform()
|
||||
# Speichere Metriken vor Shutdown (für späteren Zugriff im Dialog)
|
||||
self.last_saxon_metrics = deepcopy(transform._saxon_worker_pool.metrics)
|
||||
logger.debug("Saxon Worker-Pool Metriken gespeichert")
|
||||
|
||||
if transform._fop_worker_pool:
|
||||
transform._fop_worker_pool.capture_ram_after_transform()
|
||||
# Speichere Metriken vor Shutdown (für späteren Zugriff im Dialog)
|
||||
self.last_fop_metrics = deepcopy(transform._fop_worker_pool.metrics)
|
||||
logger.debug("FOP Worker-Pool Metriken gespeichert")
|
||||
|
||||
# Beende Worker-Pools (RAM-Optimierung - Pools werden bei nächster Transformation neu gestartet)
|
||||
self._shutdown_saxon_worker_pool()
|
||||
|
||||
Reference in New Issue
Block a user