Update to Micrometer 2.0.0-SNAPSHOT

See gh-4079
This commit is contained in:
Moritz Halbritter
2022-03-22 16:49:00 +01:00
parent 437f4797f8
commit 404e0a3dbd
17 changed files with 56 additions and 47 deletions

View File

@@ -54,7 +54,7 @@
<spring-framework.version>6.0.0-M3</spring-framework.version>
<spring-retry.version>1.3.2</spring-retry.version>
<spring-integration.version>6.0.0-M2</spring-integration.version>
<micrometer.version>2.0.0-M3</micrometer.version>
<micrometer.version>2.0.0-SNAPSHOT</micrometer.version>
<jackson.version>2.13.2</jackson.version>
<!-- optional production dependencies -->
@@ -79,7 +79,7 @@
<junit-jupiter.version>5.8.2</junit-jupiter.version>
<!-- test dependencies -->
<micrometer-tracing.version>1.0.0-M3</micrometer-tracing.version>
<micrometer-tracing.version>1.0.0-SNAPSHOT</micrometer-tracing.version>
<junit.version>4.13.2</junit.version>
<hamcrest.version>2.2</hamcrest.version>
<assertj.version>3.22.0</assertj.version>

View File

@@ -60,6 +60,11 @@
<artifactId>micrometer-core</artifactId>
<version>${micrometer.version}</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation</artifactId>
<version>${micrometer.version}</version>
</dependency>
<!-- optional production dependencies -->
<dependency>

View File

@@ -23,9 +23,10 @@ import java.util.stream.Collectors;
import io.micrometer.core.instrument.LongTaskTimer;
import io.micrometer.core.instrument.Tag;
import io.micrometer.core.instrument.observation.Observation;
import io.micrometer.observation.Observation;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.batch.core.BatchStatus;
import org.springframework.batch.core.ExitStatus;
import org.springframework.batch.core.Job;
@@ -41,10 +42,10 @@ import org.springframework.batch.core.StepExecution;
import org.springframework.batch.core.launch.NoSuchJobException;
import org.springframework.batch.core.launch.support.ExitCodeMapper;
import org.springframework.batch.core.listener.CompositeJobExecutionListener;
import org.springframework.batch.core.observability.BatchMetrics;
import org.springframework.batch.core.observability.BatchJobContext;
import org.springframework.batch.core.observability.BatchJobObservation;
import org.springframework.batch.core.observability.BatchJobTagsProvider;
import org.springframework.batch.core.observability.BatchMetrics;
import org.springframework.batch.core.observability.DefaultBatchJobTagsProvider;
import org.springframework.batch.core.repository.JobRepository;
import org.springframework.batch.core.repository.JobRestartException;

View File

@@ -16,7 +16,7 @@
package org.springframework.batch.core.observability;
import io.micrometer.core.instrument.observation.Observation;
import io.micrometer.observation.Observation;
import org.springframework.batch.core.JobExecution;

View File

@@ -16,8 +16,8 @@
package org.springframework.batch.core.observability;
import io.micrometer.core.instrument.docs.DocumentedObservation;
import io.micrometer.core.instrument.docs.TagKey;
import io.micrometer.observation.docs.DocumentedObservation;
import io.micrometer.observation.docs.TagKey;
/**
* Observation created around a Job execution.

View File

@@ -16,7 +16,7 @@
package org.springframework.batch.core.observability;
import io.micrometer.core.instrument.observation.Observation;
import io.micrometer.observation.Observation;
/**
* {@link Observation.TagsProvider} for {@link BatchJobContext}.

View File

@@ -24,8 +24,9 @@ import io.micrometer.core.instrument.LongTaskTimer;
import io.micrometer.core.instrument.Metrics;
import io.micrometer.core.instrument.Tag;
import io.micrometer.core.instrument.Timer;
import io.micrometer.core.instrument.observation.Observation;
import io.micrometer.core.instrument.observation.TimerObservationHandler;
import io.micrometer.observation.Observation;
import io.micrometer.observation.ObservationRegistry;
import org.springframework.lang.Nullable;
@@ -52,7 +53,19 @@ public final class BatchMetrics {
public static final String STATUS_FAILURE = "FAILURE";
private BatchMetrics() {}
/**
* Global {@link ObservationRegistry}. A {@link TimerObservationHandler} is attached
* to create a {@link Timer} for every finished {@link Observation}.
*/
public static final ObservationRegistry observationRegistry;
static {
observationRegistry = ObservationRegistry.create();
observationRegistry.observationConfig().observationHandler(new TimerObservationHandler(Metrics.globalRegistry));
}
private BatchMetrics() {
}
/**
* Create a {@link Timer}.
@@ -81,7 +94,7 @@ public final class BatchMetrics {
* @since 5.0
*/
public static Observation createObservation(String name, Observation.Context context) {
return Observation.createNotStarted(name, context, Metrics.globalRegistry);
return Observation.createNotStarted(name, context, observationRegistry);
}
/**

View File

@@ -16,7 +16,7 @@
package org.springframework.batch.core.observability;
import io.micrometer.core.instrument.observation.Observation;
import io.micrometer.observation.Observation;
import org.springframework.batch.core.StepExecution;

View File

@@ -16,8 +16,8 @@
package org.springframework.batch.core.observability;
import io.micrometer.core.instrument.docs.DocumentedObservation;
import io.micrometer.core.instrument.docs.TagKey;
import io.micrometer.observation.docs.DocumentedObservation;
import io.micrometer.observation.docs.TagKey;
/**
* Observation created around a step execution.

View File

@@ -16,7 +16,7 @@
package org.springframework.batch.core.observability;
import io.micrometer.core.instrument.observation.Observation;
import io.micrometer.observation.Observation;
/**
* {@link Observation.TagsProvider} for {@link BatchStepContext}.

View File

@@ -15,7 +15,7 @@
*/
package org.springframework.batch.core.observability;
import io.micrometer.core.instrument.Tags;
import io.micrometer.observation.Tags;
import org.springframework.batch.core.JobExecution;

View File

@@ -15,7 +15,7 @@
*/
package org.springframework.batch.core.observability;
import io.micrometer.core.instrument.Tags;
import io.micrometer.observation.Tags;
import org.springframework.batch.core.StepExecution;

View File

@@ -20,9 +20,10 @@ import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import io.micrometer.core.instrument.observation.Observation;
import io.micrometer.observation.Observation;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.batch.core.BatchStatus;
import org.springframework.batch.core.ExitStatus;
import org.springframework.batch.core.JobInterruptedException;

View File

@@ -16,14 +16,6 @@
package org.springframework.batch.core.job;
import static org.mockito.Mockito.mock;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
@@ -61,6 +53,14 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
/**
* Tests for DefaultJobLifecycle.
*
@@ -208,7 +208,6 @@ public class SimpleJobTests {
@Test
public void testRunNormally() throws Exception {
Metrics.globalRegistry.withTimerObservationHandler();
step1.setStartLimit(5);
step2.setStartLimit(5);
job.execute(jobExecution);

View File

@@ -27,7 +27,6 @@ import javax.sql.DataSource;
import io.micrometer.core.instrument.Meter;
import io.micrometer.core.instrument.Metrics;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.batch.core.ExitStatus;
@@ -39,7 +38,6 @@ import org.springframework.batch.core.configuration.annotation.EnableBatchProces
import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
import org.springframework.batch.core.launch.JobLauncher;
import org.springframework.batch.core.observability.BatchMetrics;
import org.springframework.batch.item.support.ListItemReader;
import org.springframework.batch.repeat.RepeatStatus;
import org.springframework.context.ApplicationContext;
@@ -61,11 +59,6 @@ public class BatchMetricsTests {
private static final int EXPECTED_SPRING_BATCH_METRICS = 10;
@BeforeClass
public static void setup() {
Metrics.globalRegistry.withTimerObservationHandler();
}
@Test
public void testCalculateDuration() {
LocalDateTime startTime = LocalDateTime.now();

View File

@@ -15,11 +15,6 @@
*/
package org.springframework.batch.core.step;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
import java.util.List;
@@ -30,6 +25,7 @@ import io.micrometer.core.tck.MeterRegistryAssert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.batch.core.BatchStatus;
import org.springframework.batch.core.ExitStatus;
import org.springframework.batch.core.JobExecution;
@@ -42,6 +38,11 @@ import org.springframework.batch.item.ExecutionContext;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
/**
* Tests for {@link AbstractStep}.
*/
@@ -185,7 +186,6 @@ public class NonAbstractStepTests {
*/
@Test
public void testExecute() throws Exception {
Metrics.globalRegistry.withTimerObservationHandler();
tested.setStepExecutionListeners(new StepExecutionListener[] { listener1, listener2 });
tested.execute(execution);

View File

@@ -15,7 +15,6 @@
*/
package org.springframework.batch.test.observability;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Metrics;
import io.micrometer.core.tck.MeterRegistryAssert;
import io.micrometer.tracing.test.SampleTestRunner;
@@ -25,6 +24,7 @@ import org.junit.jupiter.api.Assertions;
import org.springframework.batch.core.ExitStatus;
import org.springframework.batch.core.JobExecution;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.observability.BatchMetrics;
import org.springframework.batch.test.JobLauncherTestUtils;
import org.springframework.batch.test.SpringBatchTestJUnit5Tests;
import org.springframework.batch.test.context.SpringBatchTest;
@@ -40,16 +40,13 @@ public class ObservabilitySampleStepTests extends SampleTestRunner {
@Autowired
private JobLauncherTestUtils jobLauncherTestUtils;
private static MeterRegistry registry = Metrics.globalRegistry.withTimerObservationHandler();
@Override
protected MeterRegistry getMeterRegistry() {
return registry;
ObservabilitySampleStepTests() {
super(SampleRunnerConfig.builder().build(), BatchMetrics.observationRegistry, Metrics.globalRegistry);
}
@AfterEach
void clean() {
registry.clear();
Metrics.globalRegistry.clear();
}
@Override