diff-jjoules

diff-jjoules is a tool to run in your continuous integration to measure the impact of commits on the energy consumption of the program :seedling:

https://github.com/davidson-consulting/diff-jjoules

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.0%) to scientific vocabulary

Keywords

continuous-integration java sustainability
Last synced: 4 months ago · JSON representation ·

Repository

diff-jjoules is a tool to run in your continuous integration to measure the impact of commits on the energy consumption of the program :seedling:

Basic Info
  • Host: GitHub
  • Owner: davidson-consulting
  • License: gpl-3.0
  • Language: Java
  • Default Branch: main
  • Homepage:
  • Size: 11.6 MB
Statistics
  • Stars: 4
  • Watchers: 2
  • Forks: 5
  • Open Issues: 12
  • Releases: 1
Topics
continuous-integration java sustainability
Created about 5 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Contributing License Citation

README.md

Diff-JJoules · tests Maintainability Rating codecov

diff-jjoules is a tool to be integrated in your continuous integration in order to * measure the impact of commits on the energy consumption of the program * break the build in case of an energy regression has been detected.

Prerequisites

  • Java 8+
  • Maven3

To use diff-jjoules, you need to install:

Install

Then, you can install diff-jjoules:

sh git clone https://github.com/davidson-consulting/diff-jjoules.git cd diff-jjoules mvn clean install -DskipTest

You should also install the maven plugin, from diff-jjoules folder:

sh cd diff-jjoules-maven mvn clean install -DskipTest

Usage

The easiest way to use diff-jjoules, you need to clone your project twice: one for the version before applying the commit, and one for the version after applying the commit. In the following, we consider path/v1 as the path to the version of the program before applying the commit, and path/v2 as the path to the version of the program after applying the commit.

You can run diff-jjoules with the following command line, from path/v1, where your pom.xml is:

shell mvn fr.davidson:diff-jjoules:diff-jjoules-maven -Dpath-dir-second-version=path/v2

Before running on your own project, wa advise to run the demo before.

Detailed Documentation

We provide a detailed documentation here.

Contributing

If you have any questions, remarks, suggestions or bug reports, please do not hesitate to open an issue. Diff-JJoules is licensed under GNU GPL. Contributions and pull requests are very welcome :smiley:. For more information on contributing, see the dedicated CONTRIBUTING.md.

Owner

  • Name: Davidson
  • Login: davidson-consulting
  • Kind: organization
  • Email: johann.besse@davidson.fr
  • Location: Paris

Citation (CITATION.cff)

cff-version: 1.2.0
preferred-citation:
  title: "Can We Spot Energy Regressions using Developers Tests?"
  year: "2021"
  type: article
  journal: "ArXiv e-prints"
  status: "preprint"
  url: "https://arxiv.org/abs/2108.05691"
  authors:
    - family-names: Danglot
      given-names: Benjamin
    - family-names: Jean-Rémy
      given-names: Falleri
    - family-names: Rouvoy
      given-names: Romain

GitHub Events

Total
Last Year

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 255
  • Total Committers: 2
  • Avg Commits per committer: 127.5
  • Development Distribution Score (DDS): 0.016
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
danglotb b****t@d****r 251
TT 9****t 4
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: almost 2 years ago

All Time
  • Total issues: 21
  • Total pull requests: 52
  • Average time to close issues: 19 days
  • Average time to close pull requests: 3 days
  • Total issue authors: 1
  • Total pull request authors: 4
  • Average comments per issue: 0.71
  • Average comments per pull request: 0.15
  • Merged pull requests: 46
  • Bot issues: 0
  • Bot pull requests: 4
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • danglotb (21)
Pull Request Authors
  • danglotb (43)
  • dependabot[bot] (4)
  • dendritett (4)
  • badetitou (2)
Top Labels
Issue Labels
enhancement (17) help wanted (10) good first issue (8) documentation (4) bug (1)
Pull Request Labels
dependencies (4) invalid (2) wontfix (2)

Dependencies

diff-jjoules-maven/pom.xml maven
  • org.apache.maven.plugin-tools:maven-plugin-annotations 3.5 provided
  • fr.davidson:diff-jjoules 0.0.1-SNAPSHOT
  • org.apache.maven:maven-core 3.5.4
  • org.apache.maven:maven-plugin-api 3.5.4
diff-jjoules-mutation/pom.xml maven
  • org.apache.maven.plugin-tools:maven-plugin-annotations 3.6.2 provided
  • fr.davidson:diff-jjoules 0.0.1-SNAPSHOT
  • fr.davidson:tlpc.sensor 0.0.1-SNAPSHOT
  • fr.inria.gforge.spoon:spoon-core 10.0.1-beta-1
  • org.apache.maven:maven-core 3.8.1
  • org.apache.maven:maven-plugin-api 3.8.1
pom.xml maven
  • com.github.spoonlabs:flacoco 1.0.2
  • com.google.code.gson:gson 2.8.9
  • eu.stamp-project:dspot-diff-test-selection 3.2.0
  • eu.stamp-project:test-runner 4.7
  • fr.davidson:tlpc.sensor 0.0.1-SNAPSHOT
  • fr.inria.gforge.spoon:spoon-core 9.2.0-beta-5
  • org.apache.commons:commons-math3 3.6.1
  • org.apache.maven.shared:maven-invoker 3.1.0
  • org.eclipse.jgit:org.eclipse.jgit 5.12.0.202106070339-r
  • org.junit.jupiter:junit-jupiter-api 5.8.2
  • org.junit.jupiter:junit-jupiter-engine 5.8.2
  • org.junit.platform:junit-platform-runner 1.8.2
  • com.ginsberg:junit5-system-exit 1.1.2 test
src/test/resources/v1/pom.xml maven
  • junit:junit 4.13
  • org.junit.jupiter:junit-jupiter-api 5.3.2
  • org.junit.jupiter:junit-jupiter-engine 5.3.2
  • org.junit.platform:junit-platform-engine 1.3.2
  • org.junit.platform:junit-platform-launcher 1.3.2
src/test/resources/v2/pom.xml maven
  • junit:junit 4.13
  • org.junit.jupiter:junit-jupiter-api 5.3.2
  • org.junit.jupiter:junit-jupiter-engine 5.3.2
  • org.junit.platform:junit-platform-engine 1.3.2
  • org.junit.platform:junit-platform-launcher 1.3.2
  • org.powerapi.jjoules:junit-jjoules 1.0-SNAPSHOT
.github/workflows/checkstyle-mutation.yml actions
  • actions/checkout v2 composite
.github/workflows/checkstyle.yml actions
  • actions/checkout v2 composite
.github/workflows/main-mutation.yml actions
  • actions/checkout v2 composite
.github/workflows/main.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v1.5.2 composite
.github/workflows/pull-request-mutation.yml actions
  • actions/checkout v2 composite
.github/workflows/pull-request.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite