Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua
Autor(a) principal: | |
---|---|
Data de Publicação: | 2023 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFSCAR |
Texto Completo: | https://repositorio.ufscar.br/handle/ufscar/17558 |
Resumo: | Given the climate context that the world finds itself in, controlling the energy consumption that humans perform on a daily basis is indispensable for the well-being of the planet and sustainability. For software this is no different. This work aimed to analyze the energy consumption in the Continuous Integration process of JavaScript applications. In particular, each step of the process was studied, identifying how energy consumption is distributed, tracing a relationship between the execution time of the steps and energy consumption, in addition to making parallels between these consumptions in the software world and the energy consumption of everyday life. First the energy consumption capture tool perf was selected. Next, JavaScript projects were selected for analysis following some specific criteria, such as the existence of different tests and CI, as well as standardizing all existing nomenclatures in these projects. Finally, the chosen tool was combined with scripts to obtain the raw data and the analysis was performed using spreadsheets. It was possible to verify that the testing stages were the most costly among the stages evaluated. For the relationship between time and energy consumption, it was observed that the energy consumption tends to be linear with time for direct processing, and the non-direct processing tends to present a logarithmic pattern of behavior. Furthermore, it was seen that a project can have, on average, the same energy consumption as a hair dryer and can consume more than a router or an Internet modem. Finally, it was identified that at large scales, these energy consumptions can be significant and attention should be paid to the number of times IC pipelines are run throughout a project development. It can also be observed that the higher the complexity of a test type, the higher its cost in terms of energy, going according to the testing pyramid. |
id |
SCAR_abe77204c56d12c7e4b057b4eb1f8928 |
---|---|
oai_identifier_str |
oai:repositorio.ufscar.br:ufscar/17558 |
network_acronym_str |
SCAR |
network_name_str |
Repositório Institucional da UFSCAR |
repository_id_str |
4322 |
spelling |
Vellone, FabricioEndo, Andre Takeshihttp://lattes.cnpq.br/4221336619791961http://lattes.cnpq.br/3743215808709027ede67df0-4c19-47b3-b543-d8ff85e1b5f62023-03-29T13:42:51Z2023-03-29T13:42:51Z2023-03-22VELLONE, Fabricio. Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua. 2023. Trabalho de Conclusão de Curso (Graduação em Engenharia Elétrica) – Universidade Federal de São Carlos, São Carlos, 2023. Disponível em: https://repositorio.ufscar.br/handle/ufscar/17558.https://repositorio.ufscar.br/handle/ufscar/17558Given the climate context that the world finds itself in, controlling the energy consumption that humans perform on a daily basis is indispensable for the well-being of the planet and sustainability. For software this is no different. This work aimed to analyze the energy consumption in the Continuous Integration process of JavaScript applications. In particular, each step of the process was studied, identifying how energy consumption is distributed, tracing a relationship between the execution time of the steps and energy consumption, in addition to making parallels between these consumptions in the software world and the energy consumption of everyday life. First the energy consumption capture tool perf was selected. Next, JavaScript projects were selected for analysis following some specific criteria, such as the existence of different tests and CI, as well as standardizing all existing nomenclatures in these projects. Finally, the chosen tool was combined with scripts to obtain the raw data and the analysis was performed using spreadsheets. It was possible to verify that the testing stages were the most costly among the stages evaluated. For the relationship between time and energy consumption, it was observed that the energy consumption tends to be linear with time for direct processing, and the non-direct processing tends to present a logarithmic pattern of behavior. Furthermore, it was seen that a project can have, on average, the same energy consumption as a hair dryer and can consume more than a router or an Internet modem. Finally, it was identified that at large scales, these energy consumptions can be significant and attention should be paid to the number of times IC pipelines are run throughout a project development. It can also be observed that the higher the complexity of a test type, the higher its cost in terms of energy, going according to the testing pyramid.Dado o contexto climático que o mundo se encontra, controlar o consumo de energia que os seres humanos realizam diariamente é indispensável para o bem-estar do planeta e da sustentabilidade. Para o software isso não é diferente. Este trabalho teve como objetivo analisar o consumo de energia no processo de Integração Contínua de aplicações JavaScript. Particularmente, estudou-se cada etapa do processo, identificando como se distribui o consumo de energia, traçando uma relação entre o tempo de execução das etapas e o consumo energético, em adição a realizar paralelos entre estes consumos no mundo do software e os consumos de energia do dia-a-dia das pessoas. Primeiro selecionou-se a ferramenta de captura de consumo energético perf. Em seguida, foram selecionadas de projetos JavaScript para análise seguindo alguns critérios específicos, como a existência de diferentes testes e CI, além de padronizar todas as nomenclaturas existentes nesses projetos. Por fim, combinou-se a ferramenta escolhida, scripts para obter os dados brutos e realizou-se as análises por meio de planilhas. Foi possível constatar que as etapas de testes foram as mais custosas dentre as etapas avaliadas. Para a relação entre o tempo e o consumo de energia, observou-se que os consumos energéticos tendem a serem lineares com o tempo para processamentos diretos e os não diretos tendem a apresentar um padrão logarítmico de comportamento. Ademais, viu-se que um projeto pode ter, em média, o mesmo consumo de energia que um secador de cabelo e pode consumir mais que um roteador ou um modem de Internet. Por fim, foi identificado que em grandes escalas, estes consumos de energia podem ser significantes e se deve ter atenção com a quantidade de vezes que as pipelines de CI são executadas ao longo de um desenvolvimento de projeto. Também pode-se observar que quanto maior a complexidade de um tipo de testes, maior seu custo em termos de energia, indo de acordo com a pirâmide de testes.Não recebi financiamentoporUniversidade Federal de São CarlosCâmpus São CarlosEngenharia Elétrica - EEUFSCarAttribution 3.0 Brazilhttp://creativecommons.org/licenses/by/3.0/br/info:eu-repo/semantics/openAccessGreen ComputingPipelinesJavaScriptNodejsPower consumption in softwareAutomated testingContinuous integrationConsumo de energia em softwareTestes automatizadosIntegração ContínuaENGENHARIAS::ENGENHARIA ELETRICA::MEDIDAS ELETRICAS, MAGNETICAS E ELETRONICAS; INSTRUMENTACAOUm estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continuaA study on energy consumption in JavaScript applications: Identifying energy costs for the continuous integration stageinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesis6006004dcaac10-df7e-466b-b225-b7f4efe93d19reponame:Repositório Institucional da UFSCARinstname:Universidade Federal de São Carlos (UFSCAR)instacron:UFSCARCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8913https://repositorio.ufscar.br/bitstream/ufscar/17558/2/license_rdf3185b4de2190c2d366d1d324db01f8b8MD52ORIGINALTCC-Fabricio-Vellone-vFinal.pdfTCC-Fabricio-Vellone-vFinal.pdfTexto do tccapplication/pdf861954https://repositorio.ufscar.br/bitstream/ufscar/17558/1/TCC-Fabricio-Vellone-vFinal.pdf35acc36cc8f417f61660a4dede29738fMD51TEXTTCC-Fabricio-Vellone-vFinal.pdf.txtTCC-Fabricio-Vellone-vFinal.pdf.txtExtracted texttext/plain79442https://repositorio.ufscar.br/bitstream/ufscar/17558/3/TCC-Fabricio-Vellone-vFinal.pdf.txte504c96769f7bb4cf4e66788ac0f181cMD53THUMBNAILTCC-Fabricio-Vellone-vFinal.pdf.jpgTCC-Fabricio-Vellone-vFinal.pdf.jpgIM Thumbnailimage/jpeg6309https://repositorio.ufscar.br/bitstream/ufscar/17558/4/TCC-Fabricio-Vellone-vFinal.pdf.jpg352e51b80d8dd33f3222589b38c5d111MD54ufscar/175582023-09-18 18:32:34.795oai:repositorio.ufscar.br:ufscar/17558Repositório InstitucionalPUBhttps://repositorio.ufscar.br/oai/requestopendoar:43222023-09-18T18:32:34Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)false |
dc.title.por.fl_str_mv |
Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua |
dc.title.alternative.eng.fl_str_mv |
A study on energy consumption in JavaScript applications: Identifying energy costs for the continuous integration stage |
title |
Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua |
spellingShingle |
Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua Vellone, Fabricio Green Computing Pipelines JavaScript Nodejs Power consumption in software Automated testing Continuous integration Consumo de energia em software Testes automatizados Integração Contínua ENGENHARIAS::ENGENHARIA ELETRICA::MEDIDAS ELETRICAS, MAGNETICAS E ELETRONICAS; INSTRUMENTACAO |
title_short |
Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua |
title_full |
Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua |
title_fullStr |
Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua |
title_full_unstemmed |
Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua |
title_sort |
Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua |
author |
Vellone, Fabricio |
author_facet |
Vellone, Fabricio |
author_role |
author |
dc.contributor.authorlattes.por.fl_str_mv |
http://lattes.cnpq.br/3743215808709027 |
dc.contributor.author.fl_str_mv |
Vellone, Fabricio |
dc.contributor.advisor1.fl_str_mv |
Endo, Andre Takeshi |
dc.contributor.advisor1Lattes.fl_str_mv |
http://lattes.cnpq.br/4221336619791961 |
dc.contributor.authorID.fl_str_mv |
ede67df0-4c19-47b3-b543-d8ff85e1b5f6 |
contributor_str_mv |
Endo, Andre Takeshi |
dc.subject.eng.fl_str_mv |
Green Computing Pipelines JavaScript Nodejs Power consumption in software Automated testing Continuous integration |
topic |
Green Computing Pipelines JavaScript Nodejs Power consumption in software Automated testing Continuous integration Consumo de energia em software Testes automatizados Integração Contínua ENGENHARIAS::ENGENHARIA ELETRICA::MEDIDAS ELETRICAS, MAGNETICAS E ELETRONICAS; INSTRUMENTACAO |
dc.subject.por.fl_str_mv |
Consumo de energia em software Testes automatizados Integração Contínua |
dc.subject.cnpq.fl_str_mv |
ENGENHARIAS::ENGENHARIA ELETRICA::MEDIDAS ELETRICAS, MAGNETICAS E ELETRONICAS; INSTRUMENTACAO |
description |
Given the climate context that the world finds itself in, controlling the energy consumption that humans perform on a daily basis is indispensable for the well-being of the planet and sustainability. For software this is no different. This work aimed to analyze the energy consumption in the Continuous Integration process of JavaScript applications. In particular, each step of the process was studied, identifying how energy consumption is distributed, tracing a relationship between the execution time of the steps and energy consumption, in addition to making parallels between these consumptions in the software world and the energy consumption of everyday life. First the energy consumption capture tool perf was selected. Next, JavaScript projects were selected for analysis following some specific criteria, such as the existence of different tests and CI, as well as standardizing all existing nomenclatures in these projects. Finally, the chosen tool was combined with scripts to obtain the raw data and the analysis was performed using spreadsheets. It was possible to verify that the testing stages were the most costly among the stages evaluated. For the relationship between time and energy consumption, it was observed that the energy consumption tends to be linear with time for direct processing, and the non-direct processing tends to present a logarithmic pattern of behavior. Furthermore, it was seen that a project can have, on average, the same energy consumption as a hair dryer and can consume more than a router or an Internet modem. Finally, it was identified that at large scales, these energy consumptions can be significant and attention should be paid to the number of times IC pipelines are run throughout a project development. It can also be observed that the higher the complexity of a test type, the higher its cost in terms of energy, going according to the testing pyramid. |
publishDate |
2023 |
dc.date.accessioned.fl_str_mv |
2023-03-29T13:42:51Z |
dc.date.available.fl_str_mv |
2023-03-29T13:42:51Z |
dc.date.issued.fl_str_mv |
2023-03-22 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
VELLONE, Fabricio. Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua. 2023. Trabalho de Conclusão de Curso (Graduação em Engenharia Elétrica) – Universidade Federal de São Carlos, São Carlos, 2023. Disponível em: https://repositorio.ufscar.br/handle/ufscar/17558. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufscar.br/handle/ufscar/17558 |
identifier_str_mv |
VELLONE, Fabricio. Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua. 2023. Trabalho de Conclusão de Curso (Graduação em Engenharia Elétrica) – Universidade Federal de São Carlos, São Carlos, 2023. Disponível em: https://repositorio.ufscar.br/handle/ufscar/17558. |
url |
https://repositorio.ufscar.br/handle/ufscar/17558 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.confidence.fl_str_mv |
600 600 |
dc.relation.authority.fl_str_mv |
4dcaac10-df7e-466b-b225-b7f4efe93d19 |
dc.rights.driver.fl_str_mv |
Attribution 3.0 Brazil http://creativecommons.org/licenses/by/3.0/br/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Attribution 3.0 Brazil http://creativecommons.org/licenses/by/3.0/br/ |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de São Carlos Câmpus São Carlos Engenharia Elétrica - EE |
dc.publisher.initials.fl_str_mv |
UFSCar |
publisher.none.fl_str_mv |
Universidade Federal de São Carlos Câmpus São Carlos Engenharia Elétrica - EE |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFSCAR instname:Universidade Federal de São Carlos (UFSCAR) instacron:UFSCAR |
instname_str |
Universidade Federal de São Carlos (UFSCAR) |
instacron_str |
UFSCAR |
institution |
UFSCAR |
reponame_str |
Repositório Institucional da UFSCAR |
collection |
Repositório Institucional da UFSCAR |
bitstream.url.fl_str_mv |
https://repositorio.ufscar.br/bitstream/ufscar/17558/2/license_rdf https://repositorio.ufscar.br/bitstream/ufscar/17558/1/TCC-Fabricio-Vellone-vFinal.pdf https://repositorio.ufscar.br/bitstream/ufscar/17558/3/TCC-Fabricio-Vellone-vFinal.pdf.txt https://repositorio.ufscar.br/bitstream/ufscar/17558/4/TCC-Fabricio-Vellone-vFinal.pdf.jpg |
bitstream.checksum.fl_str_mv |
3185b4de2190c2d366d1d324db01f8b8 35acc36cc8f417f61660a4dede29738f e504c96769f7bb4cf4e66788ac0f181c 352e51b80d8dd33f3222589b38c5d111 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR) |
repository.mail.fl_str_mv |
|
_version_ |
1813715660690161664 |