Energieverbrauchsmessung von JUnit Tests durch die jPowerMonitor Extension
Für Green Coding sind Tools zur Energieverbrauchsmessung notwendig. In diesem Beitrag wird genauer beschrieben, was die JUnit-Extension des jPowerMonitor misst und wie sie zu verwenden ist.
In dieser Collection enthalten:
Collection öffnenNeuerungen in Phase V der NGFS-Klimaszenarien und deren Auswirkungen im Finanzsektor
Studie Sustainable Banking 2024: Fortschritte und Handlungsbedarf der Institute auf dem Weg zu mehr Nachhaltigkeit
REBAECA - Die neue Beurteilung der Umweltwirkung von Krediten im Retail Banking
Sustainable Banking - Studie 2024
jPowerMonitor Cloud-Toolkit
Transitionspläne und -strategien für den Bankensektor
Green IT: Benchmarking zur Beurteilung von Energie- und CO₂-Effizienz
ESG-Reporting und -Offenlegung: Nachhaltigkeit in Aktion
Nachhaltigkeit im Kreditgeschäft: Die Relevanz von ESG-Kriterien und einer strategischen Ausrichtung
Biodiversität: Ein unterschätztes Risiko für den Finanzsektor
Wie im Blogbeitrag „Green Coding – Energieverbrauch von Software messen“ beschrieben wurde, wollen wir sowohl mit dem Java Agent als auch mit der JUnit Extension des jPowerMonitors eine aktuell noch bestehende Lücke in den bereits etablierten Tools zur Energieverbrauchsmessung schließen. Was sind Unittests und wie kann die Extension richtig eingesetzt werden? Diese Fragen beantworten wir im Folgenden.
Unittests
Unittests sind seit langem fester Bestandteil des Softwareentwicklungsprozesses. Tests bieten diverse Vorteile und werden regelmäßig über den Entwicklungs- und Wartungsprozess hinweg verwendet.1 Unsere Extension könnte neuer Bestandteil des etablierten Java-Unittestings mit JUnit werden. Sie soll Softwareentwickler in ihrer täglichen Arbeit unterstützen, wobei die Verwendung möglichst einfach und unkompliziert sein soll.
Verwendung der Extension
Um die JPowerMonitorExtension zu registrieren und damit für die eigenen Unittests zu verwenden, wird der Test mit @ExtendWith annotiert. Die Annotation kann mehrfach zu einem Test hinzugefügt werden oder eine Liste von Extensions als Parameter enthalten.2
Abbildung 1: Beispiel für Registrierung der jPowerMonitor-Unittest-Extension
Am besten werden die Testfälle als @RepeatedTests3 ausgeführt. Bei der Annotation kann angegeben werden, wie oft ein Test wiederholt werden soll, beispielsweise immer zehnmal. Im Ergebnis-CSV kann dann der Durchschnitt der Ergebnisse berechnet werden. Durch die Wiederholung und die Berechnung des Durchschnittes werden die Messergebnisse genauer und aussagekräftiger.
Abbildung 2: Beispiel für RepeatedTest
Messergebnisse
Die Extension ermöglicht es, den Energieverbrauch einzelner Unittests zu ermitteln und in eine CSV-Datei zu schreiben. Diese CSV-Datei kann für spätere Überwachung und Analysen genutzt werden und enthält alle berücksichtigten Messpunkte.
Abbildung 3: Beispiel einer Ergebnis-CSV
Folgende Elemente werden ausgegeben:
- Uhrzeit des Tests
- Name des gemessenen Testfalls
- Sensor bzw. Rechnername
- Messwert inklusive Einheit (W)
- Grundlast inklusive Einheit (W)
- Verbrauchte Energie inklusive Einheit (Wh)
- Energiewert + Grundlast inklusive Einheit (Wh)
Fazit
Wir haben unser Ziel, mit der JUnit-Extension die Energieverbräuche verschiedener Implementierungen eines Algorithmus zu vergleichen, erreicht. Damit kann eine bestehende Lücke in den etablierten Tools zur Energieverbrauchsmessung geschlossen werden. Wie unser Beispiel zeigt, ist der Einsatz der JUnit-Extension einfach und unproblematisch möglich, wobei das wiederholte Ausführen der Tests zu verlässlicheren Messergebnissen führt.
Quellen
Sustainable Banking
Nachhaltigkeit ist aus der Branche Banking nicht mehr wegzudenken. Treiber sind zum einen die Initiativen von Gesetzgebern und Regulatoren. Aber auch Kunden stellen vermehrt nachhaltige, umweltfreundliche und klimaschonende Aspekte in den Mittelpunkt ihrer Finanzentscheidungen. Um den langfristigen ökonomischen Erfolg zu sichern sowie die regulatorischen Hürden zu meistern, müssen Banken frühzeitig ihre Geschäftstätigkeit auf Nachhaltigkeitsziele ausrichten und fit sein für den Umgang mit Nachhaltigkeitsrisiken.
Wie sieht die optimale Vorbereitung auf eine nachhaltige Zukunft in der Branche Banking aus? Dieser Frage gehen wir in unserer Serie Sustainable Banking auf den Grund. Mehr Informationen zu diesem Zukunftsthema finden Sie auf unserer Webseite.
Sie müssen sich anmelden, um einen Kommentar zu schreiben.