Spring Boot auto-configuration for observability with Prometheus metrics and distributed tracing.
- Micrometer metrics with Prometheus registry
- Distributed tracing with Zipkin integration
- Reactive stream observation hooks
- AOP-based method observation via
@Observedannotation
Add dependency to your project:
dependencies {
implementation 'io.aurasage:aurasage-prometheus-observer:0.0.1-SNAPSHOT'
}Default configuration enables observability. Override as needed:
# Disable observability
aurasage.observability.enabled=false
# Tracing configuration
management.tracing.sampling.probability=0.1
management.zipkin.tracing.endpoint=http://zipkin:9411/api/v2/spansWhen enabled, exposes these management endpoints:
/actuator/prometheus- Prometheus metrics/actuator/metrics- Micrometer metrics/actuator/health- Health check
Add @Observed to methods for automatic tracing:
@Service
public class DocumentService {
@Observed(name = "document.upload", contextualName = "upload-document")
public Mono<Document> uploadDocument(DocumentRequest request) {
// method implementation
}
}OBSERVABILITY_ENABLED- Enable/disable observability (default: true)TRACING_SAMPLING_PROBABILITY- Sampling rate (default: 1.0)ZIPKIN_ENDPOINT- Zipkin server URL (default: http://localhost:9411/api/v2/spans)