3737import org .springframework .context .ApplicationEventPublisher ;
3838import org .springframework .lang .Nullable ;
3939
40+ /**
41+ * Wraps OTel classes in Sleuth representations.
42+ *
43+ * @author Marcin Grzejszczak
44+ * @since 1.0.0
45+ */
4046public 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 }
0 commit comments