rails_opentracer 0.1.38 → 0.1.39

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a9cacc7a29a63d008cefb04bae669fe266a4f65a
4
- data.tar.gz: 431dda27e92b753aee879fcc9aebca5c83e1b8d3
3
+ metadata.gz: 39d1dfa77075290e901c017c8f00789e30df71a6
4
+ data.tar.gz: 576088d214e88b6134050705e455d69418f229de
5
5
  SHA512:
6
- metadata.gz: a4915681e41a6ce227dec39fd686bdcdd06941f3a51f720b65ad93e22a3b3974236969ecf428ddf1e7b79a6cd6f0da3c912f6b333d35030bfdcb06e417f26f64
7
- data.tar.gz: 513f453c113d70cca0adb7e0224b6e67ee3328f808f9e8b7835688292cdec517ae1c57a1409b853b21da353ee76d169163ac177a04074ec8177ecfdbcc1393ca
6
+ metadata.gz: 52a91be480cf4f2961dd69ebef2685274a9ee5cd1a8e487a900eac385aa4f170ca71049a6232414f47da9dd55395e231c0ee3d9899824872247ef3ee53995a71
7
+ data.tar.gz: '0830abd1913f9f780b2532fd06f170288f8b30bdab4a525c5b267b0ba5de6779cfcd219a14d94109311290af38d6eb907715b98010cae3bd20cfbb2fd1d7929a'
data/.rubocop.yml ADDED
@@ -0,0 +1,74 @@
1
+ # Configuration used to check ruby source code with rubocop.
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 2.4.2
5
+ EnabledByDefault: true
6
+
7
+ # Metrics
8
+
9
+ Metrics/LineLength:
10
+ Enabled: no
11
+
12
+ Metrics/MethodLength:
13
+ Enabled: no
14
+
15
+ Metrics/AbcSize:
16
+ Enabled: yes
17
+ Exclude:
18
+ - lib/rails_opentracer/middleware.rb
19
+
20
+ Metrics/PerceivedComplexity:
21
+ Enabled: yes
22
+ Exclude:
23
+ - lib/rails_opentracer/middleware.rb
24
+
25
+ # Rails
26
+
27
+ Rails/ApplicationRecord:
28
+ Enabled: no
29
+
30
+ # Style
31
+
32
+ Style/Copyright:
33
+ Enabled: no
34
+
35
+ Style/Documentation:
36
+ Enabled: no
37
+
38
+ Style/DocumentationMethod:
39
+ Enabled: no
40
+
41
+ Style/FrozenStringLiteralComment:
42
+ Enabled: no
43
+
44
+ Style/GlobalVars:
45
+ Enabled: yes
46
+ Exclude:
47
+ - lib/rails_opentracer.rb
48
+ - lib/rails_opentracer/middleware.rb
49
+
50
+ Style/HashSyntax:
51
+ Enabled: yes
52
+ Exclude:
53
+ - lib/rails_opentracer/span_helpers.rb
54
+
55
+ Style/MethodCallWithArgsParentheses:
56
+ Enabled: no
57
+
58
+ Style/MissingElse:
59
+ Enabled: no
60
+
61
+ Style/StringHashKeys:
62
+ Enabled: no
63
+
64
+
65
+
66
+ # Style/Copyright:
67
+ # Enabled: no
68
+ # Style/PercentLiteralDelimiters:
69
+ # Enabled: no
70
+
71
+ # Style/RedundantBegin:
72
+ # Exclude:
73
+ # - app/helpers/metrics_helper.rb
74
+
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in rails_opentracer.gemspec
6
6
  gemspec
data/Rakefile CHANGED
@@ -1,10 +1,10 @@
1
- require "bundler/gem_tasks"
2
- require "rake/testtask"
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
3
 
4
4
  Rake::TestTask.new(:test) do |t|
5
- t.libs << "test"
6
- t.libs << "lib"
7
- t.test_files = FileList["test/**/*_test.rb"]
5
+ t.libs << 'test'
6
+ t.libs << 'lib'
7
+ t.test_files = FileList['test/**/*_test.rb']
8
8
  end
9
9
 
10
- task :default => :test
10
+ task default: :test
data/bin/console CHANGED
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "rails_opentracer"
3
+ require 'bundler/setup'
4
+ require 'rails_opentracer'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
9
  # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
10
+ # require 'pry'
11
11
  # Pry.start
12
12
 
13
- require "irb"
13
+ require 'irb'
14
14
  IRB.start(__FILE__)
@@ -1,13 +1,14 @@
1
1
  module ActiveRecord
2
2
  module RailsOpentracer
3
- DEFAULT_OPERATION_NAME = "sql.query".freeze
3
+ DEFAULT_OPERATION_NAME = 'sql.query'.freeze
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|
9
- ActiveRecord::RailsOpentracer.sql(tracer: tracer, active_span: active_span, args: args)
10
- end
8
+ @subscriber =
9
+ ::ActiveSupport::Notifications.subscribe('sql.active_record') do |*args|
10
+ ActiveRecord::RailsOpentracer.sql(tracer: tracer, active_span: active_span, args: args)
11
+ end
11
12
 
12
13
  self
13
14
  end
@@ -20,17 +21,20 @@ module ActiveRecord
20
21
 
21
22
  self
22
23
  end
23
- alias :clear_subscribers :disable
24
+ alias clear_subscribers disable
24
25
 
25
26
  def sql(tracer: OpenTracing.global_tracer, active_span: nil, args:)
26
27
  _, start, finish, _, payload = *args
27
- span = start_span(payload.fetch(:name),
28
- tracer: tracer,
29
- active_span: active_span,
30
- start_time: start,
31
- sql: payload.fetch(:sql),
32
- cached: payload.fetch(:cached, false),
33
- connection_id: payload.fetch(:connection_id))
28
+ span =
29
+ start_span(
30
+ payload.fetch(:name),
31
+ tracer: tracer,
32
+ active_span: active_span,
33
+ start_time: start,
34
+ sql: payload.fetch(:sql),
35
+ cached: payload.fetch(:cached, false),
36
+ connection_id: payload.fetch(:connection_id)
37
+ )
34
38
 
35
39
  if payload[:exception]
36
40
  ::RailsOpentracer::SpanHelpers.set_error(span, payload[:exception_object] || payload[:exception])
@@ -39,24 +43,26 @@ module ActiveRecord
39
43
  span.finish(end_time: finish)
40
44
  end
41
45
 
42
-
43
- def start_span(operation_name, tracer: OpenTracing.global_tracer, active_span: nil, start_time: Time.now, **fields)
46
+ def start_span(operation_name, tracer: OpenTracing.global_tracer, active_span: nil, start_time: Time.now.utc, **fields)
44
47
  connection_config = ::ActiveRecord::Base.connection_config
45
48
 
46
- span = tracer.start_span(operation_name || DEFAULT_OPERATION_NAME,
47
- child_of: active_span.respond_to?(:call) ? active_span.call : active_span,
48
- start_time: start_time,
49
- tags: {
50
- 'component' => 'ActiveRecord',
51
- 'span.kind' => 'client',
52
- 'db.user' => connection_config.fetch(:username, 'unknown'),
53
- 'db.instance' => connection_config.fetch(:database),
54
- 'db.vendor' => connection_config.fetch(:adapter),
55
- 'db.connection_id' => fields.fetch(:connection_id, 'unknown'),
56
- 'db.cached' => fields.fetch(:cached, false),
57
- 'db.statement' => fields.fetch(:sql),
58
- 'db.type' => 'sql'
59
- })
49
+ span =
50
+ tracer.start_span(
51
+ operation_name || DEFAULT_OPERATION_NAME,
52
+ child_of: active_span.respond_to?(:call) ? active_span.call : active_span,
53
+ start_time: start_time,
54
+ tags: {
55
+ 'component' => 'ActiveRecord',
56
+ 'span.kind' => 'client',
57
+ 'db.user' => connection_config.fetch(:username, 'unknown'),
58
+ 'db.instance' => connection_config.fetch(:database),
59
+ 'db.vendor' => connection_config.fetch(:adapter),
60
+ 'db.connection_id' => fields.fetch(:connection_id, 'unknown'),
61
+ 'db.cached' => fields.fetch(:cached, false),
62
+ 'db.statement' => fields.fetch(:sql),
63
+ 'db.type' => 'sql'
64
+ }
65
+ )
60
66
  span
