Sobre el proyecto
Pulse es un starter de observabilidad listo para producción para Spring Boot que agrupa las funciones de monitoreo y confiabilidad que suelen faltar en la pila predeterminada. Solo requiere una única dependencia de Maven y funciona sin ningún agente, tejido de bytecode ni runtime personalizado.
Las funciones principales habilitadas por defecto incluyen un firewall de cardinalidad que limita la cardinalidad de etiquetas por métrica para evitar explosiones de costos de métricas, propagación de presupuesto de tiempo de espera que transporta los plazos restantes a través de llamadas HTTP y Kafka, propagación automática de contexto en @Async, @Scheduled y consumidores de Kafka, un guardián de contexto de trazas que detecta la eliminación de traceparent aguas arriba, logs estructurados alineados con OTel con metadatos de deploy/commit/pod/región y enmascaramiento de PII, y huellas de excepción SHA-256 estables que agrupan el mismo bug a través de despliegues.
Los extras adicionales para sistemas distribuidos incluyen un mapa de salud de dependencias, detección de amplificación de reintentos, contexto multi-tenant, prioridad de solicitudes, métricas de memoria conscientes del contenedor, lag de Kafka basado en tiempo, seguimiento de fan-out de solicitudes, SLO-as-code con generación de PrometheusRule, autoinstrumentación de Resilience4j, observabilidad de trabajos en segundo plano, detección de N+1 y consultas lentas en bases de datos, vinculación de caché Caffeine, correlación de OpenFeature, correlación de perfilado continuo, una API de wide-event, drenaje elegante con flush de OTel, detección de deriva de configuración en flotas, una UI de actuator de diagnóstico en vivo y controles de muestreo.
La biblioteca es nativa de Micrometer y compatible con OTLP, funciona con Java 21 y 25, Spring Boot 4.0+, Logback y Log4j2, e imagen nativa de GraalVM (best-effort). Incluye un dashboard de Grafana preconstruido, alertas y runbooks. La sobrecarga de rendimiento está medida con benchmarks JMH: la ruta caliente del firewall de cardinalidad mide aproximadamente 17 ns/op y la emisión de eventos de span aproximadamente 25 ns/op en hardware Apple serie M con JDK 21.
La calidad de construcción incluye Error Prone, NullAway, Spotless, puertas de cobertura JaCoCo, escaneo de seguridad CodeQL, generación de SBOM CycloneDX, firma keyless con Sigstore, CI multi-JDK y builds reproducibles. El proyecto está licenciado bajo MIT y publicado en Maven Central como io.github.arun0009:pulse-spring-boot-starter.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.