Skip to content

Commit 404e0a3

Browse files
committed
Update to Micrometer 2.0.0-SNAPSHOT
See gh-4079
1 parent 437f479 commit 404e0a3

File tree

17 files changed

+56
-47
lines changed

17 files changed

+56
-47
lines changed

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
<spring-framework.version>6.0.0-M3</spring-framework.version>
5555
<spring-retry.version>1.3.2</spring-retry.version>
5656
<spring-integration.version>6.0.0-M2</spring-integration.version>
57-
<micrometer.version>2.0.0-M3</micrometer.version>
57+
<micrometer.version>2.0.0-SNAPSHOT</micrometer.version>
5858
<jackson.version>2.13.2</jackson.version>
5959

6060
<!-- optional production dependencies -->
@@ -79,7 +79,7 @@
7979
<junit-jupiter.version>5.8.2</junit-jupiter.version>
8080

8181
<!-- test dependencies -->
82-
<micrometer-tracing.version>1.0.0-M3</micrometer-tracing.version>
82+
<micrometer-tracing.version>1.0.0-SNAPSHOT</micrometer-tracing.version>
8383
<junit.version>4.13.2</junit.version>
8484
<hamcrest.version>2.2</hamcrest.version>
8585
<assertj.version>3.22.0</assertj.version>

spring-batch-core/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@
6060
<artifactId>micrometer-core</artifactId>
6161
<version>${micrometer.version}</version>
6262
</dependency>
63+
<dependency>
64+
<groupId>io.micrometer</groupId>
65+
<artifactId>micrometer-observation</artifactId>
66+
<version>${micrometer.version}</version>
67+
</dependency>
6368

6469
<!-- optional production dependencies -->
6570
<dependency>

spring-batch-core/src/main/java/org/springframework/batch/core/job/AbstractJob.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@
2323

2424
import io.micrometer.core.instrument.LongTaskTimer;
2525
import io.micrometer.core.instrument.Tag;
26-
import io.micrometer.core.instrument.observation.Observation;
26+
import io.micrometer.observation.Observation;
2727
import org.apache.commons.logging.Log;
2828
import org.apache.commons.logging.LogFactory;
29+
2930
import org.springframework.batch.core.BatchStatus;
3031
import org.springframework.batch.core.ExitStatus;
3132
import org.springframework.batch.core.Job;
@@ -41,10 +42,10 @@
4142
import org.springframework.batch.core.launch.NoSuchJobException;
4243
import org.springframework.batch.core.launch.support.ExitCodeMapper;
4344
import org.springframework.batch.core.listener.CompositeJobExecutionListener;
44-
import org.springframework.batch.core.observability.BatchMetrics;
4545
import org.springframework.batch.core.observability.BatchJobContext;
4646
import org.springframework.batch.core.observability.BatchJobObservation;
4747
import org.springframework.batch.core.observability.BatchJobTagsProvider;
48+
import org.springframework.batch.core.observability.BatchMetrics;
4849
import org.springframework.batch.core.observability.DefaultBatchJobTagsProvider;
4950
import org.springframework.batch.core.repository.JobRepository;
5051
import org.springframework.batch.core.repository.JobRestartException;

spring-batch-core/src/main/java/org/springframework/batch/core/observability/BatchJobContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package org.springframework.batch.core.observability;
1818

19-
import io.micrometer.core.instrument.observation.Observation;
19+
import io.micrometer.observation.Observation;
2020

2121
import org.springframework.batch.core.JobExecution;
2222

spring-batch-core/src/main/java/org/springframework/batch/core/observability/BatchJobObservation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package org.springframework.batch.core.observability;
1818

19-
import io.micrometer.core.instrument.docs.DocumentedObservation;
20-
import io.micrometer.core.instrument.docs.TagKey;
19+
import io.micrometer.observation.docs.DocumentedObservation;
20+
import io.micrometer.observation.docs.TagKey;
2121

2222
/**
2323
* Observation created around a Job execution.

spring-batch-core/src/main/java/org/springframework/batch/core/observability/BatchJobTagsProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package org.springframework.batch.core.observability;
1818

19-
import io.micrometer.core.instrument.observation.Observation;
19+
import io.micrometer.observation.Observation;
2020

2121
/**
2222
* {@link Observation.TagsProvider} for {@link BatchJobContext}.

spring-batch-core/src/main/java/org/springframework/batch/core/observability/BatchMetrics.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@
2424
import io.micrometer.core.instrument.Metrics;
2525
import io.micrometer.core.instrument.Tag;
2626
import io.micrometer.core.instrument.Timer;
27-
import io.micrometer.core.instrument.observation.Observation;
2827
import io.micrometer.core.instrument.observation.TimerObservationHandler;
28+
import io.micrometer.observation.Observation;
29+
import io.micrometer.observation.ObservationRegistry;
2930

3031
import org.springframework.lang.Nullable;
3132

@@ -52,7 +53,19 @@ public final class BatchMetrics {
5253

5354
public static final String STATUS_FAILURE = "FAILURE";
5455

55-
private BatchMetrics() {}
56+
/**
57+
* Global {@link ObservationRegistry}. A {@link TimerObservationHandler} is attached
58+
* to create a {@link Timer} for every finished {@link Observation}.
59+
*/
60+
public static final ObservationRegistry observationRegistry;
61+
62+
static {
63+
observationRegistry = ObservationRegistry.create();
64+
observationRegistry.observationConfig().observationHandler(new TimerObservationHandler(Metrics.globalRegistry));
65+
}
66+
67+
private BatchMetrics() {
68+
}
5669