61
67
  end
62
68
  end
@@ -31,7 +31,8 @@ module RailsOpentracer
31
31
  else
32
32
  OpenTracing.start_span(span_name, child_of: extracted_ctx)
33
33
  end
34
- $active_span = span # yuck
34
+ # yuck
35
+ $active_span = span
35
36
  rescue StandardError => e
36
37
  Rails.logger.error "TRACER_ERROR: #{error_message(e)}"
37
38
  return @app.call(env)
@@ -43,13 +44,13 @@ module RailsOpentracer
43
44
  carrier = {}
44
45
  OpenTracing.inject(span.context, OpenTracing::FORMAT_RACK, carrier)
45
46
  span.finish
46
- [status, headers , response]
47
+ [status, headers, response]
47
48
  rescue StandardError => e
48
49
  Rails.logger.error "TRACER_ERROR: #{error_message(e)}"
49
50
  [status, headers, response]
50
51
  end
51
52
  else
52
- if ZipkinConfig.opentracer_enabled?
53
+ if ZipkinConfig.opentracer_enabled?
53
54
  Rails.logger.error 'TRACER_ERROR: `ZIPKIN_SERVICE_URL` environment variable is not defined'
54
55
  end
55
56
  return @app.call(env)
@@ -1,3 +1,3 @@
1
1
  module RailsOpentracer
2
- VERSION = "0.1.38"
2
+ VERSION = '0.1.39'.freeze
3
3
  end
@@ -1,7 +1,7 @@
1
1
  module RailsOpentracer
2
2
  class ZipkinConfig
3
3
  def self.opentracer_enabled?
4
- ENV['RAILS_OPENTRACER_ENABLED'] == 'yes'
4
+ ENV['RAILS_OPENTRACER_ENABLED'] == 'yes'
5
5
  end
6
6
 
7
7
  def self.opentracer_enabled_and_zipkin_url_present?
@@ -14,6 +14,6 @@ module RailsOpentracer
14
14
  else
15
15
  ENV['ZIPKIN_SERVICE_URL']
16
16
  end
17
- end
17
+ end
18
18
  end
19
19
  end
@@ -9,9 +9,10 @@ require 'zipkin'
9
9
 
10
10
  module RailsOpentracer
11
11
  def get(url)
12
- connection = Faraday.new do |con|
13
- con.use Faraday::Adapter::NetHttp
14
- end
12
+ connection =
13
+ Faraday.new do |con|
14
+ con.use Faraday::Adapter::NetHttp
15
+ end
15
16
  if ZipkinConfig.opentracer_enabled_and_zipkin_url_present?
16
17
  carrier = {}
17
18
  OpenTracing.inject(@span.context, OpenTracing::FORMAT_RACK, carrier)
@@ -23,7 +24,7 @@ module RailsOpentracer
23
24
  end
24
25
 
25
26
  def with_span(name)
26
- if ZipkinConfig.opentracer_enabled_and_zipkin_url_present?
27
+ if ZipkinConfig.opentracer_enabled_and_zipkin_url_present?
27
28
  @span =
28
29
  if $active_span.present?
29
30
  OpenTracing.start_span(name, child_of: $active_span)
@@ -32,13 +33,14 @@ module RailsOpentracer
32
33
  end
33
34
  yield if block_given?
34
35
  @span.finish
35
- else
36
- yield if block_given?
36
+ elsif block_given?
37
+ yield
37
38
  end
38
39
  end
39
40
 
40
41
  private
42
+
41
43
  def denilize(hash)
42
- hash.each { |k, _v| hash[k] = '' if hash[k].nil? }
44
+ hash.each_key { |k, _v| hash[k] = '' if hash[k].nil? }
43
45
  end
44
46
  end
@@ -1,44 +1,35 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "rails_opentracer/version"
3
+ require 'rails_opentracer/version'
5
4
 
6
5
  Gem::Specification.new do |spec|
7
- spec.name = "rails_opentracer"
6
+ spec.name = 'rails_opentracer'
8
7
  spec.version = RailsOpentracer::VERSION
9
- spec.authors = ["Nicholas Erasmus"]
10
- spec.email = ["nuclearnicdev@gmail.com"]
8
+ spec.authors = ['Nicholas Erasmus']
9
+ spec.email = ['nuclearnicdev@gmail.com']
11
10
 
