CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-org-springframework-boot--spring-boot-dependencies

Spring Boot Dependencies BOM that provides centralized dependency management for the Spring Boot ecosystem with 200+ library definitions.

Pending
Overview
Eval results
Files

observability.mddocs/

Observability and Monitoring

Metrics, tracing, and monitoring libraries with Micrometer integration. These libraries provide comprehensive observability capabilities for production applications including metrics collection, distributed tracing, and health monitoring.

Capabilities

Metrics Collection

Core metrics collection and registry implementations with Micrometer integration.

// Micrometer core
'io.micrometer:micrometer-core'                          // 1.15.1
'io.micrometer:micrometer-observation'                   // 1.15.1

// Common registries
'io.micrometer:micrometer-registry-prometheus'           // 1.15.1
'io.micrometer:micrometer-registry-jmx'                  // 1.15.1
'io.micrometer:micrometer-registry-graphite'             // 1.15.1

// Cloud provider registries
'io.micrometer:micrometer-registry-cloudwatch'           // 1.15.1
'io.micrometer:micrometer-registry-cloudwatch2'          // 1.15.1
'io.micrometer:micrometer-registry-datadog'              // 1.15.1
'io.micrometer:micrometer-registry-new-relic'            // 1.15.1
'io.micrometer:micrometer-registry-stackdriver'          // 1.15.1

// Time series databases
'io.micrometer:micrometer-registry-influx'               // 1.15.1
'io.micrometer:micrometer-registry-wavefront'            // 1.15.1
'io.micrometer:micrometer-registry-elastic'              // 1.15.1

// Application Performance Monitoring
'io.micrometer:micrometer-registry-appoptics'            // 1.15.1
'io.micrometer:micrometer-registry-dynatrace'            // 1.15.1
'io.micrometer:micrometer-registry-signalfx'             // 1.15.1

Distributed Tracing

Distributed tracing implementations and bridges for microservice observability.

// Micrometer Tracing core
'io.micrometer:micrometer-tracing'                       // 1.5.1

// Brave (Zipkin) integration
'io.micrometer:micrometer-tracing-bridge-brave'          // 1.5.1
'io.zipkin.brave:brave'                                  // 6.1.0
'io.zipkin.brave:brave-instrumentation-http'            // 6.1.0
'io.zipkin.brave:brave-instrumentation-spring-web'      // 6.1.0
'io.zipkin.brave:brave-instrumentation-spring-webmvc'   // 6.1.0

// OpenTelemetry integration
'io.micrometer:micrometer-tracing-bridge-otel'           // 1.5.1
'io.opentelemetry:opentelemetry-api'                     // 1.49.0
'io.opentelemetry:opentelemetry-sdk'                     // 1.49.0
'io.opentelemetry:opentelemetry-exporter-zipkin'         // 1.49.0
'io.opentelemetry:opentelemetry-exporter-jaeger'         // 1.49.0

// Zipkin reporting
'io.zipkin.reporter2:zipkin-reporter'                    // 3.5.1
'io.zipkin.reporter2:zipkin-sender-okhttp3'              // 3.5.1
'io.zipkin.reporter2:zipkin-sender-kafka'                // 3.5.1

Prometheus Integration

Prometheus metrics exposition and client libraries.

// Prometheus client (new metrics)
'io.prometheus:prometheus-metrics-core'                  // 1.3.8
'io.prometheus:prometheus-metrics-exposition-formats'    // 1.3.8
'io.prometheus:prometheus-metrics-instrumentation-jvm'   // 1.3.8
'io.prometheus:prometheus-metrics-exporter-httpserver'   // 1.3.8
'io.prometheus:prometheus-metrics-exporter-servlet-jakarta' // 1.3.8

// Prometheus client (legacy simpleclient)
'io.prometheus:simpleclient'                             // 0.16.0
'io.prometheus:simpleclient_httpserver'                  // 0.16.0
'io.prometheus:simpleclient_servlet_jakarta'             // 0.16.0
'io.prometheus:simpleclient_pushgateway'                 // 0.16.0

Health Monitoring

Application health and liveness monitoring with Spring Boot Actuator.

// Spring Boot Actuator
'org.springframework.boot:spring-boot-starter-actuator'  // 3.5.3
'org.springframework.boot:spring-boot-actuator'          // 3.5.3
'org.springframework.boot:spring-boot-actuator-autoconfigure' // 3.5.3

Logging and Structured Output

Logging frameworks with structured output and correlation support.

// SLF4J (logging facade)
'org.slf4j:slf4j-api'                                    // 2.0.17

// Logback (default Spring Boot logging)
'ch.qos.logback:logback-classic'                         // 1.5.18
'ch.qos.logback:logback-core'                            // 1.5.18

