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 installPara executar em modo de desenvolvimento:
npm run serveA aplicação estará disponível em http://localhost:3400
Para executar a versão desktop:
npm run startnpm run build:macGera:
.dmg(instalador).zip(versão portátil)
npm run build:linuxGera:
.AppImage(versão portátil).deb(instalador para distribuições baseadas em Debian)
npm run build:winGera:
.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.