12
- spec.summary = %q{Gem that auto-instruments application with OpenTracing}
11
+ spec.summary = %(Gem that auto-instruments application with OpenTracing)
13
12
  # spec.description = %q{TODO: Write a longer description or delete this line.}
14
- spec.homepage = "https://github.com/nuclearnic/rails_opentracer"
15
- spec.license = "MIT"
13
+ spec.homepage = 'https://github.com/nuclearnic/rails_opentracer'
14
+ spec.license = 'MIT'
16
15
 
17
- # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
- # to allow pushing to a single host or delete this section to allow pushing to any host.
19
- # if spec.respond_to?(:metadata)
20
- # spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
21
- # else
22
- # raise "RubyGems 2.0 or newer is required to protect against " \
23
- # "public gem pushes."
24
- # end
25
-
26
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
27
- f.match(%r{^(test|spec|features)/})
28
- end
29
- spec.bindir = "exe"
16
+ spec.files =
17
+ `git ls-files -z`.split("\x0").reject do |f|
18
+ f.match(%r{^(test|spec|features)/})
19
+ end
20
+ spec.bindir = 'exe'
30
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
- spec.require_paths = ["lib"]
22
+ spec.require_paths = ['lib']
32
23
 
33
- spec.add_dependency "faraday", "~> 0.13.1"
34
- spec.add_dependency "opentracing", "~> 0.3.1"
35
- spec.add_dependency "zipkin", "~> 0.4.2"
24
+ spec.add_dependency 'faraday', '~> 0.13.1'
25
+ spec.add_dependency 'opentracing', '~> 0.3.1'
26
+ spec.add_dependency 'zipkin', '~> 0.4.2'
36
27
 
37
- spec.add_development_dependency "rails"
38
- spec.add_development_dependency "pry"
39
- spec.add_development_dependency "sqlite3"
28
+ spec.add_development_dependency 'bundler', '~> 1.15'
40
29
  spec.add_development_dependency 'combustion', '~> 0.7.0'
41
- spec.add_development_dependency "bundler", "~> 1.15"
42
- spec.add_development_dependency "rake", "~> 10.0"
43
- spec.add_development_dependency "minitest", "~> 5.0"
30
+ spec.add_development_dependency 'minitest', '~> 5.0'
31
+ spec.add_development_dependency 'pry'
32
+ spec.add_development_dependency 'rails'
33
+ spec.add_development_dependency 'rake', '~> 10.0'
34
+ spec.add_development_dependency 'sqlite3'
44
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_opentracer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.38
4
+ version: 0.1.39
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholas Erasmus
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-02 00:00:00.000000000 Z
11
+ date: 2018-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -53,75 +53,75 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.4.2
55
55
  - !ruby/object:Gem::Dependency
56
- name: rails
56
+ name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '1.15'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '1.15'
69
69
  - !ruby/object:Gem::Dependency
70
- name: pry
70
+ name: combustion
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 0.7.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 0.7.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: sqlite3
84
+ name: minitest
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: '5.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: '5.0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: combustion
98
+ name: pry
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 0.7.0
103
+ version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 0.7.0
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: bundler
112
+ name: rails
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: '1.15'
117
+ version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '1.15'
124
+ version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rake
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -137,19 +137,19 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '10.0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: minitest
140
+ name: sqlite3
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - "~>"
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
- version: '5.0'
145
+ version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - "~>"
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
- version: '5.0'
152
+ version: '0'
153
153
  description:
154
154
  email:
155
155
  - nuclearnicdev@gmail.com
@@ -158,6 +158,7 @@ extensions: []
158
158
  extra_rdoc_files: []
159
159
  files:
160
160
  - ".gitignore"
161
+ - ".rubocop.yml"
161
162
  - ".travis.yml"
162
163
  - CODE_OF_CONDUCT.md
163
164
  - Gemfile
@@ -193,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
194
  version: '0'
194
195
  requirements: []
195
196
  rubyforge_project:
196
- rubygems_version: 2.4.8
197
+ rubygems_version: 2.6.14
197
198
  signing_key:
198
199
  specification_version: 4
199
200
  summary: Gem that auto-instruments application with OpenTracing