opencensus-jaeger 0.2.1

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.
Files changed (46) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +77 -0
  3. data/.gitignore +15 -0
  4. data/.gitmodules +3 -0
  5. data/.rspec +3 -0
  6. data/.rubocop.yml +36 -0
  7. data/.travis.yml +7 -0
  8. data/CHANGELOG.md +6 -0
  9. data/CODEOWNERS +13 -0
  10. data/CODE_OF_CONDUCT.md +43 -0
  11. data/Gemfile +3 -0
  12. data/LICENSE +201 -0
  13. data/README.md +72 -0
  14. data/Rakefile +6 -0
  15. data/bin/console +14 -0
  16. data/bin/setup +8 -0
  17. data/examples/.byebug_history +97 -0
  18. data/examples/Gemfile +9 -0
  19. data/examples/Gemfile.lock +46 -0
  20. data/examples/config.ru +15 -0
  21. data/examples/example.rb +25 -0
  22. data/lib/opencensus-jaeger.rb +4 -0
  23. data/lib/opencensus/jaeger.rb +12 -0
  24. data/lib/opencensus/jaeger/version.rb +5 -0
  25. data/lib/opencensus/logging.rb +24 -0
  26. data/lib/opencensus/trace/exporters/jaeger_driver.rb +125 -0
  27. data/lib/opencensus/trace/exporters/jaeger_driver/intermediate_transport.rb +25 -0
  28. data/lib/opencensus/trace/exporters/jaeger_driver/udp_sender.rb +28 -0
  29. data/lib/opencensus/trace/exporters/jaeger_driver/udp_transport.rb +43 -0
  30. data/lib/opencensus/trace/exporters/jaeger_exporter.rb +108 -0
  31. data/opencensus-jaeger.gemspec +45 -0
  32. data/scripts/publish.rb +7 -0
  33. data/scripts/rename_collectors.rb +88 -0
  34. data/thrift/agent.thrift +27 -0
  35. data/thrift/gen-rb/jaeger/thrift/agent.rb +117 -0
  36. data/thrift/gen-rb/jaeger/thrift/agent_constants.rb +13 -0
  37. data/thrift/gen-rb/jaeger/thrift/agent_types.rb +14 -0
  38. data/thrift/gen-rb/jaeger/thrift/collector.rb +82 -0
  39. data/thrift/gen-rb/jaeger/thrift/jaeger_constants.rb +13 -0
  40. data/thrift/gen-rb/jaeger/thrift/jaeger_types.rb +213 -0
  41. data/thrift/gen-rb/zipkin/zipkin_collector.rb +80 -0
  42. data/thrift/gen-rb/zipkin/zipkincore_constants.rb +43 -0
  43. data/thrift/gen-rb/zipkin/zipkincore_types.rb +223 -0
  44. data/thrift/jaeger.thrift +86 -0
  45. data/thrift/zipkincore.thrift +345 -0
  46. metadata +161 -0
