diff --git a/crossdock/thrift_gen/tracetest/TracedService.py b/crossdock/thrift_gen/tracetest/TracedService.py index 45bdb891..e60b6365 100644 --- a/crossdock/thrift_gen/tracetest/TracedService.py +++ b/crossdock/thrift_gen/tracetest/TracedService.py @@ -140,24 +140,25 @@ def recv_joinTrace(self, iprot, mtype, rseqid): class Processor(Iface, TProcessor): def __init__(self, handler): self._handler = handler - self._processMap = {} - self._processMap["startTrace"] = Processor.process_startTrace - self._processMap["joinTrace"] = Processor.process_joinTrace + self._processMap = { + "startTrace": Processor.process_startTrace, + "joinTrace": Processor.process_joinTrace, + } def process(self, iprot, oprot): (name, type, seqid) = iprot.readMessageBegin() - if name not in self._processMap: - iprot.skip(TType.STRUCT) - iprot.readMessageEnd() - x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) - oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) - x.write(oprot) - oprot.writeMessageEnd() - oprot.trans.flush() - return - else: + if name in self._processMap: return self._processMap[name](self, seqid, iprot, oprot) + iprot.skip(TType.STRUCT) + iprot.readMessageEnd() + x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) + oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) + x.write(oprot) + oprot.writeMessageEnd() + oprot.trans.flush() + return + @gen.coroutine def process_startTrace(self, seqid, iprot, oprot): args = startTrace_args() @@ -208,12 +209,9 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.STRUCT: - self.request = StartTraceRequest() - self.request.read(iprot) - else: - iprot.skip(ftype) + if fid == 1 and ftype == TType.STRUCT: + self.request = StartTraceRequest() + self.request.read(iprot) else: iprot.skip(ftype) iprot.readFieldEnd() @@ -273,12 +271,9 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 0: - if ftype == TType.STRUCT: - self.success = TraceResponse() - self.success.read(iprot) - else: - iprot.skip(ftype) + if fid == 0 and ftype == TType.STRUCT: + self.success = TraceResponse() + self.success.read(iprot) else: iprot.skip(ftype) iprot.readFieldEnd() @@ -339,12 +334,9 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.STRUCT: - self.request = JoinTraceRequest() - self.request.read(iprot) - else: - iprot.skip(ftype) + if fid == 1 and ftype == TType.STRUCT: + self.request = JoinTraceRequest() + self.request.read(iprot) else: iprot.skip(ftype) iprot.readFieldEnd() @@ -404,12 +396,9 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 0: - if ftype == TType.STRUCT: - self.success = TraceResponse() - self.success.read(iprot) - else: - iprot.skip(ftype) + if fid == 0 and ftype == TType.STRUCT: + self.success = TraceResponse() + self.success.read(iprot) else: iprot.skip(ftype) iprot.readFieldEnd() diff --git a/crossdock/thrift_gen/tracetest/ttypes.py b/crossdock/thrift_gen/tracetest/ttypes.py index a3929523..5944bc07 100644 --- a/crossdock/thrift_gen/tracetest/ttypes.py +++ b/crossdock/thrift_gen/tracetest/ttypes.py @@ -311,19 +311,13 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.STRING: - self.serverRole = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.downstream = Downstream() - self.downstream.read(iprot) - else: - iprot.skip(ftype) - else: + if fid == 1 and ftype == TType.STRING: + self.serverRole = iprot.readString() + elif ftype != TType.STRUCT or fid != 2: iprot.skip(ftype) + else: + self.downstream = Downstream() + self.downstream.read(iprot) iprot.readFieldEnd() iprot.readStructEnd() diff --git a/jaeger_client/TUDPTransport.py b/jaeger_client/TUDPTransport.py index 0154b215..f0357ee1 100644 --- a/jaeger_client/TUDPTransport.py +++ b/jaeger_client/TUDPTransport.py @@ -30,10 +30,7 @@ def __init__(self, host, port, blocking=False): self.transport_host = host self.transport_port = port self.transport_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - if blocking: - blocking = 1 - else: - blocking = 0 + blocking = 1 if blocking else 0 self.transport_sock.setblocking(blocking) def write(self, buf): diff --git a/jaeger_client/config.py b/jaeger_client/config.py index 8d7a0c64..cc693693 100644 --- a/jaeger_client/config.py +++ b/jaeger_client/config.py @@ -395,7 +395,7 @@ def new_tracer(self, io_loop=None): if self.logging: reporter = CompositeReporter(reporter, LoggingReporter(logger)) - if not self.throttler_group() is None: + if self.throttler_group() is not None: throttler = RemoteThrottler( channel, self.service_name, diff --git a/jaeger_client/metrics/prometheus.py b/jaeger_client/metrics/prometheus.py index 0d1d6dd3..63ffec07 100644 --- a/jaeger_client/metrics/prometheus.py +++ b/jaeger_client/metrics/prometheus.py @@ -29,10 +29,7 @@ def __init__(self, namespace='', service_name_label=None): def _get_tag_name_list(self, tags): if tags is None: return [] - tag_name_list = [] - for key in tags.keys(): - tag_name_list.append(key) - return tag_name_list + return [key for key in tags.keys()] def _get_metric(self, metricType, name, tags): if self._service_name_label: diff --git a/jaeger_client/rate_limiter.py b/jaeger_client/rate_limiter.py index 0778db42..3a915ca5 100644 --- a/jaeger_client/rate_limiter.py +++ b/jaeger_client/rate_limiter.py @@ -66,5 +66,4 @@ def _update_balance(self): elapsed_time = current_time - self.last_tick self.last_tick = current_time self.balance += elapsed_time * self.credits_per_second - if self.balance > self.max_balance: - self.balance = self.max_balance + self.balance = min(self.balance, self.max_balance) diff --git a/jaeger_client/reporter.py b/jaeger_client/reporter.py index 7b93af3b..e7f537ea 100644 --- a/jaeger_client/reporter.py +++ b/jaeger_client/reporter.py @@ -67,7 +67,7 @@ def get_spans(self): class LoggingReporter(NullReporter): """Logs all spans.""" def __init__(self, logger=None): - self.logger = logger if logger else default_logger + self.logger = logger or default_logger def report_span(self, span): self.logger.info('Reporting span %s', span) diff --git a/jaeger_client/span.py b/jaeger_client/span.py index 02a96bb8..eee2a0b8 100644 --- a/jaeger_client/span.py +++ b/jaeger_client/span.py @@ -124,14 +124,15 @@ def _set_sampling_priority(self, value): def log_kv(self, key_values, timestamp=None): if self.is_sampled(): - timestamp = timestamp if timestamp else time.time() + timestamp = timestamp or time.time() # TODO handle exception logging, 'python.exception.type' etc. log = thrift.make_log( - timestamp=timestamp if timestamp else time.time(), + timestamp=timestamp or time.time(), fields=key_values, max_length=self._tracer.max_tag_value_length, max_traceback_length=self._tracer.max_traceback_length, ) + with self.update_lock: self.logs.append(log) return self @@ -165,8 +166,11 @@ def is_debug(self): def is_rpc(self): for tag in self.tags: if tag.key == ext_tags.SPAN_KIND: - return tag.vStr == ext_tags.SPAN_KIND_RPC_CLIENT or \ - tag.vStr == ext_tags.SPAN_KIND_RPC_SERVER + return tag.vStr in [ + ext_tags.SPAN_KIND_RPC_CLIENT, + ext_tags.SPAN_KIND_RPC_SERVER, + ] + return False def is_rpc_client(self): diff --git a/jaeger_client/thrift.py b/jaeger_client/thrift.py index f8044203..4092206a 100644 --- a/jaeger_client/thrift.py +++ b/jaeger_client/thrift.py @@ -193,15 +193,19 @@ def make_ref_type(span_ref_type): def make_references(references): if not references: return None - list_of_span_refs = list() - for span_ref in references: - list_of_span_refs.append(ttypes.SpanRef( + return [ + ttypes.SpanRef( refType=make_ref_type(span_ref.type), - traceIdLow=id_to_int(_id_to_low(span_ref.referenced_context.trace_id)), - traceIdHigh=id_to_int(_id_to_high(span_ref.referenced_context.trace_id)), + traceIdLow=id_to_int( + _id_to_low(span_ref.referenced_context.trace_id) + ), + traceIdHigh=id_to_int( + _id_to_high(span_ref.referenced_context.trace_id) + ), spanId=id_to_int(span_ref.referenced_context.span_id), - )) - return list_of_span_refs + ) + for span_ref in references + ] def make_jaeger_batch(spans, process): diff --git a/jaeger_client/thrift_gen/agent/Agent.py b/jaeger_client/thrift_gen/agent/Agent.py index c7e28f93..58eecb62 100644 --- a/jaeger_client/thrift_gen/agent/Agent.py +++ b/jaeger_client/thrift_gen/agent/Agent.py @@ -110,24 +110,25 @@ def send_emitBatch(self, batch): class Processor(Iface, TProcessor): def __init__(self, handler): self._handler = handler - self._processMap = {} - self._processMap["emitZipkinBatch"] = Processor.process_emitZipkinBatch - self._processMap["emitBatch"] = Processor.process_emitBatch + self._processMap = { + "emitZipkinBatch": Processor.process_emitZipkinBatch, + "emitBatch": Processor.process_emitBatch, + } def process(self, iprot, oprot): (name, type, seqid) = iprot.readMessageBegin() - if name not in self._processMap: - iprot.skip(TType.STRUCT) - iprot.readMessageEnd() - x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) - oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) - x.write(oprot) - oprot.writeMessageEnd() - oprot.trans.flush() - return - else: + if name in self._processMap: return self._processMap[name](self, seqid, iprot, oprot) + iprot.skip(TType.STRUCT) + iprot.readMessageEnd() + x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) + oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) + x.write(oprot) + oprot.writeMessageEnd() + oprot.trans.flush() + return + @gen.coroutine def process_emitZipkinBatch(self, seqid, iprot, oprot): args = emitZipkinBatch_args() @@ -168,17 +169,14 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.LIST: - self.spans = [] - (_etype3, _size0) = iprot.readListBegin() - for _i4 in xrange(_size0): - _elem5 = zipkincore.ttypes.Span() - _elem5.read(iprot) - self.spans.append(_elem5) - iprot.readListEnd() - else: - iprot.skip(ftype) + if fid == 1 and ftype == TType.LIST: + self.spans = [] + (_etype3, _size0) = iprot.readListBegin() + for _i4 in xrange(_size0): + _elem5 = zipkincore.ttypes.Span() + _elem5.read(iprot) + self.spans.append(_elem5) + iprot.readListEnd() else: iprot.skip(ftype) iprot.readFieldEnd() @@ -242,12 +240,9 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.STRUCT: - self.batch = jaeger.ttypes.Batch() - self.batch.read(iprot) - else: - iprot.skip(ftype) + if fid == 1 and ftype == TType.STRUCT: + self.batch = jaeger.ttypes.Batch() + self.batch.read(iprot) else: iprot.skip(ftype) iprot.readFieldEnd() diff --git a/jaeger_client/thrift_gen/jaeger/Collector.py b/jaeger_client/thrift_gen/jaeger/Collector.py index cc521008..1e515455 100644 --- a/jaeger_client/thrift_gen/jaeger/Collector.py +++ b/jaeger_client/thrift_gen/jaeger/Collector.py @@ -103,23 +103,22 @@ def recv_submitBatches(self, iprot, mtype, rseqid): class Processor(Iface, TProcessor): def __init__(self, handler): self._handler = handler - self._processMap = {} - self._processMap["submitBatches"] = Processor.process_submitBatches + self._processMap = {"submitBatches": Processor.process_submitBatches} def process(self, iprot, oprot): (name, type, seqid) = iprot.readMessageBegin() - if name not in self._processMap: - iprot.skip(TType.STRUCT) - iprot.readMessageEnd() - x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) - oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) - x.write(oprot) - oprot.writeMessageEnd() - oprot.trans.flush() - return - else: + if name in self._processMap: return self._processMap[name](self, seqid, iprot, oprot) + iprot.skip(TType.STRUCT) + iprot.readMessageEnd() + x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) + oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) + x.write(oprot) + oprot.writeMessageEnd() + oprot.trans.flush() + return + @gen.coroutine def process_submitBatches(self, seqid, iprot, oprot): args = submitBatches_args() @@ -158,17 +157,14 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.LIST: - self.batches = [] - (_etype45, _size42) = iprot.readListBegin() - for _i46 in xrange(_size42): - _elem47 = Batch() - _elem47.read(iprot) - self.batches.append(_elem47) - iprot.readListEnd() - else: - iprot.skip(ftype) + if fid == 1 and ftype == TType.LIST: + self.batches = [] + (_etype45, _size42) = iprot.readListBegin() + for _i46 in xrange(_size42): + _elem47 = Batch() + _elem47.read(iprot) + self.batches.append(_elem47) + iprot.readListEnd() else: iprot.skip(ftype) iprot.readFieldEnd() @@ -231,17 +227,14 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 0: - if ftype == TType.LIST: - self.success = [] - (_etype52, _size49) = iprot.readListBegin() - for _i53 in xrange(_size49): - _elem54 = BatchSubmitResponse() - _elem54.read(iprot) - self.success.append(_elem54) - iprot.readListEnd() - else: - iprot.skip(ftype) + if fid == 0 and ftype == TType.LIST: + self.success = [] + (_etype52, _size49) = iprot.readListBegin() + for _i53 in xrange(_size49): + _elem54 = BatchSubmitResponse() + _elem54.read(iprot) + self.success.append(_elem54) + iprot.readListEnd() else: iprot.skip(ftype) iprot.readFieldEnd() diff --git a/jaeger_client/thrift_gen/jaeger/ttypes.py b/jaeger_client/thrift_gen/jaeger/ttypes.py index 39143311..4a41f666 100644 --- a/jaeger_client/thrift_gen/jaeger/ttypes.py +++ b/jaeger_client/thrift_gen/jaeger/ttypes.py @@ -229,24 +229,18 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.I64: - self.timestamp = iprot.readI64() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.LIST: - self.fields = [] - (_etype3, _size0) = iprot.readListBegin() - for _i4 in xrange(_size0): - _elem5 = Tag() - _elem5.read(iprot) - self.fields.append(_elem5) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: + if fid == 1 and ftype == TType.I64: + self.timestamp = iprot.readI64() + elif ftype != TType.LIST or fid != 2: iprot.skip(ftype) + else: + self.fields = [] + (_etype3, _size0) = iprot.readListBegin() + for _i4 in xrange(_size0): + _elem5 = Tag() + _elem5.read(iprot) + self.fields.append(_elem5) + iprot.readListEnd() iprot.readFieldEnd() iprot.readStructEnd() @@ -670,24 +664,18 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.STRING: - self.serviceName = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.LIST: - self.tags = [] - (_etype31, _size28) = iprot.readListBegin() - for _i32 in xrange(_size28): - _elem33 = Tag() - _elem33.read(iprot) - self.tags.append(_elem33) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: + if fid == 1 and ftype == TType.STRING: + self.serviceName = iprot.readString() + elif ftype != TType.LIST or fid != 2: iprot.skip(ftype) + else: + self.tags = [] + (_etype31, _size28) = iprot.readListBegin() + for _i32 in xrange(_size28): + _elem33 = Tag() + _elem33.read(iprot) + self.tags.append(_elem33) + iprot.readListEnd() iprot.readFieldEnd() iprot.readStructEnd() @@ -759,25 +747,19 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.STRUCT: - self.process = Process() - self.process.read(iprot) - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.LIST: - self.spans = [] - (_etype38, _size35) = iprot.readListBegin() - for _i39 in xrange(_size35): - _elem40 = Span() - _elem40.read(iprot) - self.spans.append(_elem40) - iprot.readListEnd() - else: - iprot.skip(ftype) - else: + if fid == 1 and ftype == TType.STRUCT: + self.process = Process() + self.process.read(iprot) + elif ftype != TType.LIST or fid != 2: iprot.skip(ftype) + else: + self.spans = [] + (_etype38, _size35) = iprot.readListBegin() + for _i39 in xrange(_size35): + _elem40 = Span() + _elem40.read(iprot) + self.spans.append(_elem40) + iprot.readListEnd() iprot.readFieldEnd() iprot.readStructEnd() @@ -848,11 +830,8 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.BOOL: - self.ok = iprot.readBool() - else: - iprot.skip(ftype) + if fid == 1 and ftype == TType.BOOL: + self.ok = iprot.readBool() else: iprot.skip(ftype) iprot.readFieldEnd() diff --git a/jaeger_client/thrift_gen/sampling/SamplingManager.py b/jaeger_client/thrift_gen/sampling/SamplingManager.py index b3bff78b..fcb253bc 100644 --- a/jaeger_client/thrift_gen/sampling/SamplingManager.py +++ b/jaeger_client/thrift_gen/sampling/SamplingManager.py @@ -103,23 +103,24 @@ def recv_getSamplingStrategy(self, iprot, mtype, rseqid): class Processor(Iface, TProcessor): def __init__(self, handler): self._handler = handler - self._processMap = {} - self._processMap["getSamplingStrategy"] = Processor.process_getSamplingStrategy + self._processMap = { + "getSamplingStrategy": Processor.process_getSamplingStrategy + } def process(self, iprot, oprot): (name, type, seqid) = iprot.readMessageBegin() - if name not in self._processMap: - iprot.skip(TType.STRUCT) - iprot.readMessageEnd() - x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) - oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) - x.write(oprot) - oprot.writeMessageEnd() - oprot.trans.flush() - return - else: + if name in self._processMap: return self._processMap[name](self, seqid, iprot, oprot) + iprot.skip(TType.STRUCT) + iprot.readMessageEnd() + x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) + oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) + x.write(oprot) + oprot.writeMessageEnd() + oprot.trans.flush() + return + @gen.coroutine def process_getSamplingStrategy(self, seqid, iprot, oprot): args = getSamplingStrategy_args() @@ -158,11 +159,8 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.STRING: - self.serviceName = iprot.readString() - else: - iprot.skip(ftype) + if fid == 1 and ftype == TType.STRING: + self.serviceName = iprot.readString() else: iprot.skip(ftype) iprot.readFieldEnd() @@ -222,12 +220,9 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 0: - if ftype == TType.STRUCT: - self.success = SamplingStrategyResponse() - self.success.read(iprot) - else: - iprot.skip(ftype) + if fid == 0 and ftype == TType.STRUCT: + self.success = SamplingStrategyResponse() + self.success.read(iprot) else: iprot.skip(ftype) iprot.readFieldEnd() diff --git a/jaeger_client/thrift_gen/sampling/ttypes.py b/jaeger_client/thrift_gen/sampling/ttypes.py index 002fd44a..ff3aee97 100644 --- a/jaeger_client/thrift_gen/sampling/ttypes.py +++ b/jaeger_client/thrift_gen/sampling/ttypes.py @@ -56,11 +56,8 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.DOUBLE: - self.samplingRate = iprot.readDouble() - else: - iprot.skip(ftype) + if fid == 1 and ftype == TType.DOUBLE: + self.samplingRate = iprot.readDouble() else: iprot.skip(ftype) iprot.readFieldEnd() @@ -123,11 +120,8 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.I16: - self.maxTracesPerSecond = iprot.readI16() - else: - iprot.skip(ftype) + if fid == 1 and ftype == TType.I16: + self.maxTracesPerSecond = iprot.readI16() else: iprot.skip(ftype) iprot.readFieldEnd() @@ -193,19 +187,13 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.STRING: - self.operation = iprot.readString() - else: - iprot.skip(ftype) - elif fid == 2: - if ftype == TType.STRUCT: - self.probabilisticSampling = ProbabilisticSamplingStrategy() - self.probabilisticSampling.read(iprot) - else: - iprot.skip(ftype) - else: + if fid == 1 and ftype == TType.STRING: + self.operation = iprot.readString() + elif ftype != TType.STRUCT or fid != 2: iprot.skip(ftype) + else: + self.probabilisticSampling = ProbabilisticSamplingStrategy() + self.probabilisticSampling.read(iprot) iprot.readFieldEnd() iprot.readStructEnd() diff --git a/jaeger_client/thrift_gen/zipkincore/ZipkinCollector.py b/jaeger_client/thrift_gen/zipkincore/ZipkinCollector.py index f6ced148..1ac9ae58 100644 --- a/jaeger_client/thrift_gen/zipkincore/ZipkinCollector.py +++ b/jaeger_client/thrift_gen/zipkincore/ZipkinCollector.py @@ -103,23 +103,22 @@ def recv_submitZipkinBatch(self, iprot, mtype, rseqid): class Processor(Iface, TProcessor): def __init__(self, handler): self._handler = handler - self._processMap = {} - self._processMap["submitZipkinBatch"] = Processor.process_submitZipkinBatch + self._processMap = {"submitZipkinBatch": Processor.process_submitZipkinBatch} def process(self, iprot, oprot): (name, type, seqid) = iprot.readMessageBegin() - if name not in self._processMap: - iprot.skip(TType.STRUCT) - iprot.readMessageEnd() - x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) - oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) - x.write(oprot) - oprot.writeMessageEnd() - oprot.trans.flush() - return - else: + if name in self._processMap: return self._processMap[name](self, seqid, iprot, oprot) + iprot.skip(TType.STRUCT) + iprot.readMessageEnd() + x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) + oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) + x.write(oprot) + oprot.writeMessageEnd() + oprot.trans.flush() + return + @gen.coroutine def process_submitZipkinBatch(self, seqid, iprot, oprot): args = submitZipkinBatch_args() @@ -158,17 +157,14 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.LIST: - self.spans = [] - (_etype17, _size14) = iprot.readListBegin() - for _i18 in xrange(_size14): - _elem19 = Span() - _elem19.read(iprot) - self.spans.append(_elem19) - iprot.readListEnd() - else: - iprot.skip(ftype) + if fid == 1 and ftype == TType.LIST: + self.spans = [] + (_etype17, _size14) = iprot.readListBegin() + for _i18 in xrange(_size14): + _elem19 = Span() + _elem19.read(iprot) + self.spans.append(_elem19) + iprot.readListEnd() else: iprot.skip(ftype) iprot.readFieldEnd() @@ -231,17 +227,14 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 0: - if ftype == TType.LIST: - self.success = [] - (_etype24, _size21) = iprot.readListBegin() - for _i25 in xrange(_size21): - _elem26 = Response() - _elem26.read(iprot) - self.success.append(_elem26) - iprot.readListEnd() - else: - iprot.skip(ftype) + if fid == 0 and ftype == TType.LIST: + self.success = [] + (_etype24, _size21) = iprot.readListBegin() + for _i25 in xrange(_size21): + _elem26 = Response() + _elem26.read(iprot) + self.success.append(_elem26) + iprot.readListEnd() else: iprot.skip(ftype) iprot.readFieldEnd() diff --git a/jaeger_client/thrift_gen/zipkincore/ttypes.py b/jaeger_client/thrift_gen/zipkincore/ttypes.py index 1cb4fae7..2c609d71 100644 --- a/jaeger_client/thrift_gen/zipkincore/ttypes.py +++ b/jaeger_client/thrift_gen/zipkincore/ttypes.py @@ -650,11 +650,8 @@ def read(self, iprot): (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break - if fid == 1: - if ftype == TType.BOOL: - self.ok = iprot.readBool() - else: - iprot.skip(ftype) + if fid == 1 and ftype == TType.BOOL: + self.ok = iprot.readBool() else: iprot.skip(ftype) iprot.readFieldEnd() diff --git a/jaeger_client/tracer.py b/jaeger_client/tracer.py index c176ff0b..30a24fe3 100644 --- a/jaeger_client/tracer.py +++ b/jaeger_client/tracer.py @@ -157,12 +157,13 @@ def start_span(self, valid_references = None if references: - valid_references = list() if not isinstance(references, list): references = [references] - for reference in references: - if reference.referenced_context is not None: - valid_references.append(reference) + valid_references = [ + reference + for reference in references + if reference.referenced_context is not None + ] # setting first reference as parent if valid_references and (parent is None or not parent.has_trace): diff --git a/tests/test_codecs.py b/tests/test_codecs.py index 0be137a1..a302e865 100644 --- a/tests/test_codecs.py +++ b/tests/test_codecs.py @@ -167,11 +167,11 @@ def test_context_from_bad_readable_headers(self): with self.assertRaises(InvalidCarrierException): codec.extract(carrier=[]) # not a dict - good_headers_bad_values = { - 'Trace-ID': '100:7f:0:1xxx', - 'trace-attr-Kiff': 'Amy' - } with self.assertRaises(SpanContextCorruptedException): + good_headers_bad_values = { + 'Trace-ID': '100:7f:0:1xxx', + 'trace-attr-Kiff': 'Amy' + } codec.extract(good_headers_bad_values) def test_context_from_readable_headers(self): @@ -188,19 +188,18 @@ def test_context_from_readable_headers(self): ) for url_encoding in [False, True]: if url_encoding: - codec = tracer.codecs[Format.HTTP_HEADERS] headers = { 'Trace-ID': '100%3A7f:0:1', 'trace-attr-Kiff': 'Amy%20Wang', 'trace-atTR-HERMES': 'LaBarbara%20Hermes' } else: - codec = tracer.codecs[Format.HTTP_HEADERS] headers = { 'Trace-ID': '100:7f:0:1', 'trace-attr-Kiff': 'Amy Wang', 'trace-atTR-HERMES': 'LaBarbara Hermes' } + codec = tracer.codecs[Format.HTTP_HEADERS] ctx = codec.extract(headers) assert ctx.trace_id == 256 assert ctx.span_id == 127 @@ -496,7 +495,7 @@ def test_inject_with_128bit_trace_id(tracer, fmt, carrier, get_trace_id): ctx = SpanContext(trace_id=(1 << 64) - 1, span_id=127, parent_id=None, flags=0) span = tracer.start_span('test-%s' % fmt, child_of=ctx) - carrier = dict() + carrier = {} tracer.inject(span, fmt, carrier) assert len(get_trace_id(carrier)) == 16 diff --git a/tests/test_crossdock.py b/tests/test_crossdock.py index 5ff0ec07..ddb38feb 100644 --- a/tests/test_crossdock.py +++ b/tests/test_crossdock.py @@ -82,26 +82,30 @@ def test_trace_propagation( ) ) - level3 = dict() - level3['serviceName'] = 'python' - level3['serverRole'] = 's3' - level3['transport'] = s3_transport - level3['host'] = 'localhost' - level3['port'] = str(http_port) if s3_transport == 'HTTP' else tchannel_port - - level2 = dict() - level2['serviceName'] = 'python' - level2['serverRole'] = 's2' - level2['transport'] = s2_transport - level2['host'] = 'localhost' - level2['port'] = str(http_port) if s2_transport == 'HTTP' else tchannel_port - level2['downstream'] = level3 - - level1 = dict() - level1['baggage'] = 'Zoidberg' - level1['serverRole'] = 's1' - level1['sampled'] = sampled - level1['downstream'] = level2 + level3 = { + 'serviceName': 'python', + 'serverRole': 's3', + 'transport': s3_transport, + 'host': 'localhost', + 'port': str(http_port) if s3_transport == 'HTTP' else tchannel_port, + } + + level2 = { + 'serviceName': 'python', + 'serverRole': 's2', + 'transport': s2_transport, + 'host': 'localhost', + 'port': str(http_port) if s2_transport == 'HTTP' else tchannel_port, + 'downstream': level3, + } + + level1 = { + 'baggage': 'Zoidberg', + 'serverRole': 's1', + 'sampled': sampled, + 'downstream': level2, + } + body = json.dumps(level1) with mock.patch('opentracing.tracer', tracer): @@ -134,10 +138,7 @@ def test_trace_propagation( @pytest.mark.gen_test @pytest.mark.skipif(six.PY3, reason='crossdock tests need tchannel that only works with Python 2.7') def test_endtoend_handler(tracer): - payload = dict() - payload['operation'] = 'Zoidberg' - payload['count'] = 2 - payload['tags'] = {'key': 'value'} + payload = {'operation': 'Zoidberg', 'count': 2, 'tags': {'key': 'value'}} body = json.dumps(payload) h = EndToEndHandler() diff --git a/tests/test_rate_limiter.py b/tests/test_rate_limiter.py index d35768d1..5b5254c9 100644 --- a/tests/test_rate_limiter.py +++ b/tests/test_rate_limiter.py @@ -28,7 +28,7 @@ def test_rate_limiting_sampler(): ts = time.time() rate_limiter.last_tick = ts with mock.patch('jaeger_client.rate_limiter.RateLimiter.timestamp') \ - as mock_time: + as mock_time: mock_time.side_effect = lambda: ts # always return same time assert rate_limiter.timestamp() == ts assert rate_limiter.check_credit(1), 'initial balance allows first item' @@ -50,7 +50,7 @@ def test_rate_limiting_sampler(): mock_time.side_effect = lambda: ts + 5 assert rate_limiter.check_credit(1), 'enough time for new item' assert rate_limiter.check_credit(1), 'enough time for second new item' - for i in range(0, 8): + for _ in range(8): assert not rate_limiter.check_credit(1), 'but no further, since time is stopped' # Test with rate limit of greater than 1 second diff --git a/tests/test_reporter.py b/tests/test_reporter.py index 6b966f66..838546c2 100644 --- a/tests/test_reporter.py +++ b/tests/test_reporter.py @@ -134,7 +134,7 @@ def _new_reporter(batch_size, flush=None, queue_cap=100): def _wait_for(self, fn): """Wait until fn() returns truth, but not longer than 1 second.""" start = time.time() - for i in range(1000): + for _ in range(1000): if fn(): return yield tornado.gen.sleep(0.001) diff --git a/tests/test_sampler.py b/tests/test_sampler.py index eb907f57..120d5bee 100644 --- a/tests/test_sampler.py +++ b/tests/test_sampler.py @@ -93,7 +93,7 @@ def test_rate_limiting_sampler(): ts = time.time() sampler.rate_limiter.last_tick = ts with mock.patch('jaeger_client.rate_limiter.RateLimiter.timestamp') \ - as mock_time: + as mock_time: mock_time.side_effect = lambda: ts # always return same time assert sampler.rate_limiter.timestamp() == ts sampled, _ = sampler.is_sampled(0) @@ -123,7 +123,7 @@ def test_rate_limiting_sampler(): assert sampled, 'enough time for new item' sampled, _ = sampler.is_sampled(0) assert sampled, 'enough time for second new item' - for i in range(0, 8): + for _ in range(8): sampled, tags = sampler.is_sampled(0) assert not sampled, 'but no further, since time is stopped' assert tags == get_tags('ratelimiting', 2) diff --git a/tests/test_span.py b/tests/test_span.py index 9055aad7..46954722 100644 --- a/tests/test_span.py +++ b/tests/test_span.py @@ -121,9 +121,9 @@ def test(method, expected, expected = {'event': expected} return tpl( method=method, - args=args if args else [], + args=args or [], expected=expected, - kwargs=kwargs if kwargs else {}, + kwargs=kwargs or {}, error=error, timestamp=timestamp, ) diff --git a/tests/test_tracer.py b/tests/test_tracer.py index 75c39f91..0e4cf61c 100644 --- a/tests/test_tracer.py +++ b/tests/test_tracer.py @@ -200,9 +200,9 @@ def test_serialization(tracer, inject_mode): def test_serialization_error(tracer): - span = 'span' - carrier = {} with pytest.raises(ValueError): + span = 'span' + carrier = {} tracer.inject( span_context=span, format=Format.TEXT_MAP, carrier=carrier ) @@ -287,12 +287,12 @@ def test_tracer_tags_on_root_span(span_type, expected_tags): def test_tracer_override_codecs(): reporter = mock.MagicMock() sampler = ConstSampler(True) - codecs = { - 'extra_codec': 'codec_placeholder', - Format.BINARY: 'overridden_binary_codec' - - } with mock.patch('socket.gethostname', return_value='dream-host.com'): + codecs = { + 'extra_codec': 'codec_placeholder', + Format.BINARY: 'overridden_binary_codec' + + } tracer = Tracer(service_name='x', reporter=reporter, sampler=sampler, extra_codecs=codecs) assert tracer.codecs['extra_codec'] == 'codec_placeholder',\ diff --git a/tests/test_tracer_benchmark.py b/tests/test_tracer_benchmark.py index fdf60c06..3834a294 100644 --- a/tests/test_tracer_benchmark.py +++ b/tests/test_tracer_benchmark.py @@ -21,7 +21,7 @@ def _generate_spans(tracer, iterations=1000, sleep=None): - for i in range(0, iterations): + for _ in range(iterations): span = tracer.start_trace(operation_name='root-span') span.finish() if sleep is not None: