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.
To see how to setup oaklean in your repository please look into First Steps
- 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.
The @oaklean suite consists mainly of three components that help you to measure your javascript/typescript applications.
-
The
@oaklean/profilerpackage 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 -
The
@oaklean/profiler-jest-environmentpackage 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 -
The
OakleanVSCode Extension lets you to interpret the measurements. It integrates the energy measurements directly into your IDE.You can find it here:
- VS Code Extension - Github Repository
- VS Code Extension - Visual Studio Marketplace
- VS Code Extension - Open VSX Registry
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:
Check out our contributing guide to understand our development workflow, learn how to suggest bug fixes and enhancements, and discover how to build and test your changes in Oaklean.
This repository contains multiple packages, all of which are published on NPM. You can find them here:
- Oaklean CLI
- Oaklean Profiler
- Oaklean Profiler-Core
- Oaklean Profiler-Jest-Environment
- Oaklean Windows SensorInterface
This project exists thanks to all the people who contribute
Oaklean is MIT licensed