@@ -0,0 +1,14 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (0.11.0)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+ require 'jaeger/thrift/jaeger_types'
9
+ require 'zipkin/zipkincore_types'
10
+
11
+ module Jaeger
12
+ module Thrift
13
+ end
14
+ end
@@ -0,0 +1,82 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (0.11.0)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+ require 'jaeger/thrift/jaeger_types'
9
+
10
+ module Jaeger
11
+ module Thrift
12
+ module Collector
13
+ class Client
14
+ include ::Thrift::Client
15
+
16
+ def submitBatches(batches)
17
+ send_submitBatches(batches)
18
+ return recv_submitBatches()
19
+ end
20
+
21
+ def send_submitBatches(batches)
22
+ send_message('submitBatches', SubmitBatches_args, :batches => batches)
23
+ end
24
+
25
+ def recv_submitBatches()
26
+ result = receive_message(SubmitBatches_result)
27
+ return result.success unless result.success.nil?
28
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'submitBatches failed: unknown result')
29
+ end
30
+
31
+ end
32
+
33
+ class Processor
34
+ include ::Thrift::Processor
35
+
36
+ def process_submitBatches(seqid, iprot, oprot)
37
+ args = read_args(iprot, SubmitBatches_args)
38
+ result = SubmitBatches_result.new()
39
+ result.success = @handler.submitBatches(args.batches)
40
+ write_result(result, oprot, 'submitBatches', seqid)
41
+ end
42
+
43
+ end
44
+
45
+ # HELPER FUNCTIONS AND STRUCTURES
46
+
47
+ class SubmitBatches_args
48
+ include ::Thrift::Struct, ::Thrift::Struct_Union
49
+ BATCHES = 1
50
+
51
+ FIELDS = {
52
+ BATCHES => {:type => ::Thrift::Types::LIST, :name => 'batches', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Jaeger::Thrift::Batch}}
53
+ }
54
+
55
+ def struct_fields; FIELDS; end
56
+
57
+ def validate
58
+ end
59
+
60
+ ::Thrift::Struct.generate_accessors self
61
+ end
62
+
63
+ class SubmitBatches_result
64
+ include ::Thrift::Struct, ::Thrift::Struct_Union
65
+ SUCCESS = 0
66
+
67
+ FIELDS = {
68
+ SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Jaeger::Thrift::BatchSubmitResponse}}
69
+ }
70
+
71
+ def struct_fields; FIELDS; end
72
+
73
+ def validate
74
+ end
75
+
76
+ ::Thrift::Struct.generate_accessors self
77
+ end
78
+
79
+ end
80
+
81
+ end
82
+ end
@@ -0,0 +1,13 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (0.11.0)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+ require 'jaeger/thrift/jaeger_types'
9
+
10
+ module Jaeger
11
+ module Thrift
12
+ end
13
+ end
@@ -0,0 +1,213 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (0.11.0)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+
9
+ module Jaeger
10
+ module Thrift
11
+ module TagType
12
+ STRING = 0
13
+ DOUBLE = 1
14
+ BOOL = 2
15
+ LONG = 3
16
+ BINARY = 4
17
+ VALUE_MAP = {0 => "STRING", 1 => "DOUBLE", 2 => "BOOL", 3 => "LONG", 4 => "BINARY"}
18
+ VALID_VALUES = Set.new([STRING, DOUBLE, BOOL, LONG, BINARY]).freeze
19
+ end
20
+
21
+ module SpanRefType
22
+ CHILD_OF = 0
23
+ FOLLOWS_FROM = 1
24
+ VALUE_MAP = {0 => "CHILD_OF", 1 => "FOLLOWS_FROM"}
25
+ VALID_VALUES = Set.new([CHILD_OF, FOLLOWS_FROM]).freeze
26
+ end
27
+
28
+ class Tag
29
+ include ::Thrift::Struct, ::Thrift::Struct_Union
30
+ KEY = 1
31
+ VTYPE = 2
32
+ VSTR = 3
33
+ VDOUBLE = 4
34
+ VBOOL = 5
35
+ VLONG = 6
36
+ VBINARY = 7
37
+
38
+ FIELDS = {
39
+ KEY => {:type => ::Thrift::Types::STRING, :name => 'key'},
40
+ VTYPE => {:type => ::Thrift::Types::I32, :name => 'vType', :enum_class => ::Jaeger::Thrift::TagType},
41
+ VSTR => {:type => ::Thrift::Types::STRING, :name => 'vStr', :optional => true},
42
+ VDOUBLE => {:type => ::Thrift::Types::DOUBLE, :name => 'vDouble', :optional => true},
43
+ VBOOL => {:type => ::Thrift::Types::BOOL, :name => 'vBool', :optional => true},
44
+ VLONG => {:type => ::Thrift::Types::I64, :name => 'vLong', :optional => true},
45
+ VBINARY => {:type => ::Thrift::Types::STRING, :name => 'vBinary', :binary => true, :optional => true}
46
+ }
47
+
48
+ def struct_fields; FIELDS; end
49
+
50
+ def validate
51
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field key is unset!') unless @key
52
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field vType is unset!') unless @vType
53
+ unless @vType.nil? || ::Jaeger::Thrift::TagType::VALID_VALUES.include?(@vType)
54
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field vType!')
55
+ end
56
+ end
57
+
58
+ ::Thrift::Struct.generate_accessors self
59
+ end
60
+
61
+ class Log
62
+ include ::Thrift::Struct, ::Thrift::Struct_Union
63
+ TIMESTAMP = 1
64
+ LOG_FIELDS = 2
65
+
66
+ FIELDS = {
67
+ TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp'},
68
+ LOG_FIELDS => {:type => ::Thrift::Types::LIST, :name => 'fields', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Jaeger::Thrift::Tag}}
69
+ }
70
+
71
+ def struct_fields; FIELDS; end
72
+
73
+ def validate
74
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field timestamp is unset!') unless @timestamp
75
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field fields is unset!') unless @fields
76
+ end
77
+
78
+ ::Thrift::Struct.generate_accessors self
79
+ end
80
+
81
+ class SpanRef
82
+ include ::Thrift::Struct, ::Thrift::Struct_Union
83
+ REFTYPE = 1
84
+ TRACEIDLOW = 2
85
+ TRACEIDHIGH = 3
86
+ SPANID = 4
87
+
88
+ FIELDS = {
89
+ REFTYPE => {:type => ::Thrift::Types::I32, :name => 'refType', :enum_class => ::Jaeger::Thrift::SpanRefType},
90
+ TRACEIDLOW => {:type => ::Thrift::Types::I64, :name => 'traceIdLow'},
91
+ TRACEIDHIGH => {:type => ::Thrift::Types::I64, :name => 'traceIdHigh'},
92
+ SPANID => {:type => ::Thrift::Types::I64, :name => 'spanId'}
93
+ }
94
+
95
+ def struct_fields; FIELDS; end
96
+
97
+ def validate
98
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field refType is unset!') unless @refType
99
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field traceIdLow is unset!') unless @traceIdLow
100
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field traceIdHigh is unset!') unless @traceIdHigh
101
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field spanId is unset!') unless @spanId
102
+ unless @refType.nil? || ::Jaeger::Thrift::SpanRefType::VALID_VALUES.include?(@refType)
103
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field refType!')
104
+ end
105
+ end
106
+
107
+ ::Thrift::Struct.generate_accessors self
108
+ end
109
+
110
+ class Span
111
+ include ::Thrift::Struct, ::Thrift::Struct_Union
112
+ TRACEIDLOW = 1
113
+ TRACEIDHIGH = 2
114
+ SPANID = 3
115
+ PARENTSPANID = 4
116
+ OPERATIONNAME = 5
117
+ REFERENCES = 6
118
+ FLAGS = 7
119
+ STARTTIME = 8
120
+ DURATION = 9
121
+ TAGS = 10
122
+ LOGS = 11
123
+ INCOMPLETE = 12
124
+
125
+ FIELDS = {
126
+ TRACEIDLOW => {:type => ::Thrift::Types::I64, :name => 'traceIdLow'},
127
+ TRACEIDHIGH => {:type => ::Thrift::Types::I64, :name => 'traceIdHigh'},
128
+ SPANID => {:type => ::Thrift::Types::I64, :name => 'spanId'},
129
+ PARENTSPANID => {:type => ::Thrift::Types::I64, :name => 'parentSpanId'},
130
+ OPERATIONNAME => {:type => ::Thrift::Types::STRING, :name => 'operationName'},
131
+ REFERENCES => {:type => ::Thrift::Types::LIST, :name => 'references', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Jaeger::Thrift::SpanRef}, :optional => true},
132
+ FLAGS => {:type => ::Thrift::Types::I32, :name => 'flags'},
133
+ STARTTIME => {:type => ::Thrift::Types::I64, :name => 'startTime'},
134
+ DURATION => {:type => ::Thrift::Types::I64, :name => 'duration'},
135
+ TAGS => {:type => ::Thrift::Types::LIST, :name => 'tags', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Jaeger::Thrift::Tag}, :optional => true},
136
+ LOGS => {:type => ::Thrift::Types::LIST, :name => 'logs', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Jaeger::Thrift::Log}, :optional => true},
137
+ INCOMPLETE => {:type => ::Thrift::Types::BOOL, :name => 'incomplete', :optional => true}
138
+ }
139
+
140
+ def struct_fields; FIELDS; end
141
+
142
+ def validate
143
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field traceIdLow is unset!') unless @traceIdLow
144
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field traceIdHigh is unset!') unless @traceIdHigh
145
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field spanId is unset!') unless @spanId
146
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field parentSpanId is unset!') unless @parentSpanId
147
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field operationName is unset!') unless @operationName
148
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field flags is unset!') unless @flags
149
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field startTime is unset!') unless @startTime
150
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field duration is unset!') unless @duration
151
+ end
152
+
153
+ ::Thrift::Struct.generate_accessors self
154
+ end
155
+
156
+ class Process
157
+ include ::Thrift::Struct, ::Thrift::Struct_Union
158
+ SERVICENAME = 1
159
+ TAGS = 2
160
+
161
+ FIELDS = {
162
+ SERVICENAME => {:type => ::Thrift::Types::STRING, :name => 'serviceName'},
163
+ TAGS => {:type => ::Thrift::Types::LIST, :name => 'tags', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Jaeger::Thrift::Tag}, :optional => true}
164
+ }
165
+
166
+ def struct_fields; FIELDS; end
167
+
168
+ def validate
169
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field serviceName is unset!') unless @serviceName
170
+ end
171
+
172
+ ::Thrift::Struct.generate_accessors self
173
+ end
174
+
175
+ class Batch
176
+ include ::Thrift::Struct, ::Thrift::Struct_Union
177
+ PROCESS = 1
178
+ SPANS = 2
179
+
180
+ FIELDS = {
181
+ PROCESS => {:type => ::Thrift::Types::STRUCT, :name => 'process', :class => ::Jaeger::Thrift::Process},
182
+ SPANS => {:type => ::Thrift::Types::LIST, :name => 'spans', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Jaeger::Thrift::Span}}
183
+ }
184
+
185
+ def struct_fields; FIELDS; end
186
+
187
+ def validate
188
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field process is unset!') unless @process
189
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field spans is unset!') unless @spans
190
+ end
191
+
192
+ ::Thrift::Struct.generate_accessors self
193
+ end
194
+
195
+ class BatchSubmitResponse
196
+ include ::Thrift::Struct, ::Thrift::Struct_Union
197
+ OK = 1
198
+
199
+ FIELDS = {
200
+ OK => {:type => ::Thrift::Types::BOOL, :name => 'ok'}
201
+ }
202
+
203
+ def struct_fields; FIELDS; end
204
+
205
+ def validate
206
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field ok is unset!') if @ok.nil?
207
+ end
208
+
209
+ ::Thrift::Struct.generate_accessors self
210
+ end
211
+
212
+ end
213
+ end
@@ -0,0 +1,80 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (0.11.0)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+ require 'zipkin/zipkincore_types'
9
+
10
+ module Zipkin
11
+ module ZipkinCollector
12
+ class Client
13
+ include ::Thrift::Client
14
+
15
+ def submitZipkinBatch(spans)
16
+ send_submitZipkinBatch(spans)
17
+ return recv_submitZipkinBatch()
18
+ end
19
+
20
+ def send_submitZipkinBatch(spans)
21
+ send_message('submitZipkinBatch', SubmitZipkinBatch_args, :spans => spans)
22
+ end
23
+
24
+ def recv_submitZipkinBatch()
25
+ result = receive_message(SubmitZipkinBatch_result)
26
+ return result.success unless result.success.nil?
27
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'submitZipkinBatch failed: unknown result')
28
+ end
29
+
30
+ end
31
+
32
+ class Processor
33
+ include ::Thrift::Processor
34
+
35
+ def process_submitZipkinBatch(seqid, iprot, oprot)
36
+ args = read_args(iprot, SubmitZipkinBatch_args)
37
+ result = SubmitZipkinBatch_result.new()
38
+ result.success = @handler.submitZipkinBatch(args.spans)
39
+ write_result(result, oprot, 'submitZipkinBatch', seqid)
40
+ end
41
+
42
+ end
43
+
44
+ # HELPER FUNCTIONS AND STRUCTURES
45
+
46
+ class SubmitZipkinBatch_args
47
+ include ::Thrift::Struct, ::Thrift::Struct_Union
48
+ SPANS = 1
49
+
50
+ FIELDS = {
51
+ SPANS => {:type => ::Thrift::Types::LIST, :name => 'spans', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Zipkin::Span}}
52
+ }
53
+
54
+ def struct_fields; FIELDS; end
55
+
56
+ def validate
57
+ end
58
+
59
+ ::Thrift::Struct.generate_accessors self
60
+ end
61
+
62
+ class SubmitZipkinBatch_result
63
+ include ::Thrift::Struct, ::Thrift::Struct_Union
64
+ SUCCESS = 0
65
+
66
+ FIELDS = {
67
+ SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Zipkin::Response}}
68
+ }
69
+
70
+ def struct_fields; FIELDS; end
71
+
72
+ def validate
73
+ end
74
+
75
+ ::Thrift::Struct.generate_accessors self
76
+ end
77
+
78
+ end
79
+
80
+ end
@@ -0,0 +1,43 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (0.11.0)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+
7
+ require 'thrift'
8
+ require 'zipkin/zipkincore_types'
9
+
10
+ module Zipkin
11
+ CLIENT_SEND = %q"cs"
12
+
13
+ CLIENT_RECV = %q"cr"
14
+
15
+ SERVER_SEND = %q"ss"
16
+
17
+ SERVER_RECV = %q"sr"
18
+
19
+ MESSAGE_SEND = %q"ms"
20
+
21
+ MESSAGE_RECV = %q"mr"
22
+
23
+ WIRE_SEND = %q"ws"
24
+
25
+ WIRE_RECV = %q"wr"
26
+
27
+ CLIENT_SEND_FRAGMENT = %q"csf"
28
+
29
+ CLIENT_RECV_FRAGMENT = %q"crf"
30
+
31
+ SERVER_SEND_FRAGMENT = %q"ssf"
32
+
33
+ SERVER_RECV_FRAGMENT = %q"srf"
34
+
35
+ LOCAL_COMPONENT = %q"lc"
36
+
37
+ CLIENT_ADDR = %q"ca"
38
+
39
+ SERVER_ADDR = %q"sa"
40
+
41
+ MESSAGE_ADDR = %q"ma"
42
+
43
+ end