{"id":28406887,"url":"https://github.com/powerapi-ng/jouleit","last_synced_at":"2025-10-18T16:56:01.331Z","repository":{"id":51147942,"uuid":"262030096","full_name":"powerapi-ng/jouleit","owner":"powerapi-ng","description":"A repository of scripts that can be used to monitor energy consumption.","archived":false,"fork":false,"pushed_at":"2025-03-06T08:20:25.000Z","size":161,"stargazers_count":16,"open_issues_count":0,"forks_count":5,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-06-02T08:19:32.093Z","etag":null,"topics":["bash","energy","energy-consumption","energy-scripts","intel-rapl","rapl"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/powerapi-ng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-05-07T11:20:08.000Z","updated_at":"2025-03-06T08:20:29.000Z","dependencies_parsed_at":"2025-04-13T16:29:01.543Z","dependency_job_id":"24238c53-7b82-4fac-a7a9-85a7815132b5","html_url":"https://github.com/powerapi-ng/jouleit","commit_stats":{"total_commits":42,"total_committers":4,"mean_commits":10.5,"dds":"0.40476190476190477","last_synced_commit":"71a11c56b55fa50610fa5716eed80bd9413cefec"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/powerapi-ng/jouleit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerapi-ng%2Fjouleit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerapi-ng%2Fjouleit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerapi-ng%2Fjouleit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerapi-ng%2Fjouleit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/powerapi-ng","download_url":"https://codeload.github.com/powerapi-ng/jouleit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/powerapi-ng%2Fjouleit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262569545,"owners_count":23330239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","energy","energy-consumption","energy-scripts","intel-rapl","rapl"],"created_at":"2025-06-01T23:10:34.706Z","updated_at":"2025-10-18T16:56:01.250Z","avatar_url":"https://github.com/powerapi-ng.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jouleit\nA repository of scripts that can be used to monitor energy consumption for any program.\n\n\n# Requirements  \n- *Linux*: \nRight now **jouleit** uses the Intel \"_Running Average Power Limit_\" (RAPL) technology that estimates power consumption of the CPU, ram and integrated GPU.\nThis technology is available on Intel CPU since the [Sandy Bridge generation](https://fr.wikipedia.org/wiki/Intel#Historique_des_microprocesseurs_produits)(2010).\n\n\n# How to use \n\n   sudo ./jouleit.sh cmd \n\n**jouleit** offers a set of options to help benchmarking and testing programs. The avialable options are \n\n## Flags and options \n\n| **Flag**            | **Description**                                                                                                                                                        |     **Default value**     |\n| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-----------------------: |\n| -g                  | print the details of all sockets instead of the aggregation                                                                                                            |           False           |\n| -b                  | print the results in the format of *KEY1:VALUE1;KEY2:VALUE2..                                                                                                          |           False           |\n| -l                  | list all the available domains (CPU, DRAM, etc.) and print them in the form of a header of CSV                                                                         |                           |\n| -c                  | print only the values in CSV format (value1;value2;value3). We recommend using this after running **jouleit** with the -l flag to see the order of the measured values |           false           |\n| -s **s0**,**s1**,.. | measure only the energy of the component in the sockets **s1,s2...**                                                                                                   | all the available sockets |\n| -o **ofilename**    | redirect the output and the log of the executed program to the file `ofilename`                                                                                        |                           |\n| -n **N**            | run the program **N** times and record the measured values in `jfilename` file                                                                                         |                           |\n| -j **jfilename**    | redirect the csv formatted output of repeated runs to file `jfilename` file                                                                                            |    date##########.csv     |\n| -h                  | display the help message                                                                                                                                               |                           |\n\n\n# Examples\n\nwe want to measure a Python script called `work.py` \n\ninstead of running it like this \n\n    python work.py \n![alone](https://github.com/powerapi-ng/jouleit/blob/master/img/example_alone.png)\n\n\nwe run it with **jouleit** like this \n   \n      sudo ./jouleit.sh python work.py \n\n![the default option ](https://github.com/powerapi-ng/jouleit/blob/master/img/example_default.png)\nif we want to aggregate the results we can use the flag `-g` \n\n    sudo ./jouleit.sh -g python work.py \n![aggregated version](https://github.com/powerapi-ng/jouleit/blob/master/img/example_aggregated.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowerapi-ng%2Fjouleit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpowerapi-ng%2Fjouleit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowerapi-ng%2Fjouleit/lists"}