Skip to content

Commit 05eba36

Browse files
Publishing tests-otel-common; fixes gh-82
1 parent ed18eac commit 05eba36

File tree

6 files changed

+72
-18
lines changed

6 files changed

+72
-18
lines changed

tests/common/pom.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@
3434
<relativePath>..</relativePath>
3535
</parent>
3636

37-
<properties>
38-
<maven.javadoc.skip>true</maven.javadoc.skip>
39-
</properties>
40-
4137
<dependencies>
4238
<dependency>
4339
<groupId>org.springframework.cloud</groupId>

tests/common/src/main/java/org/springframework/cloud/sleuth/otel/OtelTestSpanHandler.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,20 @@
3838
import org.springframework.cloud.sleuth.otel.bridge.OtelAccessor;
3939
import org.springframework.cloud.sleuth.test.TestSpanHandler;
4040

41+
/**
42+
* Test abstraction to store handled spans.
43+
*
44+
* @author Marcin Grzejszczak
45+
* @since 1.0.0
46+
*/
4147
public class OtelTestSpanHandler implements TestSpanHandler, SpanProcessor, SpanExporter {
4248

4349
private final ArrayListSpanProcessor spanProcessor;
4450

51+
/**
52+
* Creates a new instance.
53+
* @param spanProcessor span processor
54+
*/
4555
public OtelTestSpanHandler(ArrayListSpanProcessor spanProcessor) {
4656
this.spanProcessor = spanProcessor;
4757
}

tests/common/src/main/java/org/springframework/cloud/sleuth/otel/OtelTestTracing.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@
4949
import org.springframework.cloud.sleuth.test.TracerAware;
5050
import org.springframework.context.ApplicationEventPublisher;
5151

52+
/**
53+
* Class containing access to all tracing related components.
54+
*
55+
* @author Marcin Grzejszczak
56+
* @since 1.0.0
57+
*/
5258
public class OtelTestTracing implements TracerAware, TestTracingAware, TestTracingAwareSupplier, Closeable {
5359

5460
private final DynamicSampler sampler = new DynamicSampler();

tests/common/src/main/java/org/springframework/cloud/sleuth/otel/OtelTestTracingAssertions.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@
2121
import org.springframework.cloud.sleuth.exporter.FinishedSpan;
2222
import org.springframework.cloud.sleuth.test.TestTracingAssertions;
2323

24+
/**
25+
* Class containing assertions specific to OTel.
26+
*
27+
* @author Marcin Grzejszczak
28+
* @since 1.0.0
29+
*/
2430
public class OtelTestTracingAssertions implements TestTracingAssertions {
2531

2632
@Override

tests/common/src/main/java/org/springframework/cloud/sleuth/otel/bridge/OtelAccessor.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,26 @@
3737
import org.springframework.context.ApplicationEventPublisher;
3838
import org.springframework.lang.Nullable;
3939

40+
/**
41+
* Wraps OTel classes in Sleuth representations.
42+
*
43+
* @author Marcin Grzejszczak
44+
* @since 1.0.0
45+
*/
4046
public final class OtelAccessor {
4147

4248
private OtelAccessor() {
4349
throw new IllegalStateException("Can't instantiate a utility class");
4450
}
4551

52+
/**
53+
* Creates an OTel Tracer.
54+
* @param openTelemetry open telemetry
55+
* @param currentTraceContext current trace context
56+
* @param sleuthBaggageProperties sleuth baggage properties
57+
* @param publisher application publisher
58+
* @return tracer
59+
*/
4660
public static Tracer tracer(OpenTelemetry openTelemetry, CurrentTraceContext currentTraceContext,
4761
SleuthBaggageProperties sleuthBaggageProperties, ApplicationEventPublisher publisher) {
4862
return new OtelTracer(otelTracer(openTelemetry), publisher, new OtelBaggageManager(currentTraceContext,
@@ -53,32 +67,68 @@ private static io.opentelemetry.api.trace.Tracer otelTracer(OpenTelemetry openTe
5367
return openTelemetry.getTracer("org.springframework.cloud.sleuth");
5468
}
5569

70+
/**
71+
* Creates an OTel CurrentTraceContext.
72+
* @return current trace context
73+
*/
5674
public static CurrentTraceContext currentTraceContext() {
5775
return new OtelCurrentTraceContext();
5876
}
5977

78+
/**
79+
* Converts OTel SpanContext to TraceContext.
80+
* @param spanContext OTel span context
81+
* @return converted trace context
82+
*/
6083
public static TraceContext traceContext(SpanContext spanContext) {
6184
return OtelTraceContext.fromOtel(spanContext);
6285
}
6386

87+
/**
88+
* Converts OTel ContextPropagator to a Propagator.
89+
* @param propagators propagators
90+
* @param openTelemetry open telemetry
91+
* @return OTel propagator
92+
*/
6493
public static Propagator propagator(ContextPropagators propagators, OpenTelemetry openTelemetry) {
6594
return new OtelPropagator(propagators, otelTracer(openTelemetry));
6695
}
6796

97+
/**
98+
* Creates an HttpClientHandler.
99+
* @param openTelemetry open telemetry
100+
* @param httpClientRequestParser http client request parser
101+
* @param httpClientResponseParser http client response parser
102+
* @param samplerFunction sampler function
103+
* @return http client handler
104+
*/
68105
public static HttpClientHandler httpClientHandler(io.opentelemetry.api.OpenTelemetry openTelemetry,
69106
@Nullable HttpRequestParser httpClientRequestParser, @Nullable HttpResponseParser httpClientResponseParser,
70107
SamplerFunction<HttpRequest> samplerFunction) {
71108
return new OtelHttpClientHandler(openTelemetry, httpClientRequestParser, httpClientResponseParser,
72109
samplerFunction);
73110
}
74111

112+
/**
113+
* Creates an HttpServerHandler.
114+
* @param openTelemetry open telemetry
115+
* @param httpServerRequestParser http server request parser
116+
* @param httpServerResponseParser http server response parser
117+
* @param skipPatternProvider skip pattern provider
118+
* @return http server handler
119+
*/
75120
public static HttpServerHandler httpServerHandler(io.opentelemetry.api.OpenTelemetry openTelemetry,
76121
HttpRequestParser httpServerRequestParser, HttpResponseParser httpServerResponseParser,
77122
SkipPatternProvider skipPatternProvider) {
78123
return new OtelHttpServerHandler(openTelemetry, httpServerRequestParser, httpServerResponseParser,
79124
skipPatternProvider);
80125
}
81126

127+
/**
128+
* Converts OTel SpanData to FinishedSpan.
129+
* @param spanData OTel span data
130+
* @return finished span
131+
*/
82132
public static FinishedSpan finishedSpan(SpanData spanData) {
83133
return new OtelFinishedSpan(spanData);
84134
}

tests/pom.xml

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,4 @@
3939
<module>otel</module>
4040
</modules>
4141

42-
<build>
43-
<pluginManagement>
44-
<plugins>
45-
<plugin>
46-
<!--skip deploy (this is just a test module) -->
47-
<artifactId>maven-deploy-plugin</artifactId>
48-
<configuration>
49-
<skip>true</skip>
50-
</configuration>
51-
</plugin>
52-
</plugins>
53-
</pluginManagement>
54-
</build>
55-
5642
</project>

0 commit comments

Comments
 (0)