rails-tracer 0.4.3 → 0.5.0
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/.gitignore +3 -0
- data/{.ruby-verison → .ruby-version} +0 -0
- data/.travis.yml +15 -0
- data/Appraisals +24 -0
- data/README.md +55 -3
- data/Rakefile +2 -0
- data/gemfiles/.bundle/config +2 -0
- data/gemfiles/rails_32.gemfile +11 -0
- data/gemfiles/rails_4.gemfile +10 -0
- data/gemfiles/rails_40.gemfile +10 -0
- data/gemfiles/rails_41.gemfile +10 -0
- data/gemfiles/rails_42.gemfile +10 -0
- data/gemfiles/rails_5.gemfile +10 -0
- data/gemfiles/rails_50.gemfile +10 -0
- data/gemfiles/rails_51.gemfile +10 -0
- data/lib/rails-tracer.rb +1 -0
- data/lib/rails/active_record/tracer.rb +17 -2
- data/lib/rails/active_support/cache/core_ext.rb +11 -0
- data/lib/rails/active_support/cache/manual_tracer.rb +24 -0
- data/lib/rails/active_support/cache/subscriber.rb +62 -0
- data/lib/rails/active_support/cache/tracer.rb +23 -41
- data/lib/rails/rack/tracer.rb +21 -0
- data/lib/rails/span_helpers.rb +8 -1
- data/lib/rails/tracer.rb +21 -0
- data/rails-tracer.gemspec +3 -3
- metadata +38 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '06269da122bd03c82b26096c0b049ae6dac8101d'
|
4
|
+
data.tar.gz: 5e978290f38de0332dd6a664ee63a59e9e2e31b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 627b4b5330b4d183fc5ab62996ada35ed02c39cab486dc17a10fae38848c372221c00bed4d2586da2786d30360ff97f29a8005a1268651c12278efe385ba4a93
|
7
|
+
data.tar.gz: cb4ae564a91f7220464a433fdfbd1f6b67ef1c55592e62c362bc38b62f0fbbc7010af33dcfd672fc612c1aadad3564e1fc3bba4c77082b14f6821c7c9f526a54
|
data/.gitignore
CHANGED
File without changes
|
data/.travis.yml
CHANGED
@@ -4,6 +4,21 @@ rvm:
|
|
4
4
|
- 2.2
|
5
5
|
- 2.3
|
6
6
|
- 2.4
|
7
|
+
gemfile:
|
8
|
+
- gemfiles/rails_32.gemfile
|
9
|
+
- gemfiles/rails_40.gemfile
|
10
|
+
- gemfiles/rails_41.gemfile
|
11
|
+
- gemfiles/rails_42.gemfile
|
12
|
+
- gemfiles/rails_50.gemfile
|
13
|
+
- gemfiles/rails_51.gemfile
|
14
|
+
matrix:
|
15
|
+
exclude:
|
16
|
+
- rvm: 2.4
|
17
|
+
gemfile: gemfiles/rails_32.gemfile
|
18
|
+
- rvm: 2.4
|
19
|
+
gemfile: gemfiles/rails_40.gemfile
|
20
|
+
- rvm: 2.4
|
21
|
+
gemfile: gemfiles/rails_41.gemfile
|
7
22
|
before_install:
|
8
23
|
- gem install bundler -v 1.15.3
|
9
24
|
services:
|
data/Appraisals
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
appraise "rails-32" do
|
2
|
+
gem "rails", "~> 3.2.0"
|
3
|
+
gem 'test-unit', '~> 3.0'
|
4
|
+
end
|
5
|
+
|
6
|
+
appraise "rails-40" do
|
7
|
+
gem "rails", "~> 4.0.0"
|
8
|
+
end
|
9
|
+
|
10
|
+
appraise "rails-41" do
|
11
|
+
gem "rails", "~> 4.1.0"
|
12
|
+
end
|
13
|
+
|
14
|
+
appraise "rails-42" do
|
15
|
+
gem "rails", "~> 4.2.0"
|
16
|
+
end
|
17
|
+
|
18
|
+
appraise "rails-50" do
|
19
|
+
gem "rails", "~> 5.0.0"
|
20
|
+
end
|
21
|
+
|
22
|
+
appraise "rails-51" do
|
23
|
+
gem "rails", "~> 5.1.0"
|
24
|
+
end
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# OpenTracing Rails Instrumentation
|
2
2
|
|
3
|
-
This gem is an attempt to introduce OpenTracing instrumentation into Rails. It's in
|
3
|
+
This gem is an attempt to introduce OpenTracing instrumentation into Rails. It's in an early stage.
|
4
4
|
|
5
5
|
The following instrumentation is supported:
|
6
6
|
|
@@ -24,6 +24,30 @@ Or install it yourself as:
|
|
24
24
|
|
25
25
|
$ gem install rails-tracer
|
26
26
|
|
27
|
+
## Rails::Tracer
|
28
|
+
|
29
|
+
The library hooks up into Rails using `ActiveSupport::Notifications`, and instruments all previously mentioned modules.
|
30
|
+
To enable instrumentation, you can either use sub-tracers directly (see sections below) or global `Rails::Tracer` which
|
31
|
+
will enabled all of them (except for Rack/ActionDispatch instrumentation).
|
32
|
+
|
33
|
+
### Configuration Options
|
34
|
+
|
35
|
+
* `tracer: OpenTracing::Tracer` an OT compatible tracer. Default `OpenTracing.global_tracer`
|
36
|
+
* `active_span: boolean` an active span provider. Default: `nil`.
|
37
|
+
* `active_record: boolean` whether to enable `ActiveRecord` instrumentation. Default: `true`.
|
38
|
+
* `active_support_cache: boolean` whether to enable `ActionDispatch::Cache` instrumentation. Default: `true`.
|
39
|
+
* `dalli: boolean` if set to `true` you will hook up into `Dalli` low-level details. Default: `false`.
|
40
|
+
* `rack: boolean` whether to enable extended `Rack` instrumentation. Default: `false`.
|
41
|
+
* `middlewares: ActionDispatch::MiddlewareStack` a middlewares stack. Default: `Rails.configuration.middleware`.
|
42
|
+
|
43
|
+
### Usage
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
require 'rails/tracer'
|
47
|
+
|
48
|
+
Rails::Tracer.instrument
|
49
|
+
```
|
50
|
+
|
27
51
|
## ActionDispatch
|
28
52
|
|
29
53
|
When you use `rack-tracer`, the generated operation name corresponds to the request's http method e.g. GET, POST etc.
|
@@ -41,6 +65,14 @@ Rails.configuration.middleware.use(Rack::Tracer)
|
|
41
65
|
Rails.configuration.middleware.insert_after(Rack::Tracer, Rails::Rack::Tracer)
|
42
66
|
```
|
43
67
|
|
68
|
+
or simpler
|
69
|
+
|
70
|
+
```ruby
|
71
|
+
Rails::Rack::Tracer.instrument
|
72
|
+
```
|
73
|
+
|
74
|
+
optionally you can pass `tracer` argument to `instrument` method.
|
75
|
+
|
44
76
|
## ActiveRecord
|
45
77
|
|
46
78
|
The library hooks up into Rails using `ActiveSupport::Notifications`, and instruments all `ActiveRecord` query.
|
@@ -120,9 +152,29 @@ read("user-1")
|
|
120
152
|
|
121
153
|
## Development
|
122
154
|
|
123
|
-
After checking out the repo,
|
155
|
+
After checking out the repo, install dependencies.
|
156
|
+
|
157
|
+
```
|
158
|
+
bundle install
|
159
|
+
appraisal install
|
160
|
+
```
|
161
|
+
|
162
|
+
The tests depends on having memcached running locally within docker container. It means you need to install docker, and docker-compose first.
|
163
|
+
Once you're done to run the containers:
|
164
|
+
|
165
|
+
```
|
166
|
+
docker-compose up -d
|
167
|
+
```
|
168
|
+
|
169
|
+
Then, to run tests for all appraisals:
|
170
|
+
|
171
|
+
```
|
172
|
+
appraisal bundle exec rspec spec
|
173
|
+
```
|
174
|
+
|
175
|
+
You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
124
176
|
|
125
|
-
To
|
177
|
+
To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
126
178
|
|
127
179
|
## Contributing
|
128
180
|
|
data/Rakefile
CHANGED
data/lib/rails-tracer.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'rails/tracer'
|
@@ -4,10 +4,23 @@ module ActiveRecord
|
|
4
4
|
|
5
5
|
class << self
|
6
6
|
def instrument(tracer: OpenTracing.global_tracer, active_span: nil)
|
7
|
-
|
7
|
+
clear_subscribers
|
8
|
+
@subscriber = ::ActiveSupport::Notifications.subscribe('sql.active_record') do |*args|
|
8
9
|
ActiveRecord::Tracer.sql(tracer: tracer, active_span: active_span, args: args)
|
9
10
|
end
|
11
|
+
|
12
|
+
self
|
13
|
+
end
|
14
|
+
|
15
|
+
def disable
|
16
|
+
if @subscriber
|
17
|
+
ActiveSupport::Notifications.unsubscribe(@subscriber)
|
18
|
+
@subscriber = nil
|
19
|
+
end
|
20
|
+
|
21
|
+
self
|
10
22
|
end
|
23
|
+
alias :clear_subscribers :disable
|
11
24
|
|
12
25
|
def sql(tracer: OpenTracing.global_tracer, active_span: nil, args:)
|
13
26
|
_, start, finish, _, payload = *args
|
@@ -20,7 +33,9 @@ module ActiveRecord
|
|
20
33
|
cached: payload.fetch(:cached, false),
|
21
34
|
connection_id: payload.fetch(:connection_id))
|
22
35
|
|
23
|
-
|
36
|
+
if payload[:exception]
|
37
|
+
Rails::Tracer::SpanHelpers.set_error(span, payload[:exception_object] || payload[:exception])
|
38
|
+
end
|
24
39
|
|
25
40
|
span.finish(end_time: finish)
|
26
41
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module ActiveSupport
|
2
|
+
module Cache
|
3
|
+
class Store
|
4
|
+
# See the PR https://github.com/rails/rails/pull/15943/files
|
5
|
+
# In order to make the instrumentation to work we need to override the original implementation
|
6
|
+
def self.instrument
|
7
|
+
true
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module ActiveSupport
|
2
|
+
module Cache
|
3
|
+
module Tracer
|
4
|
+
class << self
|
5
|
+
def start_span(operation_name, tracer: OpenTracing.global_tracer, active_span: nil, start_time: Time.now, event:, **fields)
|
6
|
+
span = tracer.start_span(operation_name,
|
7
|
+
child_of: active_span.respond_to?(:call) ? active_span.call : active_span,
|
8
|
+
start_time: start_time,
|
9
|
+
tags: {
|
10
|
+
'component' => 'ActiveSupport::Cache',
|
11
|
+
'span.kind' => 'client',
|
12
|
+
'cache.key' => fields.fetch(:key, 'unknown')
|
13
|
+
})
|
14
|
+
|
15
|
+
if event == 'read'
|
16
|
+
span.set_tag('cache.hit', fields.fetch(:hit, false))
|
17
|
+
end
|
18
|
+
|
19
|
+
span
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module ActiveSupport
|
2
|
+
module Cache
|
3
|
+
module Tracer
|
4
|
+
class Subscriber
|
5
|
+
attr_reader :tracer, :active_span, :event, :operation_name
|
6
|
+
|
7
|
+
def initialize(tracer: OpenTracing.global_tracer, active_span: nil, event:)
|
8
|
+
@tracer = tracer
|
9
|
+
@active_span = active_span
|
10
|
+
@event = event
|
11
|
+
@operation_name = "cache.#{event}"
|
12
|
+
end
|
13
|
+
|
14
|
+
# For compatibility with Rails 3.2
|
15
|
+
def call(*args)
|
16
|
+
_, start, finish, _, payload = *args
|
17
|
+
|
18
|
+
span = Tracer.start_span(operation_name,
|
19
|
+
event: event,
|
20
|
+
tracer: tracer,
|
21
|
+
active_span: active_span,
|
22
|
+
start_time: start,
|
23
|
+
**payload)
|
24
|
+
|
25
|
+
if payload[:exception]
|
26
|
+
Rails::Tracer::SpanHelpers.set_error(span, payload[:exception_object] || payload[:exception])
|
27
|
+
end
|
28
|
+
|
29
|
+
span.finish(end_time: finish)
|
30
|
+
end
|
31
|
+
|
32
|
+
def start(name, _, payload)
|
33
|
+
span = tracer.start_span(operation_name,
|
34
|
+
child_of: active_span.respond_to?(:call) ? active_span.call : active_span,
|
35
|
+
tags: {
|
36
|
+
'component' => 'ActiveSupport::Cache',
|
37
|
+
'span.kind' => 'client'
|
38
|
+
})
|
39
|
+
|
40
|
+
payload[:__OT_SPAN__] = span
|
41
|
+
end
|
42
|
+
|
43
|
+
def finish(name, _, payload)
|
44
|
+
span = payload[:__OT_SPAN__]
|
45
|
+
return unless span
|
46
|
+
|
47
|
+
span.set_tag('cache.key', payload.fetch(:key, 'unknown'))
|
48
|
+
|
49
|
+
if event == 'read'
|
50
|
+
span.set_tag('cache.hit', payload.fetch(:hit, false))
|
51
|
+
end
|
52
|
+
|
53
|
+
if payload[:exception]
|
54
|
+
Rails::Tracer::SpanHelpers.set_error(span, payload[:exception_object] || payload[:exception])
|
55
|
+
end
|
56
|
+
|
57
|
+
span.finish
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -1,22 +1,37 @@
|
|
1
|
+
require 'rails/active_support/cache/core_ext'
|
2
|
+
require 'rails/active_support/cache/manual_tracer'
|
3
|
+
require 'rails/active_support/cache/subscriber'
|
4
|
+
|
1
5
|
module ActiveSupport
|
2
6
|
module Cache
|
3
7
|
module Tracer
|
4
8
|
class << self
|
5
|
-
# TODO: In Rails 4.0+ it's possible to subscribe to start events
|
6
9
|
def instrument(tracer: OpenTracing.global_tracer, active_span: nil, dalli: false)
|
10
|
+
clear_subscribers
|
7
11
|
events = %w(read write generate delete clear)
|
8
|
-
events.
|
9
|
-
ActiveSupport::
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
args: args)
|
14
|
-
end
|
12
|
+
@subscribers = events.map do |event|
|
13
|
+
subscriber = ActiveSupport::Cache::Tracer::Subscriber.new(tracer: tracer,
|
14
|
+
active_span: active_span,
|
15
|
+
event: event)
|
16
|
+
ActiveSupport::Notifications.subscribe("cache_#{event}.active_support", subscriber)
|
15
17
|
end
|
16
18
|
|
17
19
|
instrument_dalli(tracer: tracer, active_span: active_span) if dalli
|
20
|
+
|
21
|
+
self
|
18
22
|
end
|
19
23
|
|
24
|
+
def disable
|
25
|
+
if @subscribers
|
26
|
+
@subscribers.each { |subscriber| ActiveSupport::Notifications.unsubscribe(subscriber) }
|
27
|
+
@subscribers.clear
|
28
|
+
end
|
29
|
+
|
30
|
+
self
|
31
|
+
end
|
32
|
+
|
33
|
+
alias :clear_subscribers :disable
|
34
|
+
|
20
35
|
def instrument_dalli(tracer:, active_span:)
|
21
36
|
return unless defined?(ActiveSupport::Cache::DalliStore)
|
22
37
|
require 'rails/active_support/cache/dalli_tracer'
|
@@ -34,39 +49,6 @@ module ActiveSupport
|
|
34
49
|
loggers = [tracing_logger, Dalli.logger].compact
|
35
50
|
Dalli.logger = Tracing::CompositeLogger.new(*loggers)
|
36
51
|
end
|
37
|
-
|
38
|
-
def instrument_event(tracer: OpenTracing.global_tracer, active_span: nil, event:, args:)
|
39
|
-
_, start, finish, _, payload = *args
|
40
|
-
|
41
|
-
span = start_span("cache.#{event}",
|
42
|
-
event: event,
|
43
|
-
tracer: tracer,
|
44
|
-
active_span: active_span,
|
45
|
-
start_time: start,
|
46
|
-
**payload)
|
47
|
-
|
48
|
-
|
49
|
-
Rails::Tracer::SpanHelpers.set_error(span, payload[:exception_object]) if payload[:exception]
|
50
|
-
|
51
|
-
span.finish(end_time: finish)
|
52
|
-
end
|
53
|
-
|
54
|
-
def start_span(operation_name, tracer: OpenTracing.global_tracer, active_span: nil, start_time: Time.now, event:, **fields)
|
55
|
-
span = tracer.start_span(operation_name,
|
56
|
-
child_of: active_span.respond_to?(:call) ? active_span.call : active_span,
|
57
|
-
start_time: start_time,
|
58
|
-
tags: {
|
59
|
-
'component' => 'ActiveSupport::Cache',
|
60
|
-
'span.kind' => 'client',
|
61
|
-
'cache.key' => fields.fetch(:key, 'unknown')
|
62
|
-
})
|
63
|
-
|
64
|
-
if event == 'read'
|
65
|
-
span.set_tag('cache.hit', fields.fetch(:hit, false))
|
66
|
-
end
|
67
|
-
|
68
|
-
span
|
69
|
-
end
|
70
52
|
end
|
71
53
|
end
|
72
54
|
end
|
data/lib/rails/rack/tracer.rb
CHANGED
@@ -1,6 +1,27 @@
|
|
1
1
|
module Rails
|
2
2
|
module Rack
|
3
3
|
class Tracer
|
4
|
+
class << self
|
5
|
+
def instrument(tracer: OpenTracing.global_tracer, middlewares: Rails.configuration.middleware)
|
6
|
+
return unless defined?(::Rack::Tracer)
|
7
|
+
@owns_all_middlewares = false
|
8
|
+
unless middlewares.include?(::Rack::Tracer)
|
9
|
+
middlewares.use(::Rack::Tracer, tracer: tracer)
|
10
|
+
@owns_all_middlewares = true
|
11
|
+
end
|
12
|
+
middlewares.insert_after(::Rack::Tracer, Rails::Rack::Tracer)
|
13
|
+
end
|
14
|
+
|
15
|
+
def disable(middlewares: Rails.configuration.middleware)
|
16
|
+
middlewares.delete(Rails::Rack::Tracer)
|
17
|
+
if @owns_all_middlewares
|
18
|
+
middlewares.delete(::Rack::Tracer)
|
19
|
+
@owns_all_middlewares = false
|
20
|
+
end
|
21
|
+
rescue
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
4
25
|
def initialize(app)
|
5
26
|
@app = app
|
6
27
|
end
|
data/lib/rails/span_helpers.rb
CHANGED
@@ -4,7 +4,14 @@ module Rails
|
|
4
4
|
class << self
|
5
5
|
def set_error(span, exception)
|
6
6
|
span.set_tag('error', true)
|
7
|
-
|
7
|
+
|
8
|
+
case exception
|
9
|
+
when Array
|
10
|
+
exception_class, exception_message = exception
|
11
|
+
span.log(event: 'error', :'error.kind' => exception_class, message: exception_message)
|
12
|
+
when Exception
|
13
|
+
span.log(event: 'error', :'error.object' => exception)
|
14
|
+
end
|
8
15
|
end
|
9
16
|
end
|
10
17
|
end
|
data/lib/rails/tracer.rb
CHANGED
@@ -2,3 +2,24 @@ require "rails/span_helpers"
|
|
2
2
|
require "rails/rack/tracer"
|
3
3
|
require "rails/active_record/tracer"
|
4
4
|
require "rails/active_support/cache/tracer"
|
5
|
+
|
6
|
+
module Rails
|
7
|
+
module Tracer
|
8
|
+
class << self
|
9
|
+
def instrument(tracer: OpenTracing.global_tracer, active_span: nil,
|
10
|
+
rack: false, middlewares: Rails.configuration.middleware,
|
11
|
+
active_record: true,
|
12
|
+
active_support_cache: true, dalli: false)
|
13
|
+
Rails::Rack::Tracer.instrument(tracer: tracer, middlewares: middlewares) if rack
|
14
|
+
ActiveRecord::Tracer.instrument(tracer: tracer, active_span: active_span) if active_record
|
15
|
+
ActiveSupport::Cache::Tracer.instrument(tracer: tracer, active_span: active_span, dalli: dalli) if active_support_cache
|
16
|
+
end
|
17
|
+
|
18
|
+
def disable
|
19
|
+
ActiveRecord::Tracer.disable
|
20
|
+
ActiveSupport::Cache::Tracer.disable
|
21
|
+
Rails::Rack::Tracer.disable
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/rails-tracer.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "rails-tracer"
|
7
|
-
spec.version = "0.
|
7
|
+
spec.version = "0.5.0"
|
8
8
|
spec.authors = ["iaintshine"]
|
9
9
|
spec.email = ["bodziomista@gmail.com"]
|
10
10
|
|
@@ -26,7 +26,6 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_dependency "rack-tracer", "~> 0.3.0"
|
27
27
|
spec.add_dependency "method-tracer", "~> 1.1"
|
28
28
|
|
29
|
-
spec.add_development_dependency "rails", "~> 5.1.3"
|
30
29
|
spec.add_development_dependency "sqlite3"
|
31
30
|
spec.add_development_dependency "puma", "~> 3.7"
|
32
31
|
spec.add_development_dependency "rspec-rails", "~> 3.6"
|
@@ -35,10 +34,11 @@ Gem::Specification.new do |spec|
|
|
35
34
|
spec.add_development_dependency "tracing-logger", "~> 1.0"
|
36
35
|
spec.add_development_dependency "test-tracer", "~> 1.1"
|
37
36
|
spec.add_development_dependency "tracing-matchers", "~> 1.0"
|
37
|
+
spec.add_development_dependency "spanmanager", "~> 0.3.0"
|
38
38
|
spec.add_development_dependency "bundler", "~> 1.15"
|
39
39
|
spec.add_development_dependency "rake", "~> 10.0"
|
40
40
|
spec.add_development_dependency "rspec", "~> 3.0"
|
41
|
-
spec.add_development_dependency "rack", "~> 2.0"
|
42
41
|
spec.add_development_dependency "simplecov"
|
43
42
|
spec.add_development_dependency "simplecov-console"
|
43
|
+
spec.add_development_dependency "appraisal"
|
44
44
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-tracer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- iaintshine
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opentracing
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.1'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rails
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 5.1.3
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 5.1.3
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: sqlite3
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,6 +164,20 @@ dependencies:
|
|
178
164
|
- - "~>"
|
179
165
|
- !ruby/object:Gem::Version
|
180
166
|
version: '1.0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: spanmanager
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 0.3.0
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 0.3.0
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: bundler
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -221,21 +221,21 @@ dependencies:
|
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: '3.0'
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
|
-
name:
|
224
|
+
name: simplecov
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
226
226
|
requirements:
|
227
|
-
- - "
|
227
|
+
- - ">="
|
228
228
|
- !ruby/object:Gem::Version
|
229
|
-
version: '
|
229
|
+
version: '0'
|
230
230
|
type: :development
|
231
231
|
prerelease: false
|
232
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
233
|
requirements:
|
234
|
-
- - "
|
234
|
+
- - ">="
|
235
235
|
- !ruby/object:Gem::Version
|
236
|
-
version: '
|
236
|
+
version: '0'
|
237
237
|
- !ruby/object:Gem::Dependency
|
238
|
-
name: simplecov
|
238
|
+
name: simplecov-console
|
239
239
|
requirement: !ruby/object:Gem::Requirement
|
240
240
|
requirements:
|
241
241
|
- - ">="
|
@@ -249,7 +249,7 @@ dependencies:
|
|
249
249
|
- !ruby/object:Gem::Version
|
250
250
|
version: '0'
|
251
251
|
- !ruby/object:Gem::Dependency
|
252
|
-
name:
|
252
|
+
name: appraisal
|
253
253
|
requirement: !ruby/object:Gem::Requirement
|
254
254
|
requirements:
|
255
255
|
- - ">="
|
@@ -271,8 +271,9 @@ extra_rdoc_files: []
|
|
271
271
|
files:
|
272
272
|
- ".gitignore"
|
273
273
|
- ".rspec"
|
274
|
-
- ".ruby-
|
274
|
+
- ".ruby-version"
|
275
275
|
- ".travis.yml"
|
276
|
+
- Appraisals
|
276
277
|
- CHANGELOG.md
|
277
278
|
- Gemfile
|
278
279
|
- LICENSE
|
@@ -281,8 +282,21 @@ files:
|
|
281
282
|
- bin/console
|
282
283
|
- bin/setup
|
283
284
|
- docker-compose.yml
|
285
|
+
- gemfiles/.bundle/config
|
286
|
+
- gemfiles/rails_32.gemfile
|
287
|
+
- gemfiles/rails_4.gemfile
|
288
|
+
- gemfiles/rails_40.gemfile
|
289
|
+
- gemfiles/rails_41.gemfile
|
290
|
+
- gemfiles/rails_42.gemfile
|
291
|
+
- gemfiles/rails_5.gemfile
|
292
|
+
- gemfiles/rails_50.gemfile
|
293
|
+
- gemfiles/rails_51.gemfile
|
294
|
+
- lib/rails-tracer.rb
|
284
295
|
- lib/rails/active_record/tracer.rb
|
296
|
+
- lib/rails/active_support/cache/core_ext.rb
|
285
297
|
- lib/rails/active_support/cache/dalli_tracer.rb
|
298
|
+
- lib/rails/active_support/cache/manual_tracer.rb
|
299
|
+
- lib/rails/active_support/cache/subscriber.rb
|
286
300
|
- lib/rails/active_support/cache/tracer.rb
|
287
301
|
- lib/rails/rack/tracer.rb
|
288
302
|
- lib/rails/span_helpers.rb
|