mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-31 22:23:12 +08:00
Refactor redis instrumentation to use semconv incubating attributes (#3534)
* Replaced usage of opentelemetry.semconv.trace with opentelemetry.semconv._incubating.attributes. * Fixed ruff failure
This commit is contained in:
@ -135,7 +135,9 @@ from opentelemetry.instrumentation.redis.util import (
|
||||
)
|
||||
from opentelemetry.instrumentation.redis.version import __version__
|
||||
from opentelemetry.instrumentation.utils import unwrap
|
||||
from opentelemetry.semconv.trace import SpanAttributes
|
||||
from opentelemetry.semconv._incubating.attributes.db_attributes import (
|
||||
DB_STATEMENT,
|
||||
)
|
||||
from opentelemetry.trace import (
|
||||
StatusCode,
|
||||
Tracer,
|
||||
@ -200,7 +202,7 @@ def _traced_execute_factory(
|
||||
name, kind=trace.SpanKind.CLIENT
|
||||
) as span:
|
||||
if span.is_recording():
|
||||
span.set_attribute(SpanAttributes.DB_STATEMENT, query)
|
||||
span.set_attribute(DB_STATEMENT, query)
|
||||
_set_connection_attributes(span, instance)
|
||||
span.set_attribute("db.redis.args_length", len(args))
|
||||
if span.name == "redis.create_index":
|
||||
@ -239,7 +241,7 @@ def _traced_execute_pipeline_factory(
|
||||
span_name, kind=trace.SpanKind.CLIENT
|
||||
) as span:
|
||||
if span.is_recording():
|
||||
span.set_attribute(SpanAttributes.DB_STATEMENT, resource)
|
||||
span.set_attribute(DB_STATEMENT, resource)
|
||||
_set_connection_attributes(span, instance)
|
||||
span.set_attribute(
|
||||
"db.redis.pipeline_length", len(command_stack)
|
||||
@ -281,7 +283,7 @@ def _async_traced_execute_factory(
|
||||
name, kind=trace.SpanKind.CLIENT
|
||||
) as span:
|
||||
if span.is_recording():
|
||||
span.set_attribute(SpanAttributes.DB_STATEMENT, query)
|
||||
span.set_attribute(DB_STATEMENT, query)
|
||||
_set_connection_attributes(span, instance)
|
||||
span.set_attribute("db.redis.args_length", len(args))
|
||||
if callable(request_hook):
|
||||
@ -317,7 +319,7 @@ def _async_traced_execute_pipeline_factory(
|
||||
span_name, kind=trace.SpanKind.CLIENT
|
||||
) as span:
|
||||
if span.is_recording():
|
||||
span.set_attribute(SpanAttributes.DB_STATEMENT, resource)
|
||||
span.set_attribute(DB_STATEMENT, resource)
|
||||
_set_connection_attributes(span, instance)
|
||||
span.set_attribute(
|
||||
"db.redis.pipeline_length", len(command_stack)
|
||||
|
@ -25,10 +25,16 @@ from redis.exceptions import WatchError
|
||||
|
||||
from opentelemetry import trace
|
||||
from opentelemetry.instrumentation.redis import RedisInstrumentor
|
||||
from opentelemetry.semconv.trace import (
|
||||
from opentelemetry.semconv._incubating.attributes.db_attributes import (
|
||||
DB_REDIS_DATABASE_INDEX,
|
||||
DB_SYSTEM,
|
||||
DbSystemValues,
|
||||
)
|
||||
from opentelemetry.semconv._incubating.attributes.net_attributes import (
|
||||
NET_PEER_NAME,
|
||||
NET_PEER_PORT,
|
||||
NET_TRANSPORT,
|
||||
NetTransportValues,
|
||||
SpanAttributes,
|
||||
)
|
||||
from opentelemetry.test.test_base import TestBase
|
||||
from opentelemetry.trace import SpanKind
|
||||
@ -257,18 +263,14 @@ class TestRedis(TestBase):
|
||||
|
||||
span = spans[0]
|
||||
self.assertEqual(
|
||||
span.attributes[SpanAttributes.DB_SYSTEM],
|
||||
span.attributes[DB_SYSTEM],
|
||||
DbSystemValues.REDIS.value,
|
||||
)
|
||||
self.assertEqual(span.attributes[DB_REDIS_DATABASE_INDEX], 0)
|
||||
self.assertEqual(span.attributes[NET_PEER_NAME], "localhost")
|
||||
self.assertEqual(span.attributes[NET_PEER_PORT], 6379)
|
||||
self.assertEqual(
|
||||
span.attributes[SpanAttributes.DB_REDIS_DATABASE_INDEX], 0
|
||||
)
|
||||
self.assertEqual(
|
||||
span.attributes[SpanAttributes.NET_PEER_NAME], "localhost"
|
||||
)
|
||||
self.assertEqual(span.attributes[SpanAttributes.NET_PEER_PORT], 6379)
|
||||
self.assertEqual(
|
||||
span.attributes[SpanAttributes.NET_TRANSPORT],
|
||||
span.attributes[NET_TRANSPORT],
|
||||
NetTransportValues.IP_TCP.value,
|
||||
)
|
||||
|
||||
@ -283,18 +285,14 @@ class TestRedis(TestBase):
|
||||
|
||||
span = spans[0]
|
||||
self.assertEqual(
|
||||
span.attributes[SpanAttributes.DB_SYSTEM],
|
||||
span.attributes[DB_SYSTEM],
|
||||
DbSystemValues.REDIS.value,
|
||||
)
|
||||
self.assertEqual(span.attributes[DB_REDIS_DATABASE_INDEX], 1)
|
||||
self.assertEqual(span.attributes[NET_PEER_NAME], "1.1.1.1")
|
||||
self.assertEqual(span.attributes[NET_PEER_PORT], 6380)
|
||||
self.assertEqual(
|
||||
span.attributes[SpanAttributes.DB_REDIS_DATABASE_INDEX], 1
|
||||
)
|
||||
self.assertEqual(
|
||||
span.attributes[SpanAttributes.NET_PEER_NAME], "1.1.1.1"
|
||||
)
|
||||
self.assertEqual(span.attributes[SpanAttributes.NET_PEER_PORT], 6380)
|
||||
self.assertEqual(
|
||||
span.attributes[SpanAttributes.NET_TRANSPORT],
|
||||
span.attributes[NET_TRANSPORT],
|
||||
NetTransportValues.IP_TCP.value,
|
||||
)
|
||||
|
||||
@ -311,18 +309,16 @@ class TestRedis(TestBase):
|
||||
|
||||
span = spans[0]
|
||||
self.assertEqual(
|
||||
span.attributes[SpanAttributes.DB_SYSTEM],
|
||||
span.attributes[DB_SYSTEM],
|
||||
DbSystemValues.REDIS.value,
|
||||
)
|
||||
self.assertEqual(span.attributes[DB_REDIS_DATABASE_INDEX], 3)
|
||||
self.assertEqual(
|
||||
span.attributes[SpanAttributes.DB_REDIS_DATABASE_INDEX], 3
|
||||
)
|
||||
self.assertEqual(
|
||||
span.attributes[SpanAttributes.NET_PEER_NAME],
|
||||
span.attributes[NET_PEER_NAME],
|
||||
"/path/to/socket.sock",
|
||||
)
|
||||
self.assertEqual(
|
||||
span.attributes[SpanAttributes.NET_TRANSPORT],
|
||||
span.attributes[NET_TRANSPORT],
|
||||
NetTransportValues.OTHER.value,
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user