Bumped version

This commit is contained in:
Marcin Grzejszczak
2024-11-18 12:37:24 +01:00
parent 52dcb593c6
commit 3a1183bd1f
47 changed files with 126 additions and 144 deletions

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.springframework.modulith</groupId>
<artifactId>spring-modulith</artifactId>
<version>1.3.0-SNAPSHOT</version>
<version>1.4.0-GH-927-SNAPSHOT</version>
</parent>
<artifactId>spring-modulith-observability</artifactId>
@@ -83,12 +83,6 @@
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-api</artifactId>
<optional>true</optional>
</dependency>
<!-- Testing -->
<dependency>

View File

@@ -1,24 +0,0 @@
package org.springframework.modulith.observability;
import io.micrometer.tracing.exporter.FinishedSpan;
import io.micrometer.tracing.exporter.SpanFilter;
/**
* {@link SpanFilter} that sets a local service name according
* to the current module's name.
*
* @author Marcin Grzejszczak
* @since 1.3
*/
public class LocalServiceRenamingSpanFilter implements SpanFilter {
@Override
public FinishedSpan map(FinishedSpan span) {
String moduleKey = span.getTags().get(ModulithObservations.LowKeys.MODULE_KEY.asString());
if (moduleKey != null) {
// Wait for tracing 1.5.0
span.setLocalServiceName(moduleKey);
}
return span;
}
}

View File

@@ -15,11 +15,12 @@
*/
package org.springframework.modulith.observability.autoconfigure;
import io.micrometer.common.KeyValue;
import brave.handler.MutableSpan;
import brave.handler.SpanHandler;
import brave.propagation.TraceContext;
import io.micrometer.observation.ObservationFilter;
import io.micrometer.observation.ObservationRegistry;
import io.micrometer.tracing.Tracer;
import io.micrometer.tracing.exporter.SpanFilter;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
@@ -33,7 +34,6 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.core.task.support.ContextPropagatingTaskDecorator;
import org.springframework.modulith.observability.LocalServiceRenamingSpanFilter;
import org.springframework.modulith.observability.ModuleEventListener;
import org.springframework.modulith.observability.ModuleObservabilityBeanPostProcessor;
import org.springframework.modulith.observability.ModulePassingObservationFilter;
@@ -77,13 +77,25 @@ class ModuleObservabilityAutoConfiguration {
}
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(Tracer.class)
static class MicrometerTracingConfiguration {
@ConditionalOnClass(SpanHandler.class)
static class BraveConfiguration {
/**
* Corresponds to {@link ModulithObservations.LowKeys#MODULE_KEY}
*/
private static final String MODULE_KEY_TAG_NAME = "module.key";
@Bean
SpanFilter localSpanFilter() {
return new LocalServiceRenamingSpanFilter();
SpanHandler localServiceNameRenamingSpanHandler() {
return new SpanHandler() {
@Override public boolean end(TraceContext context, MutableSpan span, Cause cause) {
String tag = span.tag(MODULE_KEY_TAG_NAME);
if (tag != null) {
span.localServiceName(tag);
}
return super.end(context, span, cause);
}
};
}
}
}

View File

@@ -39,13 +39,13 @@ import org.springframework.scheduling.annotation.AsyncAnnotationAdvisor;
*
* @author Oliver Drotbohm
*/
class ModuleTracingBeanPostProcessorIntegrationTests {
class ModuleObservabilityBeanPostProcessorIntegrationTests {
@Test
void decoratesExposedComponentsWithTracingInterceptor() {
SampleComponent bean = SpringApplication
.run(new Class<?>[] { ExampleApplication.class, ModuleTracingConfiguration.class }, new String[] {})
.run(new Class<?>[] { ExampleApplication.class, ModuleObservabilityConfiguration.class }, new String[] {})
.getBean(SampleComponent.class);
assertThat(bean).isInstanceOfSatisfying(Advised.class, it -> {
@@ -60,7 +60,7 @@ class ModuleTracingBeanPostProcessorIntegrationTests {
}
@Configuration
static class ModuleTracingConfiguration {
static class ModuleObservabilityConfiguration {
@Bean ModuleObservabilityBeanPostProcessor foo(ConfigurableApplicationContext context) {

View File

@@ -32,7 +32,7 @@ import org.springframework.modulith.runtime.ApplicationModulesRuntime;
*
* @author Oliver Drotbohm
*/
class ModuleTracingBeanPostProcessorUnitTests {
class ModuleObservabilityBeanPostProcessorUnitTests {
@Test // GH-498
void doesNotProxyConfiguationProperties() {