Front Arena: Custom Code debuggen und profilen

Wegen der Herstellerbedingungen wird hier nur auf öffentliche Informationen Bezug genommen.

FIS Front Arena lässt sich durch Code in ADFL und Python anpassen. Es ist dabei nicht immer erkennbar, wann welcher Custom Code ausgeführt wird, wie häufig und wie lange die Ausführung gedauert hat.

Python

debuggen

Die Python Standard-Bibliothek enthält einen interaktiven Debugger. Damit kann der Programm-Ablauf unterbrochen und der Zustand bzw. weitere Verlauf untersucht werden.

profilen

py-spy ist ein in Rust geschriebener Sampling Profiler, der sich mit einem bereits laufenden Python-Interpreter-Prozess verbinden lässt. Dies funktioniert grundsätzlich auch für eingebettete Python-Interpreter, z.B. die in Front Arena Prozessen.

py-spy kann das Laufzeitverhalten sowohl von Python-Code untersuchen, als auch von nativem Code, z.B. in Prime oder Python-Erweiterungen (insofern diese im Debug-Modus kompiliert wurden).

Leider erkennt py-spy nicht immer für alle Interpreter die Python-Version und beendet sich.

ADFL

Ähnlich zu Rusts dbg!()-Makro lässt sich ein Extension Attribut schreiben, das um relevante Auswertungen geklammert werden kann und welches deren Auswertungszeitpunkt und -dauer ausgibt.

made with makāmau