2929import io .opentelemetry .context .Context ;
3030import io .opentelemetry .instrumentation .api .incubator .semconv .db .RedisCommandSanitizer ;
3131import io .opentelemetry .instrumentation .api .instrumenter .AttributesExtractor ;
32- import io .opentelemetry .instrumentation .api .instrumenter .Instrumenter ;
3332import io .opentelemetry .instrumentation .api .instrumenter .OperationListener ;
3433import io .opentelemetry .instrumentation .api .internal .SemconvStability ;
3534import io .opentelemetry .instrumentation .api .semconv .network .NetworkAttributesExtractor ;
@@ -55,20 +54,13 @@ final class OpenTelemetryTracing implements Tracing {
5554 ServerAttributesExtractor .create (new LettuceServerAttributesGetter ());
5655 private static final AttributesExtractor <OpenTelemetryEndpoint , Void > networkAttributesExtractor =
5756 NetworkAttributesExtractor .create (new LettuceServerAttributesGetter ());
58-
59- // Simple request object for shouldStart checks when we don't have full RedisCommand details
60- private static final Object REDIS_OPERATION_REQUEST = new Object ();
61-
6257 private final TracerProvider tracerProvider ;
63- private final Instrumenter <Object , Void > instrumenter ;
6458
6559 OpenTelemetryTracing (
6660 io .opentelemetry .api .trace .Tracer tracer ,
6761 RedisCommandSanitizer sanitizer ,
68- OperationListener metrics ,
69- Instrumenter <Object , Void > instrumenter ) {
70- this .tracerProvider = new OpenTelemetryTracerProvider (tracer , sanitizer , metrics , instrumenter );
71- this .instrumenter = instrumenter ;
62+ OperationListener metrics ) {
63+ this .tracerProvider = new OpenTelemetryTracerProvider (tracer , sanitizer , metrics );
7264 }
7365
7466 @ Override
@@ -108,9 +100,8 @@ private static class OpenTelemetryTracerProvider implements TracerProvider {
108100 OpenTelemetryTracerProvider (
109101 io .opentelemetry .api .trace .Tracer tracer ,
110102 RedisCommandSanitizer sanitizer ,
111- OperationListener metrics ,
112- Instrumenter <Object , Void > instrumenter ) {
113- openTelemetryTracer = new OpenTelemetryTracer (tracer , sanitizer , metrics , instrumenter );
103+ OperationListener metrics ) {
104+ openTelemetryTracer = new OpenTelemetryTracer (tracer , sanitizer , metrics );
114105 }
115106
116107 @ Override
@@ -152,17 +143,14 @@ private static class OpenTelemetryTracer extends Tracer {
152143 private final io .opentelemetry .api .trace .Tracer tracer ;
153144 private final RedisCommandSanitizer sanitizer ;
154145 private final OperationListener metrics ;
155- private final Instrumenter <Object , Void > instrumenter ;
156146
157147 OpenTelemetryTracer (
158148 io .opentelemetry .api .trace .Tracer tracer ,
159149 RedisCommandSanitizer sanitizer ,
160- OperationListener metrics ,
161- Instrumenter <Object , Void > instrumenter ) {
150+ OperationListener metrics ) {
162151 this .tracer = tracer ;
163152 this .sanitizer = sanitizer ;
164153 this .metrics = metrics ;
165- this .instrumenter = instrumenter ;
166154 }
167155
168156 @ Override
@@ -191,7 +179,7 @@ private OpenTelemetrySpan nextSpan(Context context) {
191179 if (SemconvStability .emitOldDatabaseSemconv ()) {
192180 spanBuilder .setAttribute (DB_SYSTEM , REDIS );
193181 }
194- return new OpenTelemetrySpan (context , spanBuilder , sanitizer , metrics , instrumenter );
182+ return new OpenTelemetrySpan (context , spanBuilder , sanitizer , metrics );
195183 }
196184 }
197185
@@ -205,7 +193,6 @@ private static class OpenTelemetrySpan extends Tracer.Span {
205193 private final SpanBuilder spanBuilder ;
206194 private final RedisCommandSanitizer sanitizer ;
207195 private final OperationListener metrics ;
208- private final Instrumenter <Object , Void > instrumenter ;
209196
210197 @ Nullable private String name ;
211198 @ Nullable private List <Object > events ;
@@ -220,13 +207,11 @@ private static class OpenTelemetrySpan extends Tracer.Span {
220207 Context context ,
221208 SpanBuilder spanBuilder ,
222209 RedisCommandSanitizer sanitizer ,
223- OperationListener metrics ,
224- Instrumenter <Object , Void > instrumenter ) {
210+ OperationListener metrics ) {
225211 this .context = context ;
226212 this .spanBuilder = spanBuilder ;
227213 this .sanitizer = sanitizer ;
228214 this .metrics = metrics ;
229- this .instrumenter = instrumenter ;
230215 this .attributesBuilder = Attributes .builder ();
231216 if (SemconvStability .emitStableDatabaseSemconv ()) {
232217 attributesBuilder .put (DB_SYSTEM_NAME , REDIS );
@@ -276,12 +261,7 @@ private void fillEndpoint(OpenTelemetryEndpoint endpoint) {
276261 @ CanIgnoreReturnValue
277262 @ SuppressWarnings ({"UnusedMethod" , "EffectivelyPrivate" })
278263 public synchronized Tracer .Span start (RedisCommand <?, ?, ?> command ) {
279- // Check if instrumentation should start for this command
280- if (!instrumenter .shouldStart (context , (Object ) command )) {
281- return this ;
282- }
283-
284- startSpanInternal ();
264+ start ();
285265 long startNanos = System .nanoTime ();
286266
287267 Span span = this .span ;
@@ -321,15 +301,6 @@ public synchronized Tracer.Span start(RedisCommand<?, ?, ?> command) {
321301 @ Override
322302 @ CanIgnoreReturnValue
323303 public synchronized Tracer .Span start () {
324- // Check if instrumentation should start for generic redis operation
325- if (!instrumenter .shouldStart (context , REDIS_OPERATION_REQUEST )) {
326- return this ;
327- }
328-
329- return startSpanInternal ();
330- }
331-
332- private synchronized Tracer .Span startSpanInternal () {
333304 span = spanBuilder .startSpan ();
334305 spanStartNanos = System .nanoTime ();
335306 if (name != null ) {
0 commit comments