zipkin-tracer 0.24.0 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bb8ef5f845682934bc73ad116a028733ab81bcc1
4
- data.tar.gz: 570ff6ded9e9d11210bb93767e4d571f38a345fa
3
+ metadata.gz: 056a3c8673074ba57da8f43ba8c894bfc64a8c60
4
+ data.tar.gz: 1c460f925e75c449a4453336a7a3fca17fd04068
5
5
  SHA512:
6
- metadata.gz: 573bf758e6a9d94d9072ea6d7ff83578f8dc950e4a6fd3ed3f3e38be0be3f9ac7a6de697d1d5efbf5ef8563aa19caed039074ed740b0cae932ab2769b6111403
7
- data.tar.gz: d642e53af9d6d989baeffa83f50933c74828e91de673482cbf28a81b29ee9c1b4f8054d0494aac38a3f9e133f76d8b2698cb967e335bfa3fe68025eb7a84f85e
6
+ metadata.gz: e3b25784f7ef65ab5cce860776558e493ae15da118be7c5c9dcc8c271953d986290cd750427eab6595ce19df3c06f21e7fd3aa8b063f3b3a5604090144223b39
7
+ data.tar.gz: 8a41195765ba46d1a8218a7d75f2f6acc7488470110134a489f628a4f8602cd791ef44d42e7a21afcfc9d7191597d8fb2a478e2f5da6e02fff1a905a34796815
@@ -1,3 +1,4 @@
1
+ require 'finagle-thrift'
1
2
  require 'base64' #Bug in finagle. They should be requiring this: finagle-thrift-1.4.1/lib/finagle-thrift/tracer.rb:115
2
3
  require 'zipkin-tracer/trace'
3
4
  require 'zipkin-tracer/rack/zipkin-tracer'
@@ -8,7 +8,8 @@ module ZipkinTracer
8
8
  attr_reader :service_name, :service_port, :json_api_host,
9
9
  :zookeeper, :sample_rate, :logger, :log_tracing,
10
10
  :annotate_plugin, :filter_plugin, :whitelist_plugin,
11
- :sampled_as_boolean, :record_on_server_receive
11
+ :sampled_as_boolean, :record_on_server_receive,
12
+ :kafka_producer, :kafka_topic
12
13
 
13
14
  def initialize(app, config_hash)
14
15
  config = config_hash || Application.config(app)
@@ -20,6 +21,9 @@ module ZipkinTracer
20
21
  @json_api_host = config[:json_api_host]
21
22
  # Zookeeper information
22
23
  @zookeeper = config[:zookeeper]
24
+ # Kafka producer information
25
+ @kafka_producer = config[:producer]
26
+ @kafka_topic = config[:topic] if present?(config[:topic])
23
27
  # Percentage of traces which by default this service traces (as float, 1.0 means 100%)
24
28
  @sample_rate = config[:sample_rate] || DEFAULTS[:sample_rate]
25
29
  # A block of code which can be called to do extra annotations of traces
@@ -50,6 +54,8 @@ module ZipkinTracer
50
54
  :json
51
55
  elsif present?(@zookeeper) && RUBY_PLATFORM == 'java'
52
56
  :kafka
57
+ elsif @kafka_producer && @kafka_producer.respond_to?(:push)
58
+ :kafka_producer
53
59
  elsif !!@log_tracing
54
60
  :logger
55
61
  else
@@ -11,6 +11,11 @@ module ZipkinTracer
11
11
  when :kafka
12
12
  require 'zipkin-tracer/zipkin_kafka_tracer'
13
13
  Trace::ZipkinKafkaTracer.new(zookeepers: config.zookeeper)
14
+ when :kafka_producer
15
+ require 'zipkin-tracer/zipkin_kafka_tracer'
16
+ options = { producer: config.kafka_producer }
17
+ options[:topic] = config.kafka_topic unless config.kafka_topic.nil?
18
+ Trace::ZipkinKafkaTracer.new(options)
14
19
  when :logger
15
20
  require 'zipkin-tracer/zipkin_logger_tracer'
16
21
  Trace::ZipkinLoggerTracer.new(logger: config.logger)
@@ -21,7 +26,7 @@ module ZipkinTracer
21
26
  Trace.tracer = tracer
22
27
 
23
28
  # TODO: move this to the TracerBase and kill scribe tracer
24
- ip_format = config.adapter == :kafka ? :i32 : :string
29
+ ip_format = [:kafka, :kafka_producer].include?(config.adapter) ? :i32 : :string
25
30
  Trace.default_endpoint = Trace::Endpoint.local_endpoint(
26
31
  config.service_port,
27
32
  service_name(config.service_name),
@@ -1,3 +1,3 @@
1
1
  module ZipkinTracer
2
- VERSION = '0.24.0'.freeze
2
+ VERSION = '0.25.0'.freeze
3
3
  end
@@ -12,7 +12,7 @@ module Trace
12
12
  # This class sends information to Zipkin through Kafka.
13
13
  # Spans are encoded using Thrift
14
14
  class ZipkinKafkaTracer < ZipkinTracerBase
15
- DEFAULT_KAFKA_TOPIC = "zipkin_kafka".freeze
15
+ DEFAULT_KAFKA_TOPIC = "zipkin".freeze
16
16
 
17
17
  def initialize(options = {})
18
18
  @topic = options[:topic] || DEFAULT_KAFKA_TOPIC
@@ -26,6 +26,7 @@ module Trace
26
26
  end
27
27
  super(options)
28
28
  end
29
+
29
30
  def flush!
30
31
  resolved_spans = ::ZipkinTracer::HostnameResolver.new.spans_with_ips(spans)
31
32
  resolved_spans.each do |span|
@@ -33,7 +34,6 @@ module Trace
33
34
  trans = Thrift::MemoryBufferTransport.new(buf)
34
35
  oprot = Thrift::BinaryProtocol.new(trans)
35
36
  span.to_thrift.write(oprot)
36
-
37
37
  retval = @producer.push(buf, topic: @topic)
38
38
 
39
39
  # If @producer#push returns a promise/promise-like object, block until it
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zipkin-tracer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franklin Hu
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2017-05-29 00:00:00.000000000 Z
16
+ date: 2017-06-29 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: faraday