Skip to content

Commit 1fe1c13

Browse files
gregturnchristophstrobl
authored andcommitted
Upgrade to Micrometer 1.10.0-SNAPSHOT.
Closes #4151.
1 parent 838ddb5 commit 1fe1c13

File tree

8 files changed

+38
-43
lines changed

8 files changed

+38
-43
lines changed
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@
2626
import com.mongodb.event.CommandStartedEvent;
2727

2828
/**
29-
* Default {@link MongoHandlerKeyValuesProvider} implementation.
29+
* Default {@link MongoHandlerObservationConvention} implementation.
3030
*
3131
* @author Greg Turnquist
3232
* @since 4.0.0
3333
*/
34-
public class DefaultMongoHandlerKeyValuesProvider implements MongoHandlerKeyValuesProvider {
34+
public class DefaultMongoHandlerObservationConvention implements MongoHandlerObservationConvention {
3535

3636
@Override
3737
public KeyValues getLowCardinalityKeyValues(MongoHandlerContext context) {
@@ -40,7 +40,7 @@ public KeyValues getLowCardinalityKeyValues(MongoHandlerContext context) {
4040

4141
if (context.getCollectionName() != null) {
4242
keyValues = keyValues
43-
.and(KeyValue.of(LowCardinalityCommandKeyNames.MONGODB_COLLECTION.getKeyName(), context.getCollectionName()));
43+
.and(LowCardinalityCommandKeyNames.MONGODB_COLLECTION.withValue(context.getCollectionName()));
4444
}
4545

4646
KeyValue connectionTag = connectionTag(context.getCommandStartedEvent());
@@ -54,8 +54,8 @@ public KeyValues getLowCardinalityKeyValues(MongoHandlerContext context) {
5454
@Override
5555
public KeyValues getHighCardinalityKeyValues(MongoHandlerContext context) {
5656

57-
return KeyValues.of(KeyValue.of(HighCardinalityCommandKeyNames.MONGODB_COMMAND.getKeyName(),
58-
context.getCommandStartedEvent().getCommandName()));
57+
return KeyValues.of(
58+
HighCardinalityCommandKeyNames.MONGODB_COMMAND.withValue(context.getCommandStartedEvent().getCommandName()));
5959
}
6060

6161
/**
@@ -72,8 +72,8 @@ private static KeyValue connectionTag(CommandStartedEvent event) {
7272

7373
ConnectionId connectionId = connectionDescription.getConnectionId();
7474
if (connectionId != null) {
75-
return KeyValue.of(LowCardinalityCommandKeyNames.MONGODB_CLUSTER_ID.getKeyName(),
76-
connectionId.getServerId().getClusterId().getValue());
75+
return LowCardinalityCommandKeyNames.MONGODB_CLUSTER_ID
76+
.withValue(connectionId.getServerId().getClusterId().getValue());
7777
}
7878
}
7979

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
import io.micrometer.observation.Observation;
1919

2020
/**
21-
* {@link Observation.KeyValuesProvider} for {@link MongoHandlerContext}.
21+
* {@link Observation.ObservationConvention} for {@link MongoHandlerContext}.
2222
*
2323
* @author Greg Turnquist
2424
* @since 4.0.0
2525
*/
26-
public interface MongoHandlerKeyValuesProvider extends Observation.KeyValuesProvider<MongoHandlerContext> {
26+
public interface MongoHandlerObservationConvention extends Observation.ObservationConvention<MongoHandlerContext> {
2727

2828
@Override
2929
default boolean supportsContext(Observation.Context context) {

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/observability/MongoObservation.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ enum LowCardinalityCommandKeyNames implements KeyName {
6363
*/
6464
MONGODB_COLLECTION {
6565
@Override
66-
public String getKeyName() {
66+
public String asString() {
6767
return "spring.data.mongodb.collection";
6868
}
6969
},
@@ -73,7 +73,7 @@ public String getKeyName() {
7373
*/
7474
MONGODB_CLUSTER_ID {
7575
@Override
76-
public String getKeyName() {
76+
public String asString() {
7777
return "spring.data.mongodb.cluster_id";
7878
}
7979
}
@@ -89,7 +89,7 @@ enum HighCardinalityCommandKeyNames implements KeyName {
8989
*/
9090
MONGODB_COMMAND {
9191
@Override
92-
public String getKeyName() {
92+
public String asString() {
9393
return "spring.data.mongodb.command";
9494
}
9595
}

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/observability/MongoObservationCommandListener.java

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,18 @@
3636
* @author Greg Turnquist
3737
* @since 4.0.0
3838
*/
39-
public final class MongoObservationCommandListener
40-
implements CommandListener, Observation.KeyValuesProviderAware<MongoHandlerKeyValuesProvider> {
39+
public final class MongoObservationCommandListener implements CommandListener {
4140

4241
private static final Log log = LogFactory.getLog(MongoObservationCommandListener.class);
4342

4443
private final ObservationRegistry observationRegistry;
4544

46-
private MongoHandlerKeyValuesProvider keyValuesProvider;
45+
private MongoHandlerObservationConvention observationConvention;
4746

4847
public MongoObservationCommandListener(ObservationRegistry observationRegistry) {
4948

5049
this.observationRegistry = observationRegistry;
51-
this.keyValuesProvider = new DefaultMongoHandlerKeyValuesProvider();
50+
this.observationConvention = new DefaultMongoHandlerObservationConvention();
5251
}
5352

5453
@Override
@@ -130,7 +129,7 @@ public void commandFailed(CommandFailedEvent event) {
130129

131130
/**
132131
* Extract the {@link Observation} from MongoDB's {@link RequestContext}.
133-
*
132+
*
134133
* @param context
135134
* @return
136135
*/
@@ -160,7 +159,7 @@ private void setupObservability(CommandStartedEvent event, RequestContext reques
160159
Observation observation = MongoObservation.MONGODB_COMMAND_OBSERVATION
161160
.observation(this.observationRegistry, observationContext) //
162161
.contextualName(observationContext.getContextualName()) //
163-
.keyValuesProvider(this.keyValuesProvider) //
162+
.observationConvention(this.observationConvention) //
164163
.start();
165164

166165
requestContext.put(Observation.class, observation);
@@ -171,9 +170,4 @@ private void setupObservability(CommandStartedEvent event, RequestContext reques
171170
"Created a child observation [" + observation + "] for mongo instrumentation and put it in mongo context");
172171
}
173172
}
174-
175-
@Override
176-
public void setKeyValuesProvider(MongoHandlerKeyValuesProvider mongoHandlerKeyValuesProvider) {
177-
this.keyValuesProvider = mongoHandlerKeyValuesProvider;
178-
}
179173
}

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/observability/MongoObservationCommandListenerForTracingTests.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
package org.springframework.data.mongodb.observability;
1717

1818
import io.micrometer.core.instrument.MeterRegistry;
19-
import io.micrometer.core.instrument.observation.TimerObservationHandler;
19+
import io.micrometer.core.instrument.observation.DefaultMeterObservationHandler;
2020
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
2121
import io.micrometer.observation.Observation;
2222
import io.micrometer.observation.ObservationRegistry;
@@ -67,7 +67,7 @@ void setup() {
6767

6868
this.meterRegistry = new SimpleMeterRegistry();
6969
this.observationRegistry = ObservationRegistry.create();
70-
this.observationRegistry.observationConfig().observationHandler(new TimerObservationHandler(meterRegistry));
70+
this.observationRegistry.observationConfig().observationHandler(new DefaultMeterObservationHandler(meterRegistry));
7171
this.observationRegistry.observationConfig().observationHandler(handler);
7272

7373
this.listener = new MongoObservationCommandListener(observationRegistry);
@@ -135,7 +135,7 @@ private TestRequestContext createTestRequestContextWithParentObservationAndStart
135135
* Execute MongoDB's {@link com.mongodb.event.CommandListener#commandStarted(CommandStartedEvent)} and
136136
* {@link com.mongodb.event.CommandListener#commandSucceeded(CommandSucceededEvent)} operations against the
137137
* {@link TestRequestContext} in order to inject some test data.
138-
*
138+
*
139139
* @param testRequestContext
140140
*/
141141
private void commandStartedAndSucceeded(TestRequestContext testRequestContext) {
@@ -163,8 +163,8 @@ private SpanAssert assertThatMongoSpanIsClientWithTags() {
163163
.hasNameEqualTo("insert user") //
164164
.hasKindEqualTo(Span.Kind.CLIENT) //
165165
.hasRemoteServiceNameEqualTo("mongodb-database") //
166-
.hasTag(HighCardinalityCommandKeyNames.MONGODB_COMMAND.getKeyName(), "insert") //
167-
.hasTag(LowCardinalityCommandKeyNames.MONGODB_COLLECTION.getKeyName(), "user") //
168-
.hasTagWithKey(LowCardinalityCommandKeyNames.MONGODB_CLUSTER_ID.getKeyName());
166+
.hasTag(HighCardinalityCommandKeyNames.MONGODB_COMMAND.asString(), "insert") //
167+
.hasTag(LowCardinalityCommandKeyNames.MONGODB_COLLECTION.asString(), "user") //
168+
.hasTagWithKey(LowCardinalityCommandKeyNames.MONGODB_CLUSTER_ID.asString());
169169
}
170170
}

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/observability/MongoObservationCommandListenerTests.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@
1515
*/
1616
package org.springframework.data.mongodb.observability;
1717

18-
import static io.micrometer.core.tck.MeterRegistryAssert.*;
18+
import static io.micrometer.core.tck.MeterRegistryAssert.assertThat;
1919

20-
import io.micrometer.common.KeyValue;
2120
import io.micrometer.common.KeyValues;
2221
import io.micrometer.core.instrument.MeterRegistry;
23-
import io.micrometer.core.instrument.observation.TimerObservationHandler;
22+
import io.micrometer.core.instrument.observation.DefaultMeterObservationHandler;
2423
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
2524
import io.micrometer.observation.Observation;
2625
import io.micrometer.observation.ObservationRegistry;
@@ -42,7 +41,7 @@
4241

4342
/**
4443
* Series of test cases exercising {@link MongoObservationCommandListener}.
45-
*
44+
*
4645
* @author Marcin Grzejszczak
4746
* @author Greg Turnquist
4847
* @since 4.0.0
@@ -59,7 +58,7 @@ void setup() {
5958

6059
this.meterRegistry = new SimpleMeterRegistry();
6160
this.observationRegistry = ObservationRegistry.create();
62-
this.observationRegistry.observationConfig().observationHandler(new TimerObservationHandler(meterRegistry));
61+
this.observationRegistry.observationConfig().observationHandler(new DefaultMeterObservationHandler(meterRegistry));
6362

6463
this.listener = new MongoObservationCommandListener(observationRegistry);
6564
}
@@ -149,8 +148,8 @@ void successfullyCompletedCommandWithoutClusterInformationShouldCreateTimerWhenP
149148
listener.commandSucceeded(new CommandSucceededEvent(testRequestContext, 0, null, "insert", null, 0));
150149

151150
// then
152-
assertThat(meterRegistry).hasTimerWithNameAndTags(HighCardinalityCommandKeyNames.MONGODB_COMMAND.getKeyName(),
153-
KeyValues.of(KeyValue.of(LowCardinalityCommandKeyNames.MONGODB_COLLECTION.getKeyName(), "user")));
151+
assertThat(meterRegistry).hasTimerWithNameAndTags(HighCardinalityCommandKeyNames.MONGODB_COMMAND.asString(),
152+
KeyValues.of(LowCardinalityCommandKeyNames.MONGODB_COLLECTION.withValue("user")));
154153
}
155154

156155
@Test
@@ -178,10 +177,10 @@ void commandWithErrorShouldCreateTimerWhenParentSampleInRequestContext() {
178177
private void assertThatTimerRegisteredWithTags() {
179178

180179
assertThat(meterRegistry) //
181-
.hasTimerWithNameAndTags(HighCardinalityCommandKeyNames.MONGODB_COMMAND.getKeyName(),
182-
KeyValues.of(KeyValue.of(LowCardinalityCommandKeyNames.MONGODB_COLLECTION.getKeyName(), "user"))) //
183-
.hasTimerWithNameAndTagKeys(HighCardinalityCommandKeyNames.MONGODB_COMMAND.getKeyName(),
184-
LowCardinalityCommandKeyNames.MONGODB_CLUSTER_ID.getKeyName());
180+
.hasTimerWithNameAndTags(HighCardinalityCommandKeyNames.MONGODB_COMMAND.asString(),
181+
KeyValues.of(LowCardinalityCommandKeyNames.MONGODB_COLLECTION.withValue("user"))) //
182+
.hasTimerWithNameAndTagKeys(HighCardinalityCommandKeyNames.MONGODB_COMMAND.asString(),
183+
LowCardinalityCommandKeyNames.MONGODB_CLUSTER_ID.asString());
185184
}
186185

187186
}

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/observability/ZipkinIntegrationTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
*/
1616
package org.springframework.data.mongodb.observability;
1717

18-
import static org.springframework.data.mongodb.test.util.Assertions.*;
18+
import static org.springframework.data.mongodb.test.util.Assertions.assertThat;
1919

2020
import io.micrometer.core.instrument.MeterRegistry;
21-
import io.micrometer.core.instrument.observation.TimerObservationHandler;
21+
import io.micrometer.core.instrument.observation.DefaultMeterObservationHandler;
2222
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
2323
import io.micrometer.observation.Observation;
2424
import io.micrometer.observation.ObservationHandler;
@@ -80,7 +80,7 @@ public class ZipkinIntegrationTests extends SampleTestRunner {
8080
private static final ObservationRegistry OBSERVATION_REGISTRY = ObservationRegistry.create();
8181

8282
static {
83-
OBSERVATION_REGISTRY.observationConfig().observationHandler(new TimerObservationHandler(METER_REGISTRY));
83+
OBSERVATION_REGISTRY.observationConfig().observationHandler(new DefaultMeterObservationHandler(METER_REGISTRY));
8484
}
8585

8686
@Autowired PersonRepository repository;

src/main/asciidoc/reference/observability.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
[[observability]]
44
== Observability metadata
55

6+
include::{root-target}_conventions.adoc[]
7+
68
include::{root-target}_metrics.adoc[]
79

810
include::{root-target}_spans.adoc[]

0 commit comments

Comments
 (0)