jcw 0.3.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c1f8f9b595186e86f086290543b8b4ea880a174dab1e1a94d11f8afd151479b8
4
- data.tar.gz: 209f2ff14d28cd1a7ca7d586c17c53e8505ce170f23d81f5b5de42a4f6544f29
3
+ metadata.gz: e00135bfb0c4ff7729b1bb55832330e2b8f0067c73817ff1bc1d7a3cde8eb75a
4
+ data.tar.gz: cb0263489ee5f323e4e5e5a42325e816cbb7d40956d44875d736067c0f540777
5
5
  SHA512:
6
- metadata.gz: ad26e8445a04470d780aa4a4aed1f4aa50653b1db80b55cd24238fc95dde6c17d1e94e33924706c766885e957633f55ed47e50365f17cecff79b5ab3766299c9
7
- data.tar.gz: d4b076df8cdcfdf35a0a31998ad7d248ce77c7dca6f6c3b6291e4d4b90b424b66c89678ac16188b1a3f5cca62a48428eec555bd6954f35c95ad228de68dcb980
6
+ metadata.gz: 7684aab1ff2bb775229815d3b2193a5c8b29ce66db3926aacebfc662e51f24de12e89362d437f8c16c0d8c02609df277c9a48b5de81f6f7138b8fbc07aa4ca2f
7
+ data.tar.gz: 8803e256d525bd6d63b7b74eb8bec03023dde7878d5da16e96dd1e45f17e6eff656b637baac692c17b31ea6f873987bcd42888cf7d8b7040fe1e18933ca3038f
@@ -41,7 +41,7 @@ jobs:
41
41
  strategy:
42
42
  fail-fast: false
43
43
  matrix:
44
- ruby: [2.6, 2.7, 2.7.4, 3.0.0, 3.0.1, 3.0.2, 3.1.0]
44
+ ruby: [2.7, 2.7.6, 3.0, 3.0.2, 3.1, 3.1.2]
45
45
  experimental: [false]
46
46
 
47
47
  steps:
data/.rubocop.yml CHANGED
@@ -3,7 +3,7 @@ inherit_gem:
3
3
 
4
4
  AllCops:
5
5
  DisplayCopNames: true
6
- TargetRubyVersion: 2.6
6
+ TargetRubyVersion: 2.7
7
7
 
8
8
  RSpec/EmptyLineAfterHook:
9
9
  Enabled: false
data/Gemfile.lock CHANGED
@@ -1,51 +1,49 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jcw (0.3.0)
5
- activesupport (>= 5.0, < 7.0.0)
6
- gruf (~> 2.10)
4
+ jcw (0.5.1)
5
+ activesupport (>= 5.0)
7
6
  httprb-opentracing (~> 0.4.0)
8
- jaeger-client (~> 1.1.0)
7
+ jaeger-client (~> 1.3.0)
9
8
 
10
9
  GEM
11
10
  remote: https://rubygems.org/
12
11
  specs:
13
- actionpack (6.1.6.1)
14
- actionview (= 6.1.6.1)
15
- activesupport (= 6.1.6.1)
16
- rack (~> 2.0, >= 2.0.9)
12
+ actionpack (7.0.3.1)
13
+ actionview (= 7.0.3.1)
14
+ activesupport (= 7.0.3.1)
15
+ rack (~> 2.0, >= 2.2.0)
17
16
  rack-test (>= 0.6.3)
18
17
  rails-dom-testing (~> 2.0)
19
18
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
20
- actionview (6.1.6.1)
21
- activesupport (= 6.1.6.1)
19
+ actionview (7.0.3.1)
20
+ activesupport (= 7.0.3.1)
22
21
  builder (~> 3.1)
23
22
  erubi (~> 1.4)
24
23
  rails-dom-testing (~> 2.0)
25
24
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
26
- activesupport (6.1.6.1)
25
+ activesupport (7.0.3.1)
27
26
  concurrent-ruby (~> 1.0, >= 1.0.2)
28
27
  i18n (>= 1.6, < 2)
29
28
  minitest (>= 5.1)
30
29
  tzinfo (~> 2.0)
31
- zeitwerk (~> 2.3)
32
30
  addressable (2.8.0)
33
31
  public_suffix (>= 2.0.2, < 5.0)
34
32
  ast (2.4.2)
35
33
  builder (3.2.4)
