ruby-zipkin 0.2.2 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  module RubyZipkin
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.5"
3
3
  end
data/lib/ruby-zipkin.rb CHANGED
@@ -20,31 +20,28 @@ module RubyZipkin extend self
20
20
  end
21
21
 
22
22
  def call(env)
23
- ::Trace.default_endpoint = ::Trace.default_endpoint.with_service_name(@service_name).with_port(@service_port)
24
- ::Trace.sample_rate = 0.1
23
+
24
+ ::Trace.default_endpoint = ::Trace.default_endpoint.with_service_name(@service_name).with_port(@scribe_port)
25
+ ::Trace.sample_rate = 1
25
26
 
26
27
  env[ZipkinTraceHeader::PARENT_SPAN_ID] = @spanid
27
28
  env[ZipkinTraceHeader::TRACE_ID] = @tid
28
29
 
29
- begin
30
- tracing_filter(get_or_create_trace_id(env), env)
31
- rescue => trace_error
32
- puts trace_error.message, trace_error.backtrace
33
- end
34
-
35
30
  @status, @headers, @response = @app.call(env)
31
+ tracing_filter(get_or_create_trace_id(env), env, @headers)
36
32
  [@status, @headers, @response]
37
33
  end
38
34
 
39
35
  private
40
- def tracing_filter(trace_id, env)
36
+ def tracing_filter(trace_id, env, headers=nil)
41
37
  @lock.synchronize do
38
+ puts "zipkin trace id #{trace_id}"
42
39
  ::Trace.push(trace_id)
43
40
  ::Trace.set_rpc_name(env["PATH_INFO"])
44
41
  ::Trace.record(::Trace::BinaryAnnotation.new("http.uri", env["PATH_INFO"], "STRING", ::Trace.default_endpoint))
45
42
  ::Trace.record(::Trace::Annotation.new(::Trace::Annotation::SERVER_RECV, ::Trace.default_endpoint))
46
- ::Trace.record(::Trace::Annotation.new(@service_name, ::Trace.default_endpoint))
47
- trace_rack_request(env)
43
+ trace_hash(env)
44
+ trace_hash(headers)
48
45
  end
49
46
  yield if block_given?
50
47
  ensure
@@ -54,31 +51,31 @@ module RubyZipkin extend self
54
51
  end
55
52
  end
56
53
 
57
- def trace_rack_request(env)
58
- env.each do |k,v|
59
- MetadataLogger.log(k.to_s, v.to_s)
54
+ def trace_hash(content)
55
+ if content
56
+ content.each do |k,v|
57
+ MetadataLogger.log(k.to_s, v.to_s)
58
+ end
60
59
  end
61
60
  end
62
61
 
63
62
  def get_or_create_trace_id(env)
64
- if env.has_key?(ZipkinTraceHeader::TRACE_ID)
65
- @tid = env[ZipkinTraceHeader::TRACE_ID]
66
- else
63
+ if env[ZipkinTraceHeader::TRACE_ID].nil? or env[ZipkinTraceHeader::TRACE_ID].to_s.empty?
67
64
  @tid = Trace.generate_id
68
- end
65
+ @parentspan = nil
69
66
 
70
- if env.has_key?(ZipkinTraceHeader::SPAN_ID)
71
- @spanid = env[ZipkinTraceHeader::SPAN_ID]
67
+ env[ZipkinTraceHeader::TRACE_ID] = @tid
72
68
  else
73
- @spanid = Trace.generate_id
74
- end
69
+ @tid = env[ZipkinTraceHeader::TRACE_ID]
75
70
 
76
- if env.has_key?(ZipkinTraceHeader::PARENT_SPAN_ID)
77
- @parentspan = env[ZipkinTraceHeader::PARENT_SPAN_ID]
78
- else
79
- @parentspan = nil
71
+ if !env[ZipkinTraceHeader::SPAN_ID].nil? and !env[ZipkinTraceHeader::SPAN_ID].to_s.empty?
72
+ @parentspan = env[ZipkinTraceHeader::SPAN_ID]
73
+ end
80
74
  end
81
75
 
76
+ @spanid = Trace.generate_id
77
+ env[ZipkinTraceHeader::SPAN_ID] = @spanid
78
+
82
79
  # from Finagle source: flags are 0 = none , 1 = debug
83
80
  Trace::TraceId.new @tid, @parentspan, @spanid, true, 0
84
81
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-zipkin
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 2
10
- version: 0.2.2
9
+ - 5
10
+ version: 0.2.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ivan Marcin
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-09-25 00:00:00 Z
18
+ date: 2013-09-27 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: finagle-thrift