Tech Tip #63: Add an energy check to CI

Your CI catches slow code. Does it catch hungry code?

Video created by explainapaper.com

The problem

Pipelines test correctness and sometimes performance, but energy regressions slip through for months. The research shows energy checks in CI are feasible; almost nobody runs them.

The fix you can use today

  • Measure a fixed scenario's energy in CI on the same runner every time.
  • Set a threshold and flag builds that exceed it.
  • Repeat runs to separate a real regression from noise.

GreenCode researchers found that energy checks can run in CI just like speed checks, but few teams do it.

Tools that help

  • Eco CI: estimates the energy of CI pipeline runs on GitHub Actions and GitLab, per step
  • Green Metrics Tool: measures the energy of whole software scenarios run in containers, so runs can be repeated and compared
  • GreenFrame: measures the footprint of a web application's user scenarios and enforces carbon budgets in CI

How GreenCode helps

GreenCode helps tackle this by building the test scenario for you: a load test generated from the system's own endpoints that records energy as well as speed and ranks the hotspots by energy. More on this.

Tags

#ci-cd#testing#measurement

Sources

All GreenCode Tech Tips

  • Tip #63
  • For Ops and infrastructure
  • Category Testing, CI and code quality
  • Format short video
GreenCode

Want this checked on your own system? Talk to the GreenCode team.

Get in touch