@@ -44,9 +44,11 @@ def report_spans(self):
4444 """ Periodically report the queued spans """
4545 logger .debug ("Span reporting thread is now alive" )
4646 while 1 :
47- if self .queue .qsize () > 0 and instana .singletons .agent .can_send ():
47+ queue_size = self .queue .qsize ()
48+ if queue_size > 0 and instana .singletons .agent .can_send ():
4849 url = instana .singletons .agent .make_url (AGENT_TRACES_URL )
4950 instana .singletons .agent .request (url , "POST" , self .queued_spans ())
51+ logger .debug ("reported %d spans" % queue_size )
5052 time .sleep (1 )
5153
5254 def queue_size (self ):
@@ -91,20 +93,20 @@ def build_registered_span(self, span):
9193 logs = self .collect_logs (span )))
9294
9395 if span .operation_name in self .http_spans :
94- data .http = HttpData (host = self .get_host_name (span ),
95- url = self . get_string_tag ( span , ext .HTTP_URL ),
96- method = self . get_string_tag ( span , ext .HTTP_METHOD ),
97- status = self . get_tag ( span , ext .HTTP_STATUS_CODE ),
98- error = self . get_tag ( span , 'http.error' ))
96+ data .http = HttpData (host = self .get_http_host_name (span ),
97+ url = span . tags . pop ( ext .HTTP_URL , "" ),
98+ method = span . tags . pop ( ext .HTTP_METHOD , "" ),
99+ status = span . tags . pop ( ext .HTTP_STATUS_CODE , None ),
100+ error = span . tags . pop ( 'http.error' , None ))
99101
100102 if span .operation_name == "soap" :
101- data .soap = SoapData (action = self . get_tag ( span , 'soap.action' ))
103+ data .soap = SoapData (action = span . tags . pop ( 'soap.action' , None ))
102104
103105 if span .operation_name == "mysql" :
104- data .mysql = MySQLData (host = self . get_tag ( span , 'host' ),
105- db = self . get_tag ( span , ext .DATABASE_INSTANCE ),
106- user = self . get_tag ( span , ext .DATABASE_USER ),
107- stmt = self . get_tag ( span , ext .DATABASE_STATEMENT ))
106+ data .mysql = MySQLData (host = span . tags . pop ( 'host' , None ),
107+ db = span . tags . pop ( ext .DATABASE_INSTANCE , None ),
108+ user = span . tags . pop ( ext .DATABASE_USER , None ),
109+ stmt = span . tags . pop ( ext .DATABASE_STATEMENT , None ))
108110 if len (data .custom .logs .keys ()):
109111 tskey = list (data .custom .logs .keys ())[0 ]
110112 data .mysql .error = data .custom .logs [tskey ]['message' ]
@@ -121,8 +123,8 @@ def build_registered_span(self, span):
121123 f = entityFrom ,
122124 data = data )
123125
124- error = self . get_tag ( span , "error" , False )
125- ec = self . get_tag ( span , "ec" , None )
126+ error = span . tags . pop ( "error" , False )
127+ ec = span . tags . pop ( "ec" , None )
126128
127129 if error and ec :
128130 json_span .error = error
@@ -154,30 +156,17 @@ def build_sdk_span(self, span):
154156 f = entityFrom ,
155157 data = data )
156158
157- error = self . get_tag ( span , "error" , False )
158- ec = self . get_tag ( span , "ec" , None )
159+ error = span . tags . pop ( "error" , False )
160+ ec = span . tags . pop ( "ec" , None )
159161
160162 if error and ec :
161163 json_span .error = error
162164 json_span .ec = ec
163165
164166 return json_span
165167
166- def get_tag (self , span , tag , default = None ):
167- if tag in span .tags :
168- return span .tags [tag ]
169-
170- return default
171-
172- def get_string_tag (self , span , tag ):
173- ret = self .get_tag (span , tag )
174- if not ret :
175- return ""
176-
177- return ret
178-
179- def get_host_name (self , span ):
180- h = self .get_string_tag (span , "http.host" )
168+ def get_http_host_name (self , span ):
169+ h = span .tags .pop ("http.host" , "" )
181170 if len (h ) > 0 :
182171 return h
183172
0 commit comments