opentracing-instrumentation 0.1.11 → 0.1.16
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.
- checksums.yaml +4 -4
- data/GEM_VERSION +1 -1
- data/Gemfile.lock +1 -1
- data/lib/opentracing/instrumentation/common/error_writer.rb +5 -0
- data/lib/opentracing/instrumentation/mongo/trace_subscriber.rb +4 -14
- data/lib/opentracing/instrumentation/rack.rb +2 -0
- data/lib/opentracing/instrumentation/rack/extract_middleware.rb +68 -0
- data/lib/opentracing/instrumentation/sidekiq/server_middleware.rb +2 -0
- data/lib/opentracing/instrumentation/thrift.rb +8 -0
- data/lib/opentracing/instrumentation/thrift/traced_processor.rb +111 -0
- data/lib/opentracing/instrumentation/thrift/traced_processor_config.rb +37 -0
- data/lib/opentracing/instrumentation/thrift/traced_processor_operation_name_builder.rb +41 -0
- data/lib/opentracing/instrumentation/thrift/traced_processor_tags_builder.rb +29 -0
- data/lib/opentracing/instrumentation/thrift/traced_protocol.rb +30 -21
- data/lib/opentracing/instrumentation/thrift/traced_protocol_config.rb +7 -0
- data/lib/opentracing/instrumentation/thrift/traced_protocol_operation_name_builder.rb +8 -2
- data/lib/opentracing/instrumentation/thrift/traced_protocol_tags_builder.rb +5 -1
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f70d5c2d46c230465ea78fc83db7690a40647f16bc22e4290838993828247cd9
|
4
|
+
data.tar.gz: '097e36d147eca7b17a44bcd7ba1e427fc472af82f3a276a93f92e4c9bfd3592f'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b77c0678115a4ef11986fb2596ea844315474b0c4301d53c33aae33d30f35b02a55658089ecd46a9b8be060681c5f5dbe7bcffeec8cffcfd360f8b2d2624ebcf
|
7
|
+
data.tar.gz: acf108f2e70b483cb313aa5c0b2780b765fcf9896c4c4f7a80042322bca9e7695d6045c8fbd9a84df686525141be9dcd872baae55e540557cdf4650006a6f1ad
|
data/GEM_VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.16
|
data/Gemfile.lock
CHANGED
@@ -10,19 +10,16 @@ module OpenTracing
|
|
10
10
|
class TraceSubscriber
|
11
11
|
include Forwardable
|
12
12
|
|
13
|
-
DEFAULT_OPERATION_NAME_PATTERN = \
|
14
|
-
'mongo(collection=%<database>s.%<collection>s, command=%<command>s)'
|
15
|
-
|
16
13
|
def initialize(
|
17
14
|
tracer: OpenTracing.global_tracer,
|
18
15
|
scope_store: {},
|
19
|
-
|
16
|
+
operation_name_builder: OperationNameBuilder.new,
|
20
17
|
sanitazer: QuerySanitazer.new
|
21
18
|
)
|
22
19
|
@tracer = tracer
|
23
20
|
@monitor = Monitor.new
|
24
21
|
@scope_store = scope_store
|
25
|
-
@
|
22
|
+
@operation_name_builder = operation_name_builder
|
26
23
|
@sanitazer = sanitazer
|
27
24
|
end
|
28
25
|
|
@@ -49,18 +46,11 @@ module OpenTracing
|
|
49
46
|
attr_reader :tracer
|
50
47
|
attr_reader :scope_store
|
51
48
|
attr_reader :monitor
|
52
|
-
attr_reader :
|
49
|
+
attr_reader :operation_name_builder
|
53
50
|
attr_reader :sanitazer
|
54
51
|
|
55
52
|
def build_operation_name(event)
|
56
|
-
|
57
|
-
collection_name = event.command[command_name]
|
58
|
-
format(
|
59
|
-
operation_name_pattern,
|
60
|
-
database: event.database_name,
|
61
|
-
collection: collection_name,
|
62
|
-
command: command_name,
|
63
|
-
)
|
53
|
+
operation_name_builder.build_operation_name(event)
|
64
54
|
end
|
65
55
|
|
66
56
|
def base_tags(event)
|
@@ -4,6 +4,8 @@ module OpenTracing
|
|
4
4
|
module Instrumentation
|
5
5
|
# Rack tracing middlewares
|
6
6
|
module Rack
|
7
|
+
autoload :ExtractMiddleware,
|
8
|
+
'opentracing/instrumentation/rack/extract_middleware'
|
7
9
|
autoload :HttpTagger, 'opentracing/instrumentation/rack/http_tagger'
|
8
10
|
autoload :RegexpHostSanitazer,
|
9
11
|
'opentracing/instrumentation/rack/regexp_host_sanitazer'
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rack'
|
4
|
+
|
5
|
+
module OpenTracing
|
6
|
+
module Instrumentation
|
7
|
+
module Rack
|
8
|
+
# ExtractMiddleware extract trace context and push it to scope manager.
|
9
|
+
class ExtractMiddleware
|
10
|
+
# @private
|
11
|
+
class FakeSpan
|
12
|
+
attr_reader :context
|
13
|
+
|
14
|
+
def initialize(context)
|
15
|
+
@context = context
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# @param app [RackApp] inner rack application
|
20
|
+
# @param tracer [OpenTracing::Tracer]
|
21
|
+
# @param logger [Logger]
|
22
|
+
def initialize(
|
23
|
+
app,
|
24
|
+
tracer: OpenTracing.global_tracer,
|
25
|
+
logger: nil
|
26
|
+
)
|
27
|
+
@app = app
|
28
|
+
@tracer = tracer
|
29
|
+
@logger = logger
|
30
|
+
end
|
31
|
+
|
32
|
+
# @param env [Hash<String, String>] rack env
|
33
|
+
def call(env)
|
34
|
+
span_context = @tracer.extract(OpenTracing::FORMAT_RACK, env)
|
35
|
+
return @app.call(env) unless span_context
|
36
|
+
|
37
|
+
with_scope(span_context) do
|
38
|
+
@app.call(env)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def with_scope(span_context)
|
45
|
+
scope = safe_create_scope(span_context)
|
46
|
+
|
47
|
+
yield
|
48
|
+
ensure
|
49
|
+
safe_close_scope(scope)
|
50
|
+
end
|
51
|
+
|
52
|
+
def safe_create_scope(span_context)
|
53
|
+
fake_span = FakeSpan.new(span_context)
|
54
|
+
@tracer.scope_manager.activate(fake_span, finish_on_close: false)
|
55
|
+
rescue StandardError => e
|
56
|
+
@logger&.error(e)
|
57
|
+
nil
|
58
|
+
end
|
59
|
+
|
60
|
+
def safe_close_scope(scope)
|
61
|
+
scope&.close
|
62
|
+
rescue StandardError => e
|
63
|
+
@logger&.error(e)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -15,6 +15,14 @@ module OpenTracing
|
|
15
15
|
::Thrift::MessageTypes::ONEWAY => 'ONEWAY',
|
16
16
|
}.freeze
|
17
17
|
|
18
|
+
autoload :TracedProcessor,
|
19
|
+
module_path + '/traced_processor'
|
20
|
+
autoload :TracedProcessorConfig,
|
21
|
+
module_path + '/traced_processor_config'
|
22
|
+
autoload :TracedProcessorOperationNameBuilder,
|
23
|
+
module_path + '/traced_processor_operation_name_builder'
|
24
|
+
autoload :TracedProcessorTagsBuilder,
|
25
|
+
module_path + '/traced_processor_tags_builder'
|
18
26
|
autoload :TracedProtocol,
|
19
27
|
module_path + '/traced_protocol'
|
20
28
|
autoload :TracedProtocolConfig,
|
@@ -0,0 +1,111 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenTracing
|
4
|
+
module Instrumentation
|
5
|
+
module Thrift
|
6
|
+
# Trace thrift processor
|
7
|
+
#
|
8
|
+
# Usage:
|
9
|
+
# processor =
|
10
|
+
# OrderService::Processor.new(orders_handler)
|
11
|
+
# traced_processor =
|
12
|
+
# OpenTracing::Instrumentation::Thrift::TracedProcessor.new(processor)
|
13
|
+
class TracedProcessor
|
14
|
+
extend Forwardable
|
15
|
+
|
16
|
+
# @private
|
17
|
+
class ReadCachedProtocol
|
18
|
+
include ::Thrift::ProtocolDecorator
|
19
|
+
|
20
|
+
def read_message_begin
|
21
|
+
@read_message_begin ||= @protocol.read_message_begin
|
22
|
+
end
|
23
|
+
|
24
|
+
def ==(other)
|
25
|
+
@protocol == other.protocol
|
26
|
+
end
|
27
|
+
|
28
|
+
protected
|
29
|
+
|
30
|
+
attr_reader :protocol
|
31
|
+
end
|
32
|
+
|
33
|
+
# @parama processor [Thrift::Processor] traced processor
|
34
|
+
# @param config [TracedProcessorConfig]
|
35
|
+
# @yieldparam [TracedProcessorConfig]
|
36
|
+
def initialize(processor, config: TracedProcessorConfig.new)
|
37
|
+
@processor = processor
|
38
|
+
yield config if block_given?
|
39
|
+
@config = config.dup
|
40
|
+
end
|
41
|
+
|
42
|
+
# @param iproto [Thrift::Protocol] input protocol
|
43
|
+
# @param oproto [Thrift::Protocol] output protocol
|
44
|
+
def process(iproto, oproto)
|
45
|
+
trace_process(iproto) do |cached_iproto|
|
46
|
+
processor.process(
|
47
|
+
wrap_protocol(cached_iproto),
|
48
|
+
wrap_protocol(oproto),
|
49
|
+
)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
attr_reader :processor
|
56
|
+
attr_reader :config
|
57
|
+
|
58
|
+
def_delegators :config,
|
59
|
+
:tracer,
|
60
|
+
:trace_protocol,
|
61
|
+
:error_writer,
|
62
|
+
:operation_name_builder,
|
63
|
+
:tags_builder,
|
64
|
+
:logger
|
65
|
+
|
66
|
+
def trace_process(iproto)
|
67
|
+
cached_iproto = ReadCachedProtocol.new(iproto)
|
68
|
+
|
69
|
+
start_time = Time.now
|
70
|
+
|
71
|
+
name, type, seq_id = cached_iproto.read_message_begin
|
72
|
+
|
73
|
+
scope = safe_start_scope(iproto, name, type, seq_id, start_time)
|
74
|
+
|
75
|
+
yield cached_iproto
|
76
|
+
rescue StandardError => e
|
77
|
+
error_writer.write_error(scope.span, e) if scope&.span
|
78
|
+
raise e
|
79
|
+
ensure
|
80
|
+
safe_close_scope(scope)
|
81
|
+
end
|
82
|
+
|
83
|
+
def safe_start_scope(protocol, name, type, seq_id, start_time)
|
84
|
+
operation_name = operation_name_builder.build(name, type, seq_id)
|
85
|
+
tags = tags_builder.build_tags(protocol, name, type)
|
86
|
+
tracer.start_active_span(
|
87
|
+
operation_name,
|
88
|
+
start_time: start_time,
|
89
|
+
tags: tags,
|
90
|
+
)
|
91
|
+
rescue StandardError => e
|
92
|
+
logger&.error(e)
|
93
|
+
end
|
94
|
+
|
95
|
+
def safe_close_scope(scope)
|
96
|
+
scope&.close
|
97
|
+
rescue StandardError => e
|
98
|
+
logger&.error(e)
|
99
|
+
end
|
100
|
+
|
101
|
+
def wrap_protocol(protocol)
|
102
|
+
return protocol unless trace_protocol
|
103
|
+
|
104
|
+
TracedProtocol.new(protocol) do |config|
|
105
|
+
config.tracer = tracer
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenTracing
|
4
|
+
module Instrumentation
|
5
|
+
module Thrift
|
6
|
+
# Config of ThriftProcessor
|
7
|
+
class TracedProcessorConfig
|
8
|
+
# @return [OpenTracing::Tracer]
|
9
|
+
attr_accessor :tracer
|
10
|
+
|
11
|
+
# @return [Boolean] enabled wrap protocol into TracedProtocol
|
12
|
+
attr_accessor :trace_protocol
|
13
|
+
|
14
|
+
# @return [TracedProcessorOperationNameBuilder]
|
15
|
+
attr_accessor :operation_name_builder
|
16
|
+
|
17
|
+
# @return [TracedProcessorTagsBuilder]
|
18
|
+
attr_accessor :tags_builder
|
19
|
+
|
20
|
+
# @return [Common::ErrorWriter]
|
21
|
+
attr_accessor :error_writer
|
22
|
+
|
23
|
+
# @return [Logger] used for log errors. If nil (by default), then logging disabled,
|
24
|
+
attr_accessor :logger
|
25
|
+
|
26
|
+
def initialize
|
27
|
+
@tracer = OpenTracing.global_tracer
|
28
|
+
@trace_protocol = true
|
29
|
+
@operation_name_builder = TracedProcessorOperationNameBuilder.new
|
30
|
+
@tags_builder = TracedProcessorTagsBuilder.new
|
31
|
+
@error_writer = Common::ErrorWriter.new
|
32
|
+
@logger = nil
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenTracing
|
4
|
+
module Instrumentation
|
5
|
+
module Thrift
|
6
|
+
# Thrift processor trace operation name builder
|
7
|
+
class TracedProcessorOperationNameBuilder
|
8
|
+
DEFAULT_OPERATION_NAME_TEMPALTE = \
|
9
|
+
'thrift_processor(%<name>s)'
|
10
|
+
|
11
|
+
# @param operation_name_tempalte [String]
|
12
|
+
def initialize(
|
13
|
+
operation_name_template: DEFAULT_OPERATION_NAME_TEMPALTE
|
14
|
+
)
|
15
|
+
@operation_name_template = operation_name_template
|
16
|
+
end
|
17
|
+
|
18
|
+
# @param name [String] method name
|
19
|
+
# @param type [Integer] type of message
|
20
|
+
# @param seq_id [Integer] numberr of message
|
21
|
+
# @return [String] operation name
|
22
|
+
def build(name, type, seq_id)
|
23
|
+
format_args = build_format_args(name, type, seq_id)
|
24
|
+
format(operation_name_template, **format_args)
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
attr_reader :operation_name_template
|
30
|
+
|
31
|
+
def build_format_args(name, type, seq_id)
|
32
|
+
{
|
33
|
+
name: name,
|
34
|
+
type: MESSAGE_TYPES[type],
|
35
|
+
seq_id: seq_id,
|
36
|
+
}
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenTracing
|
4
|
+
module Instrumentation
|
5
|
+
module Thrift
|
6
|
+
# Tags builder for TracedProcessor
|
7
|
+
class TracedProcessorTagsBuilder < TracedProtocolTagsBuilder
|
8
|
+
DEFAULT_STATIC_TAGS = {
|
9
|
+
'span.kind' => 'server',
|
10
|
+
'component' => 'thrift',
|
11
|
+
}.freeze
|
12
|
+
|
13
|
+
def initialize(static_tags: DEFAULT_STATIC_TAGS)
|
14
|
+
@static_tags = static_tags
|
15
|
+
end
|
16
|
+
|
17
|
+
def build_tags(protocol, name, type)
|
18
|
+
static_tags
|
19
|
+
.merge(build_protocol_tags(protocol))
|
20
|
+
.merge(build_message_tags(name, type))
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
attr_reader :static_tags
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -33,26 +33,32 @@ module OpenTracing
|
|
33
33
|
super(protocol)
|
34
34
|
@config = config.dup
|
35
35
|
yield @config if block_given?
|
36
|
-
@
|
36
|
+
@protocol_tags = config.tags_builder.build_protocol_tags(protocol)
|
37
|
+
end
|
38
|
+
|
39
|
+
def ==(other)
|
40
|
+
protocol == other.protocol &&
|
41
|
+
config == other.config &&
|
42
|
+
protocol_tags == other.protocol_tags
|
37
43
|
end
|
38
44
|
|
39
45
|
def write_message_begin(name, type, seqid)
|
40
|
-
self.
|
41
|
-
|
46
|
+
self.write_span = \
|
47
|
+
safe_start_span(WRITE_DIRECTION, name, type)
|
42
48
|
|
43
49
|
# Call protocol instaed super, beacaus ProtocolDecorator do not
|
44
50
|
# pass arguments to protocol.write_message_begin
|
45
51
|
protocol.write_message_begin(name, type, seqid)
|
46
52
|
rescue StandardError => e
|
47
|
-
write_error(
|
48
|
-
safe_close_span(
|
53
|
+
write_error(write_span, e)
|
54
|
+
safe_close_span(write_span)
|
49
55
|
raise e
|
50
56
|
end
|
51
57
|
|
52
58
|
def write_message_end
|
53
59
|
super
|
54
60
|
ensure
|
55
|
-
safe_close_span(
|
61
|
+
safe_close_span(write_span)
|
56
62
|
end
|
57
63
|
|
58
64
|
def read_message_begin
|
@@ -60,9 +66,9 @@ module OpenTracing
|
|
60
66
|
|
61
67
|
name, type, rseqid = super
|
62
68
|
|
63
|
-
self.
|
64
|
-
|
65
|
-
|
69
|
+
self.read_span = \
|
70
|
+
safe_start_span(READ_DIRECTION, name, type,
|
71
|
+
start_time: start_time)
|
66
72
|
|
67
73
|
[name, type, rseqid]
|
68
74
|
end
|
@@ -70,25 +76,28 @@ module OpenTracing
|
|
70
76
|
def read_message_end
|
71
77
|
super
|
72
78
|
ensure
|
73
|
-
safe_close_span(
|
79
|
+
safe_close_span(read_span)
|
74
80
|
end
|
75
81
|
|
76
|
-
|
82
|
+
protected
|
77
83
|
|
78
|
-
attr_reader :
|
84
|
+
attr_reader :protocol_tags
|
79
85
|
attr_reader :protocol
|
86
|
+
attr_reader :config
|
80
87
|
|
81
|
-
|
88
|
+
private
|
89
|
+
|
90
|
+
def_delegators :config,
|
82
91
|
:tracer,
|
83
92
|
:tags_builder,
|
84
93
|
:operation_name_builder,
|
85
94
|
:error_writer,
|
86
95
|
:logger
|
87
96
|
|
88
|
-
attr_accessor :
|
89
|
-
:
|
97
|
+
attr_accessor :write_span,
|
98
|
+
:read_span
|
90
99
|
|
91
|
-
def
|
100
|
+
def safe_start_span(
|
92
101
|
direction,
|
93
102
|
name,
|
94
103
|
type,
|
@@ -97,7 +106,7 @@ module OpenTracing
|
|
97
106
|
operation_name = build_operation_name(direction, name, type)
|
98
107
|
request_tags = build_tags(name, type)
|
99
108
|
|
100
|
-
tracer.
|
109
|
+
tracer.start_span(
|
101
110
|
operation_name,
|
102
111
|
tags: request_tags,
|
103
112
|
start_time: start_time,
|
@@ -106,10 +115,10 @@ module OpenTracing
|
|
106
115
|
logger&.error(e)
|
107
116
|
end
|
108
117
|
|
109
|
-
def safe_close_span(
|
110
|
-
return if
|
118
|
+
def safe_close_span(span)
|
119
|
+
return if span.nil?
|
111
120
|
|
112
|
-
|
121
|
+
span.finish
|
113
122
|
rescue StandardError => e
|
114
123
|
logger&.error(e)
|
115
124
|
end
|
@@ -131,7 +140,7 @@ module OpenTracing
|
|
131
140
|
end
|
132
141
|
|
133
142
|
def build_tags(name, type)
|
134
|
-
|
143
|
+
protocol_tags
|
135
144
|
.merge(tags_builder.build_message_tags(name, type))
|
136
145
|
.compact
|
137
146
|
end
|
@@ -24,6 +24,13 @@ module OpenTracing
|
|
24
24
|
@error_writer = error_writer
|
25
25
|
@logger = logger
|
26
26
|
end
|
27
|
+
|
28
|
+
def ==(other)
|
29
|
+
tracer == other.tracer &&
|
30
|
+
tags_builder == other.tags_builder &&
|
31
|
+
operation_name_builder == other.operation_name_builder &&
|
32
|
+
error_writer == other.error_writer
|
33
|
+
end
|
27
34
|
end
|
28
35
|
end
|
29
36
|
end
|
@@ -10,8 +10,6 @@ module OpenTracing
|
|
10
10
|
DEFAULT_OPERATION_NAME_PATTERN = \
|
11
11
|
'thrift(direction=%<direction>s, name=%<name>s, type=%<type>s)'
|
12
12
|
|
13
|
-
attr_reader :operation_name_pattern
|
14
|
-
|
15
13
|
# @param operation_name_pattern [String]
|
16
14
|
def initialize(
|
17
15
|
operation_name_pattern: DEFAULT_OPERATION_NAME_PATTERN
|
@@ -28,6 +26,14 @@ module OpenTracing
|
|
28
26
|
format(operation_name_pattern, **format_args)
|
29
27
|
end
|
30
28
|
|
29
|
+
def ==(other)
|
30
|
+
operation_name_pattern == other.operation_name_pattern
|
31
|
+
end
|
32
|
+
|
33
|
+
protected
|
34
|
+
|
35
|
+
attr_reader :operation_name_pattern
|
36
|
+
|
31
37
|
private
|
32
38
|
|
33
39
|
def build_format_args(direction, name, type)
|
@@ -17,7 +17,7 @@ module OpenTracing
|
|
17
17
|
}.merge(error_tags(type))
|
18
18
|
end
|
19
19
|
|
20
|
-
def
|
20
|
+
def build_protocol_tags(protocol)
|
21
21
|
transport = protocol.trans
|
22
22
|
{
|
23
23
|
'thrift.protocol' => build_protocol_name(protocol),
|
@@ -25,6 +25,10 @@ module OpenTracing
|
|
25
25
|
}
|
26
26
|
end
|
27
27
|
|
28
|
+
def ==(other)
|
29
|
+
self.class == other.class
|
30
|
+
end
|
31
|
+
|
28
32
|
private
|
29
33
|
|
30
34
|
NAME_PATTER = /((?<service_name>\w+):)?(?<method>\w+)/.freeze
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opentracing-instrumentation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fedorenko Dmitrij
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-04-
|
11
|
+
date: 2020-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -301,6 +301,7 @@ files:
|
|
301
301
|
- lib/opentracing/instrumentation/mongo/trace_subscriber.rb
|
302
302
|
- lib/opentracing/instrumentation/object_wrapper.rb
|
303
303
|
- lib/opentracing/instrumentation/rack.rb
|
304
|
+
- lib/opentracing/instrumentation/rack/extract_middleware.rb
|
304
305
|
- lib/opentracing/instrumentation/rack/http_tagger.rb
|
305
306
|
- lib/opentracing/instrumentation/rack/regexp_host_sanitazer.rb
|
306
307
|
- lib/opentracing/instrumentation/rack/regexp_path_sanitazer.rb
|
@@ -319,6 +320,10 @@ files:
|
|
319
320
|
- lib/opentracing/instrumentation/sinatra.rb
|
320
321
|
- lib/opentracing/instrumentation/sinatra/trace_middleware.rb
|
321
322
|
- lib/opentracing/instrumentation/thrift.rb
|
323
|
+
- lib/opentracing/instrumentation/thrift/traced_processor.rb
|
324
|
+
- lib/opentracing/instrumentation/thrift/traced_processor_config.rb
|
325
|
+
- lib/opentracing/instrumentation/thrift/traced_processor_operation_name_builder.rb
|
326
|
+
- lib/opentracing/instrumentation/thrift/traced_processor_tags_builder.rb
|
322
327
|
- lib/opentracing/instrumentation/thrift/traced_protocol.rb
|
323
328
|
- lib/opentracing/instrumentation/thrift/traced_protocol_config.rb
|
324
329
|
- lib/opentracing/instrumentation/thrift/traced_protocol_factory.rb
|