Skip to content

Commit 9b77998

Browse files
committed
Fix type compatibility
1 parent 586a87a commit 9b77998

File tree

4 files changed

+47
-41
lines changed

4 files changed

+47
-41
lines changed

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ def response_hook(span, instance, response):
152152
import redis.cluster
153153
import redis.connection
154154

155-
from opentelemetry.instrumentation.redis.types import (
155+
from opentelemetry.instrumentation.redis.custom_types import (
156156
AsyncPipelineInstance,
157157
AsyncRedisInstance,
158158
PipelineInstance,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
from __future__ import annotations
2+
3+
from typing import TYPE_CHECKING, Any, Callable, TypeVar
4+
5+
import redis.asyncio.client
6+
import redis.asyncio.cluster
7+
import redis.client
8+
import redis.cluster
9+
import redis.connection
10+
11+
from opentelemetry.trace import Span
12+
13+
if TYPE_CHECKING:
14+
RequestHook = Callable[
15+
[Span, redis.connection.Connection, list[Any], dict[str, Any]], None
16+
]
17+
ResponseHook = Callable[[Span, redis.connection.Connection, Any], None]
18+
19+
AsyncPipelineInstance = TypeVar(
20+
"AsyncPipelineInstance",
21+
redis.asyncio.client.Pipeline,
22+
redis.asyncio.cluster.ClusterPipeline,
23+
)
24+
AsyncRedisInstance = TypeVar(
25+
"AsyncRedisInstance", redis.asyncio.Redis, redis.asyncio.RedisCluster
26+
)
27+
PipelineInstance = TypeVar(
28+
"PipelineInstance",
29+
redis.client.Pipeline,
30+
redis.cluster.ClusterPipeline,
31+
)
32+
RedisInstance = TypeVar(
33+
"RedisInstance", redis.client.Redis, redis.cluster.RedisCluster
34+
)
35+
R = TypeVar("R")

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

-32
This file was deleted.

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

+11-8
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,17 @@
1616
Some utils used by the redis integration
1717
"""
1818

19-
from typing import Any
19+
from __future__ import annotations
2020

21-
from opentelemetry.instrumentation.redis.types import (
22-
AsyncPipelineInstance,
23-
AsyncRedisInstance,
24-
PipelineInstance,
25-
RedisInstance,
26-
)
21+
from typing import TYPE_CHECKING, Any
22+
23+
if TYPE_CHECKING:
24+
from opentelemetry.instrumentation.redis.custom_types import (
25+
AsyncPipelineInstance,
26+
AsyncRedisInstance,
27+
PipelineInstance,
28+
RedisInstance,
29+
)
2730
from opentelemetry.semconv.trace import (
2831
DbSystemValues,
2932
NetTransportValues,
@@ -60,7 +63,7 @@ def _extract_conn_attributes(conn_kwargs):
6063
return attributes
6164

6265

63-
def _format_command_args(args):
66+
def _format_command_args(args: list[str]):
6467
"""Format and sanitize command arguments, and trim them as needed"""
6568
cmd_max_len = 1000
6669
value_too_long_mark = "..."

0 commit comments

Comments
 (0)