36
- bundler-audit (0.9.0.1)
34
+ bundler-audit (0.9.1)
37
35
  bundler (>= 1.2.0, < 3)
38
36
  thor (~> 1.0)
39
37
  coderay (1.1.3)
40
38
  concurrent-ruby (1.1.10)
41
39
  crass (1.0.6)
42
- diff-lcs (1.4.4)
40
+ diff-lcs (1.5.0)
43
41
  docile (1.4.0)
44
42
  domain_name (0.5.20190701)
45
43
  unf (>= 0.0.5, < 1.0.0)
46
44
  e2mmap (0.1.0)
47
45
  erubi (1.10.0)
48
- ffi (1.15.4)
46
+ ffi (1.15.5)
49
47
  ffi-compiler (1.0.1)
50
48
  ffi (>= 1.0.0)
51
49
  rake
@@ -74,12 +72,12 @@ GEM
74
72
  slop (>= 4.6)
75
73
  thwait (>= 0.1)
76
74
  zeitwerk (>= 2)
77
- http (5.0.4)
75
+ http (5.1.0)
78
76
  addressable (~> 2.8)
79
77
  http-cookie (~> 1.0)
80
78
  http-form_data (~> 2.2)
81
79
  llhttp-ffi (~> 0.4.0)
82
- http-cookie (1.0.4)
80
+ http-cookie (1.0.5)
83
81
  domain_name (~> 0.5)
84
82
  http-form_data (2.3.0)
85
83
  http-parser (1.2.3)
@@ -88,7 +86,7 @@ GEM
88
86
  opentracing (~> 0.5.0)
89
87
  i18n (1.12.0)
90
88
  concurrent-ruby (~> 1.0)
91
- jaeger-client (1.1.0)
89
+ jaeger-client (1.3.0)
92
90
  opentracing (~> 0.3)
93
91
  thrift
94
92
  json (2.6.2)
@@ -117,7 +115,7 @@ GEM
117
115
  pry (0.14.1)
118
116
  coderay (~> 1.1)
119
117
  method_source (~> 1.0)
120
- public_suffix (4.0.6)
118
+ public_suffix (4.0.7)
121
119
  racc (1.6.0)
122
120
  rack (2.2.4)
123
121
  rack-test (2.0.2)
@@ -127,29 +125,30 @@ GEM
127
125
  nokogiri (>= 1.6)
128
126
  rails-html-sanitizer (1.4.3)
129
127
  loofah (~> 2.3)
130
- railties (6.1.6.1)
131
- actionpack (= 6.1.6.1)
132
- activesupport (= 6.1.6.1)
128
+ railties (7.0.3.1)
129
+ actionpack (= 7.0.3.1)
130
+ activesupport (= 7.0.3.1)
133
131
  method_source
134
132
  rake (>= 12.2)
135
133
  thor (~> 1.0)
134
+ zeitwerk (~> 2.5)
136
135
  rainbow (3.1.1)
137
136
  rake (13.0.6)
138
137
  regexp_parser (2.5.0)
139
138
  rexml (3.2.5)
140
- rspec (3.10.0)
141
- rspec-core (~> 3.10.0)
142
- rspec-expectations (~> 3.10.0)
143
- rspec-mocks (~> 3.10.0)
144
- rspec-core (3.10.1)
145
- rspec-support (~> 3.10.0)
146
- rspec-expectations (3.10.1)
139
+ rspec (3.11.0)
140
+ rspec-core (~> 3.11.0)
141
+ rspec-expectations (~> 3.11.0)
142
+ rspec-mocks (~> 3.11.0)
143
+ rspec-core (3.11.0)
144
+ rspec-support (~> 3.11.0)
145
+ rspec-expectations (3.11.0)
147
146
  diff-lcs (>= 1.2.0, < 2.0)
148
- rspec-support (~> 3.10.0)
149
- rspec-mocks (3.10.2)
147
+ rspec-support (~> 3.11.0)
148
+ rspec-mocks (3.11.1)
150
149
  diff-lcs (>= 1.2.0, < 2.0)
151
- rspec-support (~> 3.10.0)
152
- rspec-support (3.10.3)
150
+ rspec-support (~> 3.11.0)
151
+ rspec-support (3.11.0)
153
152
  rubocop (1.30.1)
154
153
  parallel (~> 1.10)
155
154
  parser (>= 3.1.0.0)