5770
/**
5871
* Create a {@link Timer}.
@@ -81,7 +94,7 @@ public static Timer createTimer(String name, String description, Tag... tags) {
8194
* @since 5.0
8295
*/
8396
public static Observation createObservation(String name, Observation.Context context) {
84-
return Observation.createNotStarted(name, context, Metrics.globalRegistry);
97+
return Observation.createNotStarted(name, context, observationRegistry);
8598
}
8699

87100
/**

spring-batch-core/src/main/java/org/springframework/batch/core/observability/BatchStepContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package org.springframework.batch.core.observability;
1818

19-
import io.micrometer.core.instrument.observation.Observation;
19+
import io.micrometer.observation.Observation;
2020

2121
import org.springframework.batch.core.StepExecution;
2222

spring-batch-core/src/main/java/org/springframework/batch/core/observability/BatchStepObservation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package org.springframework.batch.core.observability;
1818

19-
import io.micrometer.core.instrument.docs.DocumentedObservation;
20-
import io.micrometer.core.instrument.docs.TagKey;
19+
import io.micrometer.observation.docs.DocumentedObservation;
20+
import io.micrometer.observation.docs.TagKey;
2121

2222
/**
2323
* Observation created around a step execution.

spring-batch-core/src/main/java/org/springframework/batch/core/observability/BatchStepTagsProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package org.springframework.batch.core.observability;
1818

19-
import io.micrometer.core.instrument.observation.Observation;
19+
import io.micrometer.observation.Observation;
2020

2121
/**
2222
* {@link Observation.TagsProvider} for {@link BatchStepContext}.

spring-batch-core/src/main/java/org/springframework/batch/core/observability/DefaultBatchJobTagsProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package org.springframework.batch.core.observability;
1717

18-
import io.micrometer.core.instrument.Tags;
18+
import io.micrometer.observation.Tags;
1919

2020
import org.springframework.batch.core.JobExecution;
2121

spring-batch-core/src/main/java/org/springframework/batch/core/observability/DefaultBatchStepTagsProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package org.springframework.batch.core.observability;
1717

18-
import io.micrometer.core.instrument.Tags;
18+
import io.micrometer.observation.Tags;
1919

2020
import org.springframework.batch.core.StepExecution;
2121

spring-batch-core/src/main/java/org/springframework/batch/core/step/AbstractStep.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@
2020
import java.util.List;
2121
import java.util.stream.Collectors;
2222

23-
import io.micrometer.core.instrument.observation.Observation;
23+
import io.micrometer.observation.Observation;
2424
import org.apache.commons.logging.Log;
2525
import org.apache.commons.logging.LogFactory;
26+
2627
import org.springframework.batch.core.BatchStatus;
2728
import org.springframework.batch.core.ExitStatus;
2829
import org.springframework.batch.core.JobInterruptedException;

spring-batch-core/src/test/java/org/springframework/batch/core/job/SimpleJobTests.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,6 @@
1616

1717
package org.springframework.batch.core.job;
1818

19-
import static org.mockito.Mockito.mock;
20-
import static org.junit.Assert.assertEquals;
21-
import static org.junit.Assert.assertFalse;
22-
import static org.junit.Assert.assertNotNull;
23-
import static org.junit.Assert.assertNull;
24-
import static org.junit.Assert.assertSame;
25-
import static org.junit.Assert.assertTrue;
26-
2719
import java.io.Serializable;
2820
import java.util.ArrayList;
2921
import java.util.Arrays;
@@ -61,6 +53,14 @@
6153
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
6254
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
6355

56+
import static org.junit.Assert.assertEquals;
57+
import static org.junit.Assert.assertFalse;
58+
import static org.junit.Assert.assertNotNull;
59+
import static org.junit.Assert.assertNull;
60+
import static org.junit.Assert.assertSame;
61+
import static org.junit.Assert.assertTrue;
62+
import static org.mockito.Mockito.mock;
63+
6464
/**
6565
* Tests for DefaultJobLifecycle.
6666
*
@@ -208,7 +208,6 @@ public boolean isAllowStartIfComplete() {
208208

209209
@Test
210210
public void testRunNormally() throws Exception {
211-
Metrics.globalRegistry.withTimerObservationHandler();
212211
step1.setStartLimit(5);
213212
step2.setStartLimit(5);
214213
job.execute(jobExecution);

spring-batch-core/src/test/java/org/springframework/batch/core/observability/BatchMetricsTests.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727

2828
import io.micrometer.core.instrument.Meter;
2929
import io.micrometer.core.instrument.Metrics;
30-
import org.junit.BeforeClass;
3130
import org.junit.Test;
3231

3332
import org.springframework.batch.core.ExitStatus;
@@ -39,7 +38,6 @@
3938
import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
4039
import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
4140
import org.springframework.batch.core.launch.JobLauncher;
42-
import org.springframework.batch.core.observability.BatchMetrics;
4341
import org.springframework.batch.item.support.ListItemReader;
4442
import org.springframework.batch.repeat.RepeatStatus;
4543
import org.springframework.context.ApplicationContext;
@@ -61,11 +59,6 @@ public class BatchMetricsTests {
6159

6260
private static final int EXPECTED_SPRING_BATCH_METRICS = 10;
6361

64-
@BeforeClass
65-
public static void setup() {
66-
Metrics.globalRegistry.withTimerObservationHandler();
67-
}
68-
6962
@Test
7063
public void testCalculateDuration() {
7164
LocalDateTime startTime = LocalDateTime.now();

spring-batch-core/src/test/java/org/springframework/batch/core/step/NonAbstractStepTests.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,6 @@
1515
*/
1616
package org.springframework.batch.core.step;
1717

