Skip to content

PulsePHP v1.0.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@Khyarus Khyarus released this 29 Sep 14:26
· 9 commits to main since this release

Primeira versão Beta pública. As funcionalidades centrais estão completas e a API é considerada estável o suficiente para uso em testes, sujeita a ajustes até o lançamento 1.0.0 estável.

Adicionado

  • Núcleo standalone para PHP 8.1+ com inicialização via Pulse::init().
  • Buffer em memória com gravação em lote (flush) no encerramento do processo.
  • Normalização e catalogação de SQL, agrupando consultas equivalentes.
  • Timers para medir duração e variação de memória de operações (pulse_start / pulse_end).
  • Captura automática de requisições web e exceções via coletores.
  • Contexto de serviço e rota em cada requisição registrada.
  • Chamadas SQL explícitas via Pulse::getInstance()->recordQuery().
  • Dashboard ao vivo em HTML + JS com filtros por período, serviço e rota.
  • Gráficos e sparklines de throughput e latência por serviço e rota.
  • Widgets de slow queries, slow spans e chamadas externas (outbound).
  • Cartões de saúde por rota, sinalizando degradação.
  • Painel de erros e exceções com classe, rota e serviço.
  • Armazenamento local em SQLite (arquivo único, sem infraestrutura externa).

Integração com Laravel 9+

  • Service provider com auto-discovery via Composer.
  • Captura automática do cliente Illuminate\Support\Facades\Http como span http.outbound:{host} e como chamada externa.
  • Remoção de credenciais e query string das URLs persistidas por segurança.
  • Migração automática de bancos SQLite v1 existentes, sem apagar dados.

Segurança

  • Dashboard negado por padrão: exige configuração de política de acesso (Gate viewPulse, Basic Auth e/ou whitelist de IPs).

Documentação e Qualidade

  • README completo com demonstração, instalação, uso e integração com Laravel.
  • Suíte de testes com PHPUnit executada em PHP 8.1, 8.2 e 8.3 no GitHub Actions.
  • Templates de issue, Pull Request e CONTRIBUTING.md.

Observações

  • Versão de pré-lançamento: a API pode sofrer pequenos ajustes antes de 1.0.0.
  • Para instalá-la com o Composer, é necessário permitir versões instáveis:
composer require jgcansi/pulse-php:^1.0@beta