Skip to content

Commit c1a6895

Browse files
authored
Refactor redis instrumentation to use semconv incubating attributes (#3534)
* Replaced usage of opentelemetry.semconv.trace with opentelemetry.semconv._incubating.attributes. * Fixed ruff failure
1 parent b3f98ab commit c1a6895

File tree

2 files changed

+29
-31
lines changed

2 files changed

+29
-31
lines changed

instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/__init__.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,9 @@ def response_hook(span, instance, response):
135135
)
136136
from opentelemetry.instrumentation.redis.version import __version__
137137
from opentelemetry.instrumentation.utils import unwrap
138-
from opentelemetry.semconv.trace import SpanAttributes
138+
from opentelemetry.semconv._incubating.attributes.db_attributes import (
139+
DB_STATEMENT,
140+
)
139141
from opentelemetry.trace import (
140142
StatusCode,
141143
Tracer,
@@ -200,7 +202,7 @@ def _traced_execute_command(
200202
name, kind=trace.SpanKind.CLIENT
201203
) as span:
202204
if span.is_recording():
203-
span.set_attribute(SpanAttributes.DB_STATEMENT, query)
205+
span.set_attribute(DB_STATEMENT, query)
204206
_set_connection_attributes(span, instance)
205207
span.set_attribute("db.redis.args_length", len(args))
206208
if span.name == "redis.create_index":
@@ -239,7 +241,7 @@ def _traced_execute_pipeline(
239241
span_name, kind=trace.SpanKind.CLIENT
240242
) as span:
241243
if span.is_recording():
242-
span.set_attribute(SpanAttributes.DB_STATEMENT, resource)
244+
span.set_attribute(DB_STATEMENT, resource)
243245
_set_connection_attributes(span, instance)
244246
span.set_attribute(
245247
"db.redis.pipeline_length", len(command_stack)
@@ -281,7 +283,7 @@ async def _async_traced_execute_command(
281283
name, kind=trace.SpanKind.CLIENT
282284
) as span:
283285
if span.is_recording():
284-
span.set_attribute(SpanAttributes.DB_STATEMENT, query)
286+
span.set_attribute(DB_STATEMENT, query)
285287
_set_connection_attributes(span, instance)
286288
span.set_attribute("db.redis.args_length", len(args))
287289
if callable(request_hook):
@@ -317,7 +319,7 @@ async def _async_traced_execute_pipeline(
317319
span_name, kind=trace.SpanKind.CLIENT
318320
) as span:
319321
if span.is_recording():
320-
span.set_attribute(SpanAttributes.DB_STATEMENT, resource)
322+
span.set_attribute(DB_STATEMENT, resource)
321323
_set_connection_attributes(span, instance)
322324
span.set_attribute(
323325
"db.redis.pipeline_length", len(command_stack)

instrumentation/opentelemetry-instrumentation-redis/tests/test_redis.py

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,16 @@
2525

2626
from opentelemetry import trace
2727
from opentelemetry.instrumentation.redis import RedisInstrumentor
28-
from opentelemetry.semconv.trace import (
28+
from opentelemetry.semconv._incubating.attributes.db_attributes import (
29+
DB_REDIS_DATABASE_INDEX,
30+
DB_SYSTEM,
2931
DbSystemValues,
32+
)
33+
from opentelemetry.semconv._incubating.attributes.net_attributes import (
34+
NET_PEER_NAME,
35+
NET_PEER_PORT,
36+
NET_TRANSPORT,
3037
NetTransportValues,
31-
SpanAttributes,
3238
)
3339
from opentelemetry.test.test_base import TestBase
3440
from opentelemetry.trace import SpanKind
@@ -257,18 +263,14 @@ def test_attributes_default(self):
257263

258264
span = spans[0]
259265
self.assertEqual(
260-
span.attributes[SpanAttributes.DB_SYSTEM],
266+
span.attributes[DB_SYSTEM],
261267
DbSystemValues.REDIS.value,
262268
)
269+
self.assertEqual(span.attributes[DB_REDIS_DATABASE_INDEX], 0)
270+
self.assertEqual(span.attributes[NET_PEER_NAME], "localhost")
271+
self.assertEqual(span.attributes[NET_PEER_PORT], 6379)
263272
self.assertEqual(
264-
span.attributes[SpanAttributes.DB_REDIS_DATABASE_INDEX], 0
265-
)
266-
self.assertEqual(
267-
span.attributes[SpanAttributes.NET_PEER_NAME], "localhost"
268-
)
269-
self.assertEqual(span.attributes[SpanAttributes.NET_PEER_PORT], 6379)
270-
self.assertEqual(
271-
span.attributes[SpanAttributes.NET_TRANSPORT],
273+
span.attributes[NET_TRANSPORT],
272274
NetTransportValues.IP_TCP.value,
273275
)
274276

@@ -283,18 +285,14 @@ def test_attributes_tcp(self):
283285

284286
span = spans[0]
285287
self.assertEqual(
286-
span.attributes[SpanAttributes.DB_SYSTEM],
288+
span.attributes[DB_SYSTEM],
287289
DbSystemValues.REDIS.value,
288290
)
291+
self.assertEqual(span.attributes[DB_REDIS_DATABASE_INDEX], 1)
292+
self.assertEqual(span.attributes[NET_PEER_NAME], "1.1.1.1")
293+
self.assertEqual(span.attributes[NET_PEER_PORT], 6380)
289294
self.assertEqual(
290-
span.attributes[SpanAttributes.DB_REDIS_DATABASE_INDEX], 1
291-
)
292-
self.assertEqual(
293-
span.attributes[SpanAttributes.NET_PEER_NAME], "1.1.1.1"
294-
)
295-
self.assertEqual(span.attributes[SpanAttributes.NET_PEER_PORT], 6380)
296-
self.assertEqual(
297-
span.attributes[SpanAttributes.NET_TRANSPORT],
295+
span.attributes[NET_TRANSPORT],
298296
NetTransportValues.IP_TCP.value,
299297
)
300298

@@ -311,18 +309,16 @@ def test_attributes_unix_socket(self):
311309

312310
span = spans[0]
313311
self.assertEqual(
314-
span.attributes[SpanAttributes.DB_SYSTEM],
312+
span.attributes[DB_SYSTEM],
315313
DbSystemValues.REDIS.value,
316314
)
315+
self.assertEqual(span.attributes[DB_REDIS_DATABASE_INDEX], 3)
317316
self.assertEqual(
318-
span.attributes[SpanAttributes.DB_REDIS_DATABASE_INDEX], 3
319-
)
320-
self.assertEqual(
321-
span.attributes[SpanAttributes.NET_PEER_NAME],
317+
span.attributes[NET_PEER_NAME],
322318
"/path/to/socket.sock",
323319
)
324320
self.assertEqual(
325-
span.attributes[SpanAttributes.NET_TRANSPORT],
321+
span.attributes[NET_TRANSPORT],
326322
NetTransportValues.OTHER.value,
327323
)
328324

0 commit comments

Comments
 (0)