18-
import static org.junit.Assert.assertEquals;
19-
import static org.junit.Assert.assertNull;
20-
import static org.junit.Assert.assertSame;
21-
import static org.junit.Assert.assertTrue;
22-
2318
import java.util.ArrayList;
2419
import java.util.List;
2520

@@ -30,6 +25,7 @@
3025
import org.junit.After;
3126
import org.junit.Before;
3227
import org.junit.Test;
28+
3329
import org.springframework.batch.core.BatchStatus;
3430
import org.springframework.batch.core.ExitStatus;
3531
import org.springframework.batch.core.JobExecution;
@@ -42,6 +38,11 @@
4238
import org.springframework.lang.Nullable;
4339
import org.springframework.util.Assert;
4440

41+
import static org.junit.Assert.assertEquals;
42+
import static org.junit.Assert.assertNull;
43+
import static org.junit.Assert.assertSame;
44+
import static org.junit.Assert.assertTrue;
45+
4546
/**
4647
* Tests for {@link AbstractStep}.
4748
*/
@@ -185,7 +186,6 @@ protected void doExecute(StepExecution stepExecution) throws Exception {
185186
*/
186187
@Test
187188
public void testExecute() throws Exception {
188-
Metrics.globalRegistry.withTimerObservationHandler();
189189
tested.setStepExecutionListeners(new StepExecutionListener[] { listener1, listener2 });
190190
tested.execute(execution);
191191

spring-batch-test/src/test/java/org/springframework/batch/test/observability/ObservabilitySampleStepTests.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616
package org.springframework.batch.test.observability;
1717

18-
import io.micrometer.core.instrument.MeterRegistry;
1918
import io.micrometer.core.instrument.Metrics;
2019
import io.micrometer.core.tck.MeterRegistryAssert;
2120
import io.micrometer.tracing.test.SampleTestRunner;
@@ -25,6 +24,7 @@
2524
import org.springframework.batch.core.ExitStatus;
2625
import org.springframework.batch.core.JobExecution;
2726
import org.springframework.batch.core.JobParameters;
27+
import org.springframework.batch.core.observability.BatchMetrics;
2828
import org.springframework.batch.test.JobLauncherTestUtils;
2929
import org.springframework.batch.test.SpringBatchTestJUnit5Tests;
3030
import org.springframework.batch.test.context.SpringBatchTest;
@@ -40,16 +40,13 @@ public class ObservabilitySampleStepTests extends SampleTestRunner {
4040
@Autowired
4141
private JobLauncherTestUtils jobLauncherTestUtils;
4242

43-
private static MeterRegistry registry = Metrics.globalRegistry.withTimerObservationHandler();
44-
45-
@Override
46-
protected MeterRegistry getMeterRegistry() {
47-
return registry;
43+
ObservabilitySampleStepTests() {
44+
super(SampleRunnerConfig.builder().build(), BatchMetrics.observationRegistry, Metrics.globalRegistry);
4845
}
4946

5047
@AfterEach
5148
void clean() {
52-
registry.clear();
49+
Metrics.globalRegistry.clear();
5350
}
5451

5552
@Override

0 commit comments

Comments
 (0)