@@ -188,7 +187,7 @@ GEM
188
187
  simplecov_json_formatter (~> 0.1)
189
188
  simplecov-html (0.12.3)
190
189
  simplecov-lcov (0.8.0)
191
- simplecov_json_formatter (0.1.3)
190
+ simplecov_json_formatter (0.1.4)
192
191
  slop (4.9.2)
193
192
  thor (1.2.1)
194
193
  thrift (0.16.0)
@@ -198,7 +197,7 @@ GEM
198
197
  concurrent-ruby (~> 1.0)
199
198
  unf (0.1.4)
200
199
  unf_ext
201
- unf_ext (0.0.8)
200
+ unf_ext (0.0.8.2)
202
201
  unicode-display_width (2.2.0)
203
202
  zeitwerk (2.6.0)
204
203
 
@@ -210,6 +209,7 @@ PLATFORMS
210
209
  DEPENDENCIES
211
210
  bundler
212
211
  bundler-audit
212
+ gruf
213
213
  http
214
214
  http-parser
215
215
  jcw!
@@ -223,4 +223,4 @@ DEPENDENCIES
223
223
  simplecov-lcov
224
224
 
225
225
  BUNDLED WITH
226
- 2.2.31
226
+ 2.3.18
data/README.md CHANGED
@@ -43,6 +43,7 @@ UDP Sender(default):
43
43
  custom_tag: "custom-tag-value",
44
44
  }
45
45
  config.rack_ignore_path_patterns = ["/api/test", %r{/sidekiq}]
46
+ config.logger = Logger.new($stdout)
46
47
  end
47
48
 
48
49
  # Set middleware for wrapping all requests
@@ -61,6 +62,7 @@ TCP Sender:
61
62
  custom_tag: "custom-tag-value",
62
63
  }
63
64
  config.rack_ignore_path_patterns = ["/api/test", %r{/sidekiq}]
65
+ config.logger = Logger.new($stdout)
64
66
  end
65
67
 
66
68
  # Set middleware for wrapping all requests
data/jcw.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  spec.description = "Wrapper for the gem 'jaeger-client' with simpler customization."
13
13
  spec.homepage = "https://github.com/Cado-Labs/jcw"
14
14
  spec.license = "MIT"
15
- spec.required_ruby_version = Gem::Requirement.new(">= 2.6.0")
15
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
16
16
 
17
17
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
18
18
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
@@ -22,13 +22,13 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
- spec.add_dependency "activesupport", ">= 5.0", "< 7.0.0"
26
- spec.add_dependency "gruf", "~> 2.10"
25
+ spec.add_dependency "activesupport", ">= 5.0"
27
26
  spec.add_dependency "httprb-opentracing", "~> 0.4.0"
28
- spec.add_dependency "jaeger-client", "~> 1.1.0"
27
+ spec.add_dependency "jaeger-client", "~> 1.3.0"
29
28
 
30
29
  spec.add_development_dependency "bundler"
31
30
  spec.add_development_dependency "bundler-audit"
31
+ spec.add_development_dependency "gruf"
32
32
  spec.add_development_dependency "http"
33
33
  spec.add_development_dependency "http-parser"
34
34
  spec.add_development_dependency "opentracing_test_tracer"
data/lib/jcw/config.rb CHANGED
@@ -9,7 +9,8 @@ module JCW
9
9
  :flush_interval,
10
10
  :tags,
11
11
  :grpc_ignore_methods,
12
- :rack_ignore_path_patterns
12
+ :rack_ignore_path_patterns,
13
+ :logger
13
14
 
14
15
  def enabled
15
16
  @enabled ||= false
@@ -44,5 +45,9 @@ module JCW
44
45
  def rack_ignore_path_patterns
45
46
  @rack_ignore_path_patterns ||= []
46
47
  end
48
+
49
+ def logger
50
+ @logger ||= ::Logger.new($stdout)
51
+ end
47
52
  end
48
53
  end
data/lib/jcw/init.rb CHANGED
@@ -34,6 +34,7 @@ module JCW
34
34
  encoder: Jaeger::Encoders::ThriftEncoder.new(
35
35
  service_name: config.service_name,
36
36
  tags: config.tags,
37
+ logger: config.logger,
37
38
  ),
38
39
  ),
39
40
  flush_interval: config.flush_interval,
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "gruf"
4
-
5
3
  module JCW
6
4
  module Interceptors
7
5
  module Gruf
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "gruf"
4
-
5
3
  module JCW
6
4
  module Interceptors
7
5
  module Gruf
@@ -23,12 +23,10 @@ module JCW
23
23
  # we should only mutate the copy of the payload
24
24
  payload = payload.dup
25
25
  IGNORED_PAYLOAD_KEYS.each { |key| payload.delete(key) if payload.key?(key) }
26
- else
27
- payload = { payload: payload }
28
26
  end
29
- payload[:duration] = duration
30
27
 
31
- span.log_kv(message: name, context: JSON.dump(payload))
28
+ duration = format("%0.3fms", duration * 1000)
29
+ span.log_kv(message: name, context: JSON.dump(payload), duration: duration)
32
30
  end
33
31
  end
34
32
  end
data/lib/jcw/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JCW
4
- VERSION = "0.3.0"
4
+ VERSION = "0.5.1"
5
5
  end
data/lib/jcw/wrapper.rb CHANGED
@@ -21,8 +21,14 @@ require_relative "init"
21
21
  require_relative "subscriber"
22
22
  require_relative "http_tracer"
23
23
  require_relative "rack_tracer"
24
- require_relative "interceptors/gruf/client"
25
- require_relative "interceptors/gruf/server"
26
- require_relative "interceptors/gruf/hpack"
27
24
  require_relative "logger"
28
25
  require_relative "logger_extension"
26
+
27
+ begin
28
+ require "gruf"
29
+
30
+ require_relative "interceptors/gruf/client"
31
+ require_relative "interceptors/gruf/server"
32
+ require_relative "interceptors/gruf/hpack"
33
+ rescue LoadError
34
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jcw
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Starovojtov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-25 00:00:00.000000000 Z
11
+ date: 2022-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -17,9 +17,6 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '5.0'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: 7.0.0
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
@@ -27,53 +24,50 @@ dependencies:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '5.0'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: 7.0.0
33
27
  - !ruby/object:Gem::Dependency
34
- name: gruf
28
+ name: httprb-opentracing
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - "~>"
38
32
  - !ruby/object:Gem::Version
39
- version: '2.10'
33
+ version: 0.4.0
40
34
  type: :runtime
41
35
  prerelease: false
42
36
  version_requirements: !ruby/object:Gem::Requirement
43
37
  requirements:
44
38
  - - "~>"
45
39
  - !ruby/object:Gem::Version
46
- version: '2.10'
40
+ version: 0.4.0
47
41
  - !ruby/object:Gem::Dependency
48
- name: httprb-opentracing
42
+ name: jaeger-client
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
45
  - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: 0.4.0
47
+ version: 1.3.0
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
51
  requirements:
58
52
  - - "~>"
59
53
  - !ruby/object:Gem::Version
60
- version: 0.4.0
54
+ version: 1.3.0
61
55
  - !ruby/object:Gem::Dependency
62
- name: jaeger-client
56
+ name: bundler
63
57
  requirement: !ruby/object:Gem::Requirement
64
58
  requirements:
65
- - - "~>"
59
+ - - ">="
66
60
  - !ruby/object:Gem::Version
67
- version: 1.1.0
68
- type: :runtime
61
+ version: '0'
62
+ type: :development
69
63
  prerelease: false
70
64
  version_requirements: !ruby/object:Gem::Requirement
71
65
  requirements:
72
- - - "~>"
66
+ - - ">="
73
67
  - !ruby/object:Gem::Version
74
- version: 1.1.0
68
+ version: '0'
75
69
  - !ruby/object:Gem::Dependency
76
- name: bundler
70
+ name: bundler-audit
77
71
  requirement: !ruby/object:Gem::Requirement
78
72
  requirements:
79
73
  - - ">="
@@ -87,7 +81,7 @@ dependencies:
87
81
  - !ruby/object:Gem::Version
88
82
  version: '0'
89
83
  - !ruby/object:Gem::Dependency
90
- name: bundler-audit
84
+ name: gruf
91
85
  requirement: !ruby/object:Gem::Requirement
92
86
  requirements:
93
87
  - - ">="
@@ -286,7 +280,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
286
280
  requirements:
287
281
  - - ">="
288
282
  - !ruby/object:Gem::Version
289
- version: 2.6.0
283
+ version: 2.7.0
290
284
  required_rubygems_version: !ruby/object:Gem::Requirement
291
285
  requirements:
292
286
  - - ">="