- Notifications
You must be signed in to change notification settings - Fork 809
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Spans from redis instrumentation don't contain a lot of attributes, such as "db.system", "net.transport" and so on. It happens because RedisCluster instance doesn't have connection_pool attribute.
Describe your environment
Ubuntu 22.04
Python 3.10.13
Packages:
asgiref==3.8.1 async-timeout==4.0.3 Deprecated==1.2.14 importlib-metadata==7.0.0 opentelemetry-api==1.24.0 opentelemetry-distro==0.45b0 opentelemetry-instrumentation==0.45b0 opentelemetry-instrumentation-asgi==0.45b0 opentelemetry-instrumentation-asyncio==0.45b0 opentelemetry-instrumentation-aws-lambda==0.45b0 opentelemetry-instrumentation-dbapi==0.45b0 opentelemetry-instrumentation-logging==0.45b0 opentelemetry-instrumentation-redis==0.45b0 opentelemetry-instrumentation-sqlite3==0.45b0 opentelemetry-instrumentation-urllib==0.45b0 opentelemetry-instrumentation-wsgi==0.45b0 opentelemetry-propagator-aws-xray==1.0.1 opentelemetry-sdk==1.24.0 opentelemetry-semantic-conventions==0.45b0 opentelemetry-test-utils==0.45b0 opentelemetry-util-http==0.45b0 redis==5.0.4 typing_extensions==4.11.0 wrapt==1.16.0 zipp==3.18.1 Steps to reproduce
main.py file:
from redis import RedisCluster if __name__ == '__main__': redis = RedisCluster(host='localhost', port=6380) redis.set('key', 'value') print(redis.get('key')) docker-compose.yaml for Redis Cluster:
services: redis-node-0: image: bitnami/redis-cluster:latest network_mode: host environment: - 'ALLOW_EMPTY_PASSWORD=yes' - 'REDIS_PORT_NUMBER=6380' - 'REDIS_NODES=localhost:6380,localhost:6381,localhost:6382,localhost:6383,localhost:6384,localhost:6385' redis-node-1: image: bitnami/redis-cluster:latest network_mode: host environment: - 'ALLOW_EMPTY_PASSWORD=yes' - 'REDIS_PORT_NUMBER=6381' - 'REDIS_NODES=localhost:6380,localhost:6381,localhost:6382,localhost:6383,localhost:6384,localhost:6385' redis-node-2: image: bitnami/redis-cluster:latest network_mode: host environment: - 'ALLOW_EMPTY_PASSWORD=yes' - 'REDIS_PORT_NUMBER=6382' - 'REDIS_NODES=localhost:6380,localhost:6381,localhost:6382,localhost:6383,localhost:6384,localhost:6385 redis-node-3: image: bitnami/redis-cluster:latest network_mode: host environment: - 'ALLOW_EMPTY_PASSWORD=yes' - 'REDIS_PORT_NUMBER=6383' - 'REDIS_NODES=localhost:6380,localhost:6381,localhost:6382,localhost:6383,localhost:6384,localhost:6385' redis-node-4: image: bitnami/redis-cluster:latest network_mode: host environment: - 'ALLOW_EMPTY_PASSWORD=yes' - 'REDIS_PORT_NUMBER=6384' - 'REDIS_NODES=localhost:6380,localhost:6381,localhost:6382,localhost:6383,localhost:6384,localhost:6385' redis-node-5: image: bitnami/redis-cluster:latest network_mode: host depends_on: - redis-node-0 - redis-node-1 - redis-node-2 - redis-node-3 - redis-node-4 environment: - 'ALLOW_EMPTY_PASSWORD=yes' - 'REDIS_PORT_NUMBER=6385' - 'REDIS_NODES=localhost:6380,localhost:6381,localhost:6382,localhost:6383,localhost:6384,localhost:6385' - 'REDIS_CLUSTER_REPLICAS=1' - 'REDIS_CLUSTER_CREATOR=yes' Run Redis Cluster:
docker compose up Run main.py:
opentelemetry-instrument \ --traces_exporter console \ --metrics_exporter console \ --logs_exporter console \ --service_name test \ python main.py What is the expected behavior?
There are "db.system" and other attributes in span.
What is the actual behavior?
{ "name": "GET", "context": { "trace_id": "0x992cb2db5d1253c9c9491669f5329079", "span_id": "0x9dffc53ee2108907", "trace_state": "[]" }, "kind": "SpanKind.CLIENT", "parent_id": null, "start_time": "2024-05-07T14:58:25.048832Z", "end_time": "2024-05-07T14:58:25.049004Z", "status": { "status_code": "UNSET" }, "attributes": { "db.statement": "GET ?", "db.redis.args_length": 2 }, "events": [], "links": [], "resource": { "attributes": { "telemetry.sdk.language": "python", "telemetry.sdk.name": "opentelemetry", "telemetry.sdk.version": "1.24.0", "service.name": "test", "telemetry.auto.version": "0.45b0" }, "schema_url": "" } } a-kr
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working