// Log4j2 alternative
'org.apache.logging.log4j:log4j-core'                    // 2.24.3
'org.apache.logging.log4j:log4j-slf4j2-impl'             // 2.24.3
'org.apache.logging.log4j:log4j-layout-template-json'    // 2.24.3

// Logging bridges
'org.slf4j:jul-to-slf4j'                                 // 2.0.17
'org.slf4j:log4j-over-slf4j'                             // 2.0.17
'org.slf4j:jcl-over-slf4j'                               // 2.0.17

// JBoss Logging (used by Hibernate)
'org.jboss.logging:jboss-logging'                        // 3.6.1.Final

Application Performance Monitoring

APM agent libraries and instrumentation.

// Java agent instrumentation
'net.bytebuddy:byte-buddy'                               // 1.17.6
'net.bytebuddy:byte-buddy-agent'                         // 1.17.6

// Micrometer common utilities
'io.micrometer:micrometer-commons'                       // 1.15.1

Usage Examples

Basic Observability Setup

dependencies {
    implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
    
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    implementation 'io.micrometer:micrometer-registry-prometheus'
    
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Distributed Tracing with Zipkin

dependencies {
    implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
    
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    
    // Micrometer tracing with Brave/Zipkin
    implementation 'io.micrometer:micrometer-tracing-bridge-brave'
    implementation 'io.zipkin.reporter2:zipkin-reporter-brave'
    
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

OpenTelemetry Integration

dependencies {
    implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
    
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    
    // OpenTelemetry tracing
    implementation 'io.micrometer:micrometer-tracing-bridge-otel'
    implementation 'io.opentelemetry:opentelemetry-exporter-zipkin'
    
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Multi-Registry Metrics

dependencies {
    implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
    
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    
    // Multiple metrics registries
    implementation 'io.micrometer:micrometer-registry-prometheus'
    implementation 'io.micrometer:micrometer-registry-jmx'
    implementation 'io.micrometer:micrometer-registry-cloudwatch'
    
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Custom Prometheus Metrics

dependencies {
    implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
    
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    
    // Prometheus metrics with custom instrumentation
    implementation 'io.micrometer:micrometer-registry-prometheus'
    implementation 'io.prometheus:prometheus-metrics-core'
    implementation 'io.prometheus:prometheus-metrics-instrumentation-jvm'
    
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Structured Logging with JSON

dependencies {
    implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
    
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    
    // Switch to Log4j2 for JSON logging
    implementation('org.springframework.boot:spring-boot-starter-log4j2') {
        exclude module: 'spring-boot-starter-logging'
    }
    implementation 'org.apache.logging.log4j:log4j-layout-template-json'
    
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Complete Observability Stack

dependencies {
    implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
    
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    
    // Metrics collection
    implementation 'io.micrometer:micrometer-registry-prometheus'
    implementation 'io.micrometer:micrometer-registry-jmx'
    
    // Distributed tracing
    implementation 'io.micrometer:micrometer-tracing-bridge-brave'
    implementation 'io.zipkin.reporter2:zipkin-reporter-brave'
    
    // Custom metrics
    implementation 'io.prometheus:prometheus-metrics-core'
    
    runtimeOnly 'org.postgresql:postgresql'
    
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.testcontainers:postgresql'
}

Cloud-Native Observability

dependencies {
    implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
    
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    
    // Cloud provider specific metrics
    implementation 'io.micrometer:micrometer-registry-cloudwatch'
    implementation 'io.micrometer:micrometer-registry-datadog'
    
    // Distributed tracing for cloud
    implementation 'io.micrometer:micrometer-tracing-bridge-otel'
    implementation 'io.opentelemetry:opentelemetry-exporter-jaeger'
    
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Configuration Examples

Prometheus Metrics Endpoint

# application.yml
management:
  endpoints:
    web:
      exposure:
        include: health,info,metrics,prometheus
  endpoint:
    prometheus:
      enabled: true
  metrics:
    export:
      prometheus:
        enabled: true

Distributed Tracing Configuration

# application.yml
management:
  tracing:
    sampling:
      probability: 0.1
  zipkin:
    tracing:
      endpoint: http://zipkin:9411/api/v2/spans

Multi-Registry Configuration

# application.yml
management:
  metrics:
    export:
      prometheus:
        enabled: true
      jmx:
        enabled: true
      cloudwatch:
        namespace: MyApplication
        enabled: true

Install with Tessl CLI

npx tessl i tessl/maven-org-springframework-boot--spring-boot-dependencies

docs

data-access.md

index.md

observability.md

spring-boot-components.md

spring-integration.md

testing.md

web-http.md

tile.json