Uma ferramenta de benchmark de API desenvolvida com Vue.js e Electron, permitindo testar o desempenho de múltiplos endpoints simultaneamente.
- Interface gráfica intuitiva
- Suporte a múltiplos endpoints simultâneos
- Configuração personalizada de headers
- Métodos HTTP: GET, POST, PUT, DELETE
- Gráficos em tempo real
- Estatísticas detalhadas
- Suporte a corpo de requisição JSON
- Configuração de requisições por segundo
- Duração personalizada por endpoint
- Node.js 14.x ou superior
- npm 6.x ou superior
- Clone o repositório:
git clone https://github.com/seu-usuario/hades-benchmark.git
cd hades-benchmark
- Instale as dependências:
npm install
Para executar em modo de desenvolvimento:
npm run serve
A aplicação estará disponível em http://localhost:3400
Para executar a versão desktop:
npm run start
npm run build:mac
Gera:
.dmg
(instalador).zip
(versão portátil)
npm run build:linux
Gera:
.AppImage
(versão portátil).deb
(instalador para distribuições baseadas em Debian)
npm run build:win
Gera:
.exe
(instalador NSIS).exe
(versão portátil)
Os binários serão gerados na pasta dist_electron
.
-
Configuração Base
- Insira a URL base da API (ex:
https://api.example.com
) - Adicione os headers necessários (ex: Authorization, Content-Type)
- Insira a URL base da API (ex:
-
Configuração de Endpoints
- Clique em "+ Adicionar Endpoint"
- Configure para cada endpoint:
- Path (ex:
/api/users
) - Método HTTP (GET, POST, PUT, DELETE)
- Requisições por segundo
- Duração em segundos
- Corpo da requisição (para métodos não-GET)
- Path (ex:
-
Execução do Benchmark
- Clique em "Iniciar Benchmark"
- Observe o gráfico em tempo real
- Acompanhe o tempo restante
- Use "Parar Benchmark" para interromper o teste
-
Análise de Resultados O gráfico mostra:
- Linha verde: requisições bem-sucedidas
- Linha vermelha: requisições com falha
Estatísticas disponíveis:
- Total de requisições
- Número de sucessos
- Número de falhas
- Tempo médio de resposta
- Taxa de sucesso
hades-benchmark/
├── src/
│ ├── components/
│ │ ├── BenchmarkForm.vue # Formulário de configuração
│ │ ├── BenchmarkChart.vue # Componente do gráfico
│ │ └── Benchmark.vue # Componente principal
│ ├── App.vue # Componente raiz
│ └── main.js # Ponto de entrada
├── public/
├── dist/ # Build da aplicação web
├── dist_electron/ # Binários gerados
└── package.json
npm run serve
: Inicia o servidor de desenvolvimentonpm run build
: Gera a build da aplicação webnpm run start
: Inicia a aplicação Electronnpm run lint
: Executa o linternpm run build:mac
: Gera binário para macOSnpm run build:linux
: Gera binário para Linuxnpm run build:win
: Gera binário para Windows
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature
) - Commit suas mudanças (
git commit -m 'Adiciona nova feature'
) - Push para a branch (
git push origin feature/nova-feature
) - Abra um Pull Request
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.