Skip to content

Commit

Permalink
CORE-69: Spring Boot 3.4.0 and otel cleanup (#211)
Browse files Browse the repository at this point in the history
  • Loading branch information
davidangb authored Dec 11, 2024
1 parent c000890 commit 12ac301
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 24 deletions.
35 changes: 15 additions & 20 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ plugins {
id 'com.jfrog.artifactory' version '5.2.5'
id 'org.sonarqube' version '5.1.0.4882'
id 'io.spring.dependency-management' version '1.1.6'
id 'org.springframework.boot' version '3.3.4'
id 'org.springframework.boot' version '3.4.0'
id 'ru.vyarus.quality' version '5.0.0'
id 'com.srcclr.gradle' version '3.1.12'
}
Expand All @@ -20,10 +20,6 @@ project.ext {
isCiServer = System.getenv().containsKey("CI")
}

// Spring Boot 3.2.3 pulls in opentelemetry-bom 1.31.0.
// We need >= 1.32.0 so that our HttpServerMetrics can use Meter.setExplicitBucketBoundariesAdvice:
ext['opentelemetry.version'] = '1.42.1'

// If true, search local repository (~/.m2/repository/) first for dependencies.
def useMavenLocal = false
repositories {
Expand Down Expand Up @@ -51,6 +47,7 @@ dependencies {

// Spring
implementation group: 'org.springframework.retry', name: 'spring-retry'
implementation group: 'org.springframework.boot', name: 'spring-boot-autoconfigure'
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jdbc'
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web'
annotationProcessor group: 'org.springframework.boot', name: 'spring-boot-configuration-processor'
Expand All @@ -77,7 +74,7 @@ dependencies {
runtimeOnly group: 'org.postgresql', name: 'postgresql'

// Terra libraries
implementation group: 'org.broadinstitute.dsde.workbench', name: 'sam-client_2.13', version: '0.1-0c4b377'
implementation group: 'org.broadinstitute.dsde.workbench', name: 'sam-client_2.13', version: 'v0.0.329'
var stairwayVersion= '1.1.15-SNAPSHOT'
api "bio.terra:stairway-gcp:${stairwayVersion}"
implementation "bio.terra:stairway-azure:${stairwayVersion}"
Expand All @@ -87,25 +84,23 @@ dependencies {
implementation group: 'ch.qos.logback.contrib', name: 'logback-json-classic', version: '0.1.5'
implementation group: 'ch.qos.logback.contrib', name: 'logback-jackson', version: '0.1.5'

// OpenTelemetry BOMs (opentelemetry-bom versioned by Spring dependency manager)
// If the following versions get updated, be sure to update line 25 for ext['opentelemetry.version']
implementation platform('io.opentelemetry:opentelemetry-bom-alpha:1.44.1-alpha')
implementation platform('io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:2.10.0')
implementation platform('io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:2.10.0-alpha')
// OpenTelemetry dependencies versioned by BOMs
// OpenTelemetry dependencies:
// Spring Boot 3.4.0 pulls in opentelemetry-bom 1.43.0.
// We choose opentelemetry-instrumentation-bom-alpha:2.9.0-alpha because otel-instrumentation 2.9.0 targets otel 1.43.0.
// When upgrading Spring Boot, re-check these versions.
implementation platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:2.9.0-alpha")
// ... versioned by Spring Boot
api 'io.opentelemetry:opentelemetry-api'
implementation 'io.opentelemetry:opentelemetry-sdk'
implementation 'io.opentelemetry:opentelemetry-sdk-metrics'
implementation 'io.opentelemetry:opentelemetry-exporter-logging'
implementation 'io.opentelemetry.instrumentation:opentelemetry-spring-webmvc-6.0'
implementation 'io.opentelemetry.instrumentation:opentelemetry-instrumentation-api'
implementation 'io.opentelemetry:opentelemetry-exporter-otlp'
implementation 'io.opentelemetry:opentelemetry-sdk-extension-autoconfigure'
// ... versioned by opentelemetry-instrumentation-bom-alpha
implementation 'io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations'
implementation 'io.opentelemetry.instrumentation:opentelemetry-instrumentation-api'
implementation 'io.opentelemetry.instrumentation:opentelemetry-spring-boot-autoconfigure'
implementation 'io.opentelemetry:opentelemetry-exporter-prometheus'
implementation 'io.opentelemetry.semconv:opentelemetry-semconv'
implementation 'io.opentelemetry:opentelemetry-api-incubator'
implementation 'io.opentelemetry:opentelemetry-sdk-extension-autoconfigure'
implementation 'io.opentelemetry:opentelemetry-exporter-otlp'
implementation 'org.springframework.boot:spring-boot-autoconfigure'
implementation 'io.opentelemetry:opentelemetry-exporter-prometheus'

// Google cloud open telemetry exporters
implementation 'com.google.cloud.opentelemetry:exporter-trace:0.33.0'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import org.springframework.boot.test.mock.mockito.SpyBean;
import org.springframework.boot.test.system.CapturedOutput;
import org.springframework.boot.test.system.OutputCaptureExtension;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.http.ResponseEntity;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.bean.override.mockito.MockitoSpyBean;

/**
* A test to verify that the human-readable-logging Spring Profile will disable the configuration of
Expand All @@ -32,7 +32,7 @@ class HumanReadableLoggingTest {

@Autowired private TestRestTemplate testRestTemplate;
// Spy bean to allow us to mock out the RequestIdFilter ID generator.
@SpyBean private RequestIdFilter requestIdFilter;
@MockitoSpyBean private RequestIdFilter requestIdFilter;

@BeforeEach
void setUp() {
Expand Down
4 changes: 2 additions & 2 deletions src/test/java/bio/terra/common/logging/LoggingTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import org.springframework.boot.test.mock.mockito.SpyBean;
import org.springframework.boot.test.system.CapturedOutput;
import org.springframework.boot.test.system.OutputCaptureExtension;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.http.ResponseEntity;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.bean.override.mockito.MockitoSpyBean;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;

/**
Expand Down Expand Up @@ -55,7 +55,7 @@ public class LoggingTest {

@Autowired private TestRestTemplate testRestTemplate;
// Spy bean to allow us to mock out the RequestIdFilter ID generator.
@SpyBean private RequestIdFilter requestIdFilter;
@MockitoSpyBean private RequestIdFilter requestIdFilter;

@BeforeEach
public void setUp() throws IOException, ServletException {
Expand Down

0 comments on commit 12ac301

Please sign in to comment.