Skip to content

hitabisgmbh/oaklean

Repository files navigation

Table of Contents
  1. Why oaklean?
  2. Docs
  3. Getting Started

Why Oaklean?

Oaklean is a groundbreaking software solution that helps developers visualize and optimize the energy consumption of NodeJS applications. Through an innovative VSCode extension and an integration into test frameworks, the system identifies energy-intensive code sections and suggests eco-friendly alternatives. The goal is to raise awareness of responsible resource management in software development, aiming to achieve both ecological and economic benefits.

Docs

  • Fast Config Setup
    A description of how to easily set up Oaklean for your JavaScript/TypeScript project using the @oaklean/cli
  • Config
    In depth description of the config file format
  • SensorInterfaces
    In depth description how to use SensorInterfaces to capture energy measurements and how to measure within docker containers
  • Oaklean Profiler
    A description of how to set up and use the profiler to measure your code.
  • Integration into jest
    A description of how to set up and use the profiler to measure your code during jest tests.

Getting Started

The @oaklean suite consists mainly of three components that help you to measure your javascript/typescript applications.

  1. The @oaklean/profiler package helps you to measure your whole application or only some parts of it. You can find a detailed description of how to use it here

  2. The @oaklean/profiler-jest-environment package allows you to fully automate the energy measurements during your jest tests (supported for Jest versions 28 & 29). This allows comparing changes in energy consumption across multiple development stages and between releases. You can find a detailed description of how to use it here

  3. The Oaklean VSCode Extension lets you to interpret the measurements. It integrates the energy measurements directly into your IDE.

    You can find it here:

    Features By using code highlighting it points out which source code locations consume the most energy:

    Additionally it also provides multiple features to determine the components that consume the most energy, including node modules: