Skip to content

Commit 9a93f5b

Browse files
committed
fix: fix license
fix: recover tracing config name fix: fix meterRegistry fix: fix response error & change sender filter location fix: fix error code
1 parent ee36985 commit 9a93f5b

File tree

30 files changed

+166
-182
lines changed

30 files changed

+166
-182
lines changed

dubbo-cluster/pom.xml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -86,16 +86,5 @@
8686
<version>${project.parent.version}</version>
8787
<optional>true</optional>
8888
</dependency>
89-
<dependency>
90-
<groupId>io.micrometer</groupId>
91-
<artifactId>micrometer-tracing-integration-test</artifactId>
92-
<scope>test</scope>
93-
</dependency>
94-
<dependency>
95-
<groupId>org.apache.dubbo</groupId>
96-
<artifactId>dubbo-tracing</artifactId>
97-
<version>${project.parent.version}</version>
98-
<optional>true</optional>
99-
</dependency>
10089
</dependencies>
10190
</project>
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
consumercontext=org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter
22
consumer-classloader=org.apache.dubbo.rpc.cluster.filter.support.ConsumerClassLoaderFilter
33
router-snapshot=org.apache.dubbo.rpc.cluster.router.RouterSnapshotFilter
4-
observationsender=org.apache.dubbo.rpc.cluster.filter.support.ObservationSenderFilter
54
metricsClusterFilter=org.apache.dubbo.rpc.cluster.filter.support.MetricsClusterFilter

dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/filter/AbstractObservationFilterTest.java

Lines changed: 0 additions & 83 deletions
This file was deleted.

dubbo-common/src/main/java/org/apache/dubbo/common/constants/LoggerCodeConstants.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ public interface LoggerCodeConstants {
9292

9393
String VULNERABILITY_WARNING = "0-28";
9494

95+
String COMMON_NOT_FOUND_TRACER_DEPENDENCY = "0-29";
96+
9597

9698
// Registry module
9799

dubbo-common/src/main/java/org/apache/dubbo/config/TracingConfig.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public class TracingConfig extends AbstractConfig {
5555
* Exporter configuration.
5656
*/
5757
@Nested
58-
private ExporterConfig exporter = new ExporterConfig();
58+
private ExporterConfig tracingExporter = new ExporterConfig();
5959

6060
public TracingConfig() {
6161
}
@@ -96,11 +96,11 @@ public void setPropagation(PropagationConfig propagation) {
9696
this.propagation = propagation;
9797
}
9898

99-
public ExporterConfig getExporter() {
100-
return exporter;
99+
public ExporterConfig getTracingExporter() {
100+
return tracingExporter;
101101
}
102102

103-
public void setExporter(ExporterConfig exporter) {
104-
this.exporter = exporter;
103+
public void setTracingExporter(ExporterConfig tracingExporter) {
104+
this.tracingExporter = tracingExporter;
105105
}
106106
}

dubbo-common/src/main/java/org/apache/dubbo/config/nested/BaggageConfig.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,19 @@ public class BaggageConfig implements Serializable {
3939
*/
4040
private List<String> remoteFields = new ArrayList<>();
4141

42+
public BaggageConfig() {
43+
}
44+
45+
public BaggageConfig(Boolean enabled) {
46+
this.enabled = enabled;
47+
}
48+
49+
public BaggageConfig(Boolean enabled, Correlation correlation, List<String> remoteFields) {
50+
this.enabled = enabled;
51+
this.correlation = correlation;
52+
this.remoteFields = remoteFields;
53+
}
54+
4255
public Boolean getEnabled() {
4356
return enabled;
4457
}
@@ -76,6 +89,18 @@ public static class Correlation implements Serializable {
7689
*/
7790
private List<String> fields = new ArrayList<>();
7891

92+
public Correlation() {
93+
}
94+
95+
public Correlation(boolean enabled) {
96+
this.enabled = enabled;
97+
}
98+
99+
public Correlation(boolean enabled, List<String> fields) {
100+
this.enabled = enabled;
101+
this.fields = fields;
102+
}
103+
79104
public boolean isEnabled() {
80105
return this.enabled;
81106
}

dubbo-common/src/main/java/org/apache/dubbo/config/nested/ExporterConfig.java

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,25 +26,25 @@
2626
public class ExporterConfig implements Serializable {
2727

2828
@Nested
29-
private ZipkinConfig zipkin;
29+
private ZipkinConfig zipkinConfig;
3030

3131
@Nested
32-
private OtlpConfig otlp;
32+
private OtlpConfig otlpConfig;
3333

34-
public ZipkinConfig getZipkin() {
35-
return zipkin;
34+
public ZipkinConfig getZipkinConfig() {
35+
return zipkinConfig;
3636
}
3737

38-
public void setZipkin(ZipkinConfig zipkin) {
39-
this.zipkin = zipkin;
38+
public void setZipkinConfig(ZipkinConfig zipkinConfig) {
39+
this.zipkinConfig = zipkinConfig;
4040
}
4141

42-
public OtlpConfig getOtlp() {
43-
return otlp;
42+
public OtlpConfig getOtlpConfig() {
43+
return otlpConfig;
4444
}
4545

46-
public void setOtlp(OtlpConfig otlp) {
47-
this.otlp = otlp;
46+
public void setOtlpConfig(OtlpConfig otlpConfig) {
47+
this.otlpConfig = otlpConfig;
4848
}
4949

5050
public static class ZipkinConfig implements Serializable {
@@ -64,6 +64,19 @@ public static class ZipkinConfig implements Serializable {
6464
*/
6565
private Integer readTimeout = 10;
6666

67+
public ZipkinConfig() {
68+
}
69+
70+
public ZipkinConfig(String endpoint) {
71+
this.endpoint = endpoint;
72+
}
73+
74+
public ZipkinConfig(String endpoint, Integer connectTimeout, Integer readTimeout) {
75+
this.endpoint = endpoint;
76+
this.connectTimeout = connectTimeout;
77+
this.readTimeout = readTimeout;
78+
}
79+
6780
public String getEndpoint() {
6881
return endpoint;
6982
}
@@ -109,6 +122,24 @@ public static class OtlpConfig implements Serializable {
109122

110123
private Map<String, String> headers = new HashMap<>();
111124

125+
public OtlpConfig() {
126+
}
127+
128+
public OtlpConfig(String endpoint) {
129+
this.endpoint = endpoint;
130+
}
131+
132+
public OtlpConfig(String endpoint, Integer timeout) {
133+
this.endpoint = endpoint;
134+
this.timeout = timeout;
135+
}
136+
137+
public OtlpConfig(String endpoint, Integer timeout, String compressionMethod) {
138+
this.endpoint = endpoint;
139+
this.timeout = timeout;
140+
this.compressionMethod = compressionMethod;
141+
}
142+
112143
public String getEndpoint() {
113144
return endpoint;
114145
}

dubbo-common/src/main/java/org/apache/dubbo/config/nested/PropagationConfig.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@ public class PropagationConfig implements Serializable {
2929
*/
3030
private String type = W3C;
3131

32+
public PropagationConfig() {
33+
}
34+
35+
public PropagationConfig(String type) {
36+
this.type = type;
37+
}
38+
3239
public String getType() {
3340
return type;
3441
}

dubbo-common/src/main/java/org/apache/dubbo/config/nested/SamplingConfig.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ public class SamplingConfig implements Serializable {
2525
*/
2626
private float probability = 0.10f;
2727

28+
public SamplingConfig() {
29+
}
30+
31+
public SamplingConfig(float probability) {
32+
this.probability = probability;
33+
}
34+
2835
public float getProbability() {
2936
return this.probability;
3037
}

dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,6 @@
7878
import org.apache.dubbo.tracing.tracer.TracerProviderFactory;
7979

8080
import com.alibaba.fastjson2.JSON;
81-
import io.micrometer.core.instrument.MeterRegistry;
82-
import io.micrometer.core.instrument.observation.DefaultMeterObservationHandler;
83-
import io.micrometer.observation.ObservationHandler;
84-
import io.micrometer.observation.ObservationRegistry;
85-
import io.micrometer.tracing.Tracer;
86-
import io.micrometer.tracing.handler.DefaultTracingObservationHandler;
87-
import io.micrometer.tracing.handler.PropagatingReceiverTracingObservationHandler;
88-
import io.micrometer.tracing.handler.PropagatingSenderTracingObservationHandler;
89-
import io.micrometer.tracing.propagation.Propagator;
9081

9182
import java.io.IOException;
9283
import java.util.ArrayList;
@@ -111,6 +102,7 @@
111102
import static org.apache.dubbo.common.constants.CommonConstants.REGISTRY_SPLIT_PATTERN;
112103
import static org.apache.dubbo.common.constants.CommonConstants.REMOTE_METADATA_STORAGE_TYPE;
113104
import static org.apache.dubbo.common.constants.LoggerCodeConstants.COMMON_METRICS_COLLECTOR_EXCEPTION;
105+
import static org.apache.dubbo.common.constants.LoggerCodeConstants.COMMON_NOT_FOUND_TRACER_DEPENDENCY;
114106
import static org.apache.dubbo.common.constants.LoggerCodeConstants.CONFIG_FAILED_EXECUTE_DESTROY;
115107
import static org.apache.dubbo.common.constants.LoggerCodeConstants.CONFIG_FAILED_INIT_CONFIG_CENTER;
116108
import static org.apache.dubbo.common.constants.LoggerCodeConstants.CONFIG_FAILED_START_MODEL;
@@ -444,9 +436,15 @@ && isClassPresent("io.prometheus.client.exporter.HttpConnectionFactory")
444436
* init ObservationRegistry(Micrometer)
445437
*/
446438
private void initObservationRegistry() {
447-
if (!isSupportTracer()) {
439+
if (!isSupportObservation()) {
448440
if (logger.isDebugEnabled()) {
449-
logger.debug("Not found micrometer tracing dependency, skip init ObservationRegistry.");
441+
logger.debug("Not found micrometer-observation or plz check the version of micrometer-observation version if already introduced, need > 1.10.0");
442+
}
443+
return;
444+
}
445+
if (!isSupportTracing()) {
446+
if (logger.isDebugEnabled()) {
447+
logger.debug("Not found micrometer-tracing dependency, skip init ObservationRegistry.");
450448
}
451449
return;
452450
}
@@ -456,7 +454,7 @@ private void initObservationRegistry() {
456454
}
457455

458456
// If get ObservationRegistry.class from external(eg Spring.), use external.
459-
ObservationRegistry externalObservationRegistry = applicationModel.getBeanFactory().getBean(ObservationRegistry.class);
457+
io.micrometer.observation.ObservationRegistry externalObservationRegistry = applicationModel.getBeanFactory().getBean(io.micrometer.observation.ObservationRegistry.class);
460458
if (externalObservationRegistry != null) {
461459
if (logger.isDebugEnabled()) {
462460
logger.debug("ObservationRegistry.class from external is existed.");
@@ -470,36 +468,43 @@ private void initObservationRegistry() {
470468

471469
TracerProvider tracerProvider = TracerProviderFactory.getProvider(applicationModel, configOptional.get());
472470
if (tracerProvider == null) {
473-
logger.warn("Can not found OpenTelemetry/Brave tracer dependencies, skip init ObservationRegistry.");
471+
logger.warn(COMMON_NOT_FOUND_TRACER_DEPENDENCY, "", "", "Can not found OpenTelemetry/Brave tracer dependencies, skip init ObservationRegistry.");
474472
return;
475473
}
476474
// The real tracer will come from tracer implementation (OTel / Brave)
477-
Tracer tracer = tracerProvider.getTracer();
475+
io.micrometer.tracing.Tracer tracer = tracerProvider.getTracer();
478476

479477
// The real propagator will come from tracer implementation (OTel / Brave)
480478
PropagatorProvider propagatorProvider = PropagatorProviderFactory.getPropagatorProvider();
481-
Propagator propagator = propagatorProvider != null ? propagatorProvider.getPropagator() : Propagator.NOOP;
482-
483-
MeterRegistry meterRegistry = MetricsGlobalRegistry.getCompositeRegistry(applicationModel);
479+
io.micrometer.tracing.propagation.Propagator propagator = propagatorProvider != null ? propagatorProvider.getPropagator() : io.micrometer.tracing.propagation.Propagator.NOOP;
484480

485-
ObservationRegistry registry = ObservationRegistry.create();
481+
io.micrometer.observation.ObservationRegistry registry = io.micrometer.observation.ObservationRegistry.create();
486482
registry.observationConfig()
487-
.observationHandler(new DefaultMeterObservationHandler(meterRegistry))
488483
// set up a first matching handler that creates spans - it comes from Micrometer Tracing.
489484
// set up spans for sending and receiving data over the wire and a default one.
490-
.observationHandler(new ObservationHandler.FirstMatchingCompositeObservationHandler(
491-
new PropagatingSenderTracingObservationHandler<>(tracer, propagator),
492-
new PropagatingReceiverTracingObservationHandler<>(tracer, propagator),
493-
new DefaultTracingObservationHandler(tracer)));
485+
.observationHandler(new io.micrometer.observation.ObservationHandler.FirstMatchingCompositeObservationHandler(
486+
new io.micrometer.tracing.handler.PropagatingSenderTracingObservationHandler<>(tracer, propagator),
487+
new io.micrometer.tracing.handler.PropagatingReceiverTracingObservationHandler<>(tracer, propagator),
488+
new io.micrometer.tracing.handler.DefaultTracingObservationHandler(tracer)));
489+
490+
if (isSupportMetrics()) {
491+
io.micrometer.core.instrument.MeterRegistry meterRegistry = MetricsGlobalRegistry.getCompositeRegistry(applicationModel);
492+
registry.observationConfig().observationHandler(new io.micrometer.core.instrument.observation.DefaultMeterObservationHandler(meterRegistry));
493+
}
494494

495495
applicationModel.getBeanFactory().registerBean(registry);
496496
applicationModel.getBeanFactory().registerBean(tracer);
497497
applicationModel.getBeanFactory().registerBean(propagator);
498498
}
499499

500-
public boolean isSupportTracer() {
500+
public boolean isSupportObservation() {
501+
return isClassPresent("io.micrometer.observation.Observation")
502+
&& isClassPresent("io.micrometer.observation.ObservationRegistry")
503+
&& isClassPresent("io.micrometer.observation.ObservationHandler");
504+
}
505+
506+
public boolean isSupportTracing() {
501507
return isClassPresent("io.micrometer.tracing.Tracer")
502-
&& isClassPresent("io.micrometer.observation.Observation")
503508
&& isClassPresent("io.micrometer.tracing.propagation.Propagator");
504509
}
505510

0 commit comments

Comments
 (0)