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.redis.version import __version__
|
||||||
from opentelemetry.instrumentation.utils import unwrap
|
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 (
|
from opentelemetry.trace import (
|
||||||
StatusCode,
|
StatusCode,
|
||||||
Tracer,
|
Tracer,
|
||||||
@ -200,7 +202,7 @@ def _traced_execute_factory(
|
|||||||
name, kind=trace.SpanKind.CLIENT
|
name, kind=trace.SpanKind.CLIENT
|
||||||
) as span:
|
) as span:
|
||||||
if span.is_recording():
|
if span.is_recording():
|
||||||
span.set_attribute(SpanAttributes.DB_STATEMENT, query)
|
span.set_attribute(DB_STATEMENT, query)
|
||||||
_set_connection_attributes(span, instance)
|
_set_connection_attributes(span, instance)
|
||||||
span.set_attribute("db.redis.args_length", len(args))
|
span.set_attribute("db.redis.args_length", len(args))
|
||||||
if span.name == "redis.create_index":
|
if span.name == "redis.create_index":
|
||||||
@ -239,7 +241,7 @@ def _traced_execute_pipeline_factory(
|
|||||||
span_name, kind=trace.SpanKind.CLIENT
|
span_name, kind=trace.SpanKind.CLIENT
|
||||||
) as span:
|
) as span:
|
||||||
if span.is_recording():
|
if span.is_recording():
|
||||||
span.set_attribute(SpanAttributes.DB_STATEMENT, resource)
|
span.set_attribute(DB_STATEMENT, resource)
|
||||||
_set_connection_attributes(span, instance)
|
_set_connection_attributes(span, instance)
|
||||||
span.set_attribute(
|
span.set_attribute(
|
||||||
"db.redis.pipeline_length", len(command_stack)
|
"db.redis.pipeline_length", len(command_stack)
|
||||||
@ -281,7 +283,7 @@ def _async_traced_execute_factory(
|
|||||||
name, kind=trace.SpanKind.CLIENT
|
name, kind=trace.SpanKind.CLIENT
|
||||||
) as span:
|
) as span:
|
||||||
if span.is_recording():
|
if span.is_recording():
|
||||||
span.set_attribute(SpanAttributes.DB_STATEMENT, query)
|
span.set_attribute(DB_STATEMENT, query)
|
||||||
_set_connection_attributes(span, instance)
|
_set_connection_attributes(span, instance)
|
||||||
span.set_attribute("db.redis.args_length", len(args))
|
span.set_attribute("db.redis.args_length", len(args))
|
||||||
if callable(request_hook):
|
if callable(request_hook):
|
||||||
@ -317,7 +319,7 @@ def _async_traced_execute_pipeline_factory(
|
|||||||
span_name, kind=trace.SpanKind.CLIENT
|
span_name, kind=trace.SpanKind.CLIENT
|
||||||
) as span:
|
) as span:
|
||||||
if span.is_recording():
|
if span.is_recording():
|
||||||
span.set_attribute(SpanAttributes.DB_STATEMENT, resource)
|
span.set_attribute(DB_STATEMENT, resource)
|
||||||
_set_connection_attributes(span, instance)
|
_set_connection_attributes(span, instance)
|
||||||
span.set_attribute(
|
span.set_attribute(
|
||||||
"db.redis.pipeline_length", len(command_stack)
|
"db.redis.pipeline_length", len(command_stack)
|
||||||
|
@ -25,10 +25,16 @@ from redis.exceptions import WatchError
|
|||||||
|
|
||||||
from opentelemetry import trace
|
from opentelemetry import trace
|
||||||
from opentelemetry.instrumentation.redis import RedisInstrumentor
|
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,
|
DbSystemValues,
|
||||||
|
)
|
||||||
|
from opentelemetry.semconv._incubating.attributes.net_attributes import (
|
||||||
|
NET_PEER_NAME,
|
||||||
|
NET_PEER_PORT,
|
||||||
|
NET_TRANSPORT,
|
||||||
NetTransportValues,
|
NetTransportValues,
|
||||||
SpanAttributes,
|
|
||||||
)
|
)
|
||||||
from opentelemetry.test.test_base import TestBase
|
from opentelemetry.test.test_base import TestBase
|
||||||
from opentelemetry.trace import SpanKind
|
from opentelemetry.trace import SpanKind
|
||||||
@ -257,18 +263,14 @@ class TestRedis(TestBase):
|
|||||||
|
|
||||||
span = spans[0]
|
span = spans[0]
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
span.attributes[SpanAttributes.DB_SYSTEM],
|
span.attributes[DB_SYSTEM],
|
||||||
DbSystemValues.REDIS.value,
|
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(
|
self.assertEqual(
|
||||||
span.attributes[SpanAttributes.DB_REDIS_DATABASE_INDEX], 0
|
span.attributes[NET_TRANSPORT],
|
||||||
)
|
|
||||||
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],
|
|
||||||
NetTransportValues.IP_TCP.value,
|
NetTransportValues.IP_TCP.value,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -283,18 +285,14 @@ class TestRedis(TestBase):
|
|||||||
|
|
||||||
span = spans[0]
|
span = spans[0]
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
span.attributes[SpanAttributes.DB_SYSTEM],
|
span.attributes[DB_SYSTEM],
|
||||||
DbSystemValues.REDIS.value,
|
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(
|
self.assertEqual(
|
||||||
span.attributes[SpanAttributes.DB_REDIS_DATABASE_INDEX], 1
|
span.attributes[NET_TRANSPORT],
|
||||||
)
|
|
||||||
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],
|
|
||||||
NetTransportValues.IP_TCP.value,
|
NetTransportValues.IP_TCP.value,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -311,18 +309,16 @@ class TestRedis(TestBase):
|
|||||||
|
|
||||||
span = spans[0]
|
span = spans[0]
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
span.attributes[SpanAttributes.DB_SYSTEM],
|
span.attributes[DB_SYSTEM],
|
||||||
DbSystemValues.REDIS.value,
|
DbSystemValues.REDIS.value,
|
||||||
)
|
)
|
||||||
|
self.assertEqual(span.attributes[DB_REDIS_DATABASE_INDEX], 3)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
span.attributes[SpanAttributes.DB_REDIS_DATABASE_INDEX], 3
|
span.attributes[NET_PEER_NAME],
|
||||||
)
|
|
||||||
self.assertEqual(
|
|
||||||
span.attributes[SpanAttributes.NET_PEER_NAME],
|
|
||||||
"/path/to/socket.sock",
|
"/path/to/socket.sock",
|
||||||
)
|
)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
span.attributes[SpanAttributes.NET_TRANSPORT],
|
span.attributes[NET_TRANSPORT],
|
||||||
NetTransportValues.OTHER.value,
|
NetTransportValues.OTHER.value,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user