Sobre o projeto

O Pulse é um starter de observabilidade para produção com Spring Boot que reúne os recursos de monitoramento e confiabilidade que normalmente faltam na stack padrão. Ele exige apenas uma única dependência Maven e funciona sem qualquer agente, tecelagem de bytecode (bytecode weaving) ou runtime personalizado. Os recursos principais habilitados por padrão incluem um firewall de cardinalidade que limita a cardinalidade de tags por medidor para evitar explosões de custo de métricas, propagação de orçamento de timeout que transporta os prazos restantes entre chamadas HTTP e Kafka, propagação automática de contexto em @Async, @Scheduled e consumidores Kafka, um guard de contexto de trace que detecta a remoção de traceparent upstream, logs estruturados alinhados ao OTel com metadados de deploy/commit/pod/região e mascaramento de PII, e impressões digitais SHA-256 estáveis de exceções que agrupam o mesmo bug entre deploys. Extras adicionais para sistemas distribuídos incluem um mapa de saúde de dependências, detecção de amplificação de retries, contexto multi-tenant, prioridade de requisições, métricas de memória cientes de contêiner, lag do Kafka baseado em tempo, rastreamento de fan-out de requisições, SLO-as-code com geração de PrometheusRule, auto-instrumentação do Resilience4j, observabilidade de jobs em segundo plano, detecção de N+1 e slow queries em banco de dados, binding de cache Caffeine, correlação com OpenFeature, correlação de continuous profiling, uma API de wide events, drenagem graciosa (graceful drain) com flush do OTel, detecção de config drift na frota, uma UI de actuator para diagnóstico ao vivo e controles de amostragem. A biblioteca é nativa do Micrometer e compatível com OTLP, com suporte a Java 21 e 25, Spring Boot 4.0+, Logback e Log4j2, e imagem nativa GraalVM (best-effort). Ela vem com um dashboard Grafana pré-construído, alertas e runbooks. A sobrecarga de desempenho é medida com benchmarks JMH: o caminho quente (hot path) do firewall de cardinalidade mede aproximadamente 17 ns/op e a emissão de eventos de span aproximadamente 25 ns/op em hardware Apple série M com JDK 21. A qualidade de build inclui Error Prone, NullAway, Spotless, portões de cobertura JaCoCo, análise de segurança CodeQL, geração de SBOM CycloneDX, assinatura keyless com Sigstore, CI multi-JDK e builds reproduzíveis. O projeto é licenciado sob a licença MIT e publicado no Maven Central como io.github.arun0009:pulse-spring-boot-starter.