77from wrapt import ObjectProxy
88
99# project
10+ import ddtrace
1011from ddtrace .ext import AppTypes
1112from ddtrace .ext import net
1213from .addrs import parse_addresses
@@ -21,11 +22,11 @@ class TracedClient(ObjectProxy):
2122 _service = None
2223 _tracer = None
2324
24- def __init__ (self , client , tracer , service = "memcached" ):
25+ def __init__ (self , client , service = "memcached" , tracer = None ):
2526 """ Create a traced client that wraps the given memcached client. """
2627 super (TracedClient , self ).__init__ (client )
2728 self ._service = service
28- self ._tracer = tracer
29+ self ._tracer = tracer or ddtrace . tracer # default to the global client
2930
3031 # attempt to collect the pool of urls this client talks to
3132 try :
@@ -45,7 +46,7 @@ def __init__(self, client, tracer, service="memcached"):
4546 def clone (self , * args , ** kwargs ):
4647 # rewrap new connections.
4748 cloned = self .__wrapped__ .clone (* args , ** kwargs )
48- return TracedClient (cloned , self ._tracer , self ._service )
49+ return TracedClient (cloned , tracer = self ._tracer , service = self ._service )
4950
5051 def get (self , * args , ** kwargs ):
5152 return self ._trace ("get" , * args , ** kwargs )
0 commit comments