blog

Frohes neues Jahr 2022 mit zwei neuen Veröffentlichungen

Bandsaw 0.3 und Multimeter 0.1

Frohes neues Jahr! Wir feiern den Beginn des Jahrs 2022 mit zwei neuen Veröffentlichungen. Im letzten Monat haben wir an neuen Funktionen gearbeitet, die das Verständnis von Workflows verbessern, indem Metriken, Task-spezifische Logdaten sowie eine Historie vergangener Ausführungen erfasst werden. Diese Arbeit findet in zwei neuen Veröffentlichungen ihren Abschluß:

Messen von Laufzeitmetriken mittels “Multimeter”

Im Dezember haben wir mit “Multimeter” eine neue Bibliothek veröffentlicht, die es einfach macht, Laufzeitmetriken wie CPU-Auslastung, Speicherverbrauch oder Datentransfer für beliebigen Pythoncode zu erfassen. Die gesammelten Daten können auch automatisch in Zeitreihedatenbanken wie InfluxDB gespeichert und mit Grafana visualisiert werden.

Visualisierung von Metriken

Eine ausführliche Beschreibung von Multimeter findet sich auf unserem documentation hub.

Erfassen von Workflows und ihrem Laufzeitverhalten

Aufbauend auf “Multimeter” bringt die Version 0.3 unserer Bibliothek “Bandsaw” neue Features, die es erlauben, alle Ausführungen eines Workflows zu erfassen und die dabei benötigten Resourcen auf individueller Taskebene zu ermitteln. Dies ermöglicht, unterschiedliche Ausführungen zu vergleichen und dabei Tasks zu identifizieren, die Flaschenhälse im Workflow sind. Die gesammelten Metriken werden zusammen mit taskspezifischen Logdateien gesammelt und können so später analysiert werden. Hier eine kurze Liste der neuen Funktionen:

  • Neue TrackerExtension, die Workflowausführungen, Tasks, ihre Ergebnisse und angehängte Dateien erfasst.
  • Neue “MetricsAdvice”, die Metriken bei der Berechnung von Tasks erfasst.
  • “LoggingAdvice” speichert nun taskspezifische Logdateien.
  • “JsonFormatter” erstellt Logdateien mit strukturiertem Format.

Wie sonst auch findet sich die neue Version bereits auf PyPI und kann mittels pip install bandsaw installiert werden. Die Dokumentation wurde auch bereits auf die neueste Version aktualisiert.

Unsere nächsten Pläne

Im Januer werden wir uns auf das nächste noch fehlende Basisfunktionalität konzentrieren, das automatische Verwalten von Daten.

  • 0.4: Unterstützung für das automatische Speichern und Laden von Daten.
  • 0.5: Asynchrone Ausführung von Tasks.

Für Fragen oder anderen Austausch über unsere Bibliotheken, erreicht ihr uns auf discord.

Adieda, Christoph

References

Bandsaw

Multimeter

2022-01-01