Front Arena: Custom Code debuggen und profilen

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

Front Arena hat einen eingebauten Profiler. Die GUI dazu kann mit einem Trick freigeschaltet werden. Wegen der Herstellerbedingungen wird hier aber nur auf öffentliche Informationen Bezug genommen.

Python

debuggen

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

profilen

py-spy ist ein in Rust geschriebener Sampling Profiler, der auch mit einem bereits laufenden CPython-Prozess verbunden werden kann. Dies gelingt grundsätzlich auch mit eingebetteten Python-Interpretern, 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 eine Custom Function schreiben, die um relevante Auswertungen geklammert werden kann und welches deren Auswertungszeitpunkt und -dauer ausgibt.


Alle Angaben ohne Gewähr • HomeKontakt