Front Arena: Custom-Code debuggen und profilen

Die Nutzungsbedingungen der Front Arena Dokumentation erlauben keine (auch nur auszugsweise) Veröffentlichung. Daher wird hier nur auf öffentliche Informationen Bezug genommen.

FIS Front Arena lässt sich durch Code in ADFL und Python anpassen. Es ist jedoch nicht immer offensichtlich, welcher Custom-Code wann 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 ist es möglich, den Programm-Ablauf zu unterbrechen und den Zustand/weiteren Verlauf durch Eingabe von Kommandos zu untersuchen.

profilen

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

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 Python-Installationen die Version und beendet sich.

ADFL

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

made with makāmau