Envio das métricas ao PushGateway #138
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
O modelo de coleta de métricas do Prometheus, baseado em pull, pode não ser a melhor abordagem em cenários onde as aplicações têm um tempo de vida muito curto. Nesses casos, o Prometheus pode não conseguir realizar a coleta (scraping) a tempo de capturar as métricas. Para essas situações, o PushGateway se apresenta como uma solução mais eficaz. Com ele, o JMeter pode enviar as métricas diretamente para o PushGateway utilizando o modelo de push, enquanto o Prometheus realiza a coleta (pull) das métricas a partir do PushGateway.
Este Pull Request introduz novos campos na tela de configuração do Listener, permitindo que o usuário defina se deseja enviar as métricas para o PushGateway. Além disso, é possível configurar o host de destino, o nome do job e o intervalo de envio das métricas. Quando a opção de envio para o PushGateway é habilitada, um scheduler é configurado para enviar as métricas no intervalo especificado e também ao final da execução do teste, garantindo que todas as métricas sejam devidamente enviadas.
Essa implementação é especialmente útil em servidores que executam testes com JMeter, onde a máquina pode ser desligada ou o processo pode ser finalizado logo após a execução dos testes. Nesses casos, o Prometheus não conseguiria realizar o scraping dos últimos resultados. Com esta nova funcionalidade, o plugin envia os dados para o PushGateway assim que os testes são concluídos, além de enviar as métricas em intervalos regulares, garantindo que todas as métricas dos testes estejam disponíveis.
É importante ressaltar que, mesmo com a opção de PushGateway habilitada, o servidor que responde ao endpoint /metrics continuará ativo. Assim, ambas as opções podem coexistir sem conflito.
Esse PR resolve os problemas relatados na issue #23.