mnemosyne-ruby 1.12.1 → 1.14.0

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: cb369932a8e227ce09b8b81c54742d03b7a1c699bd73edc02557723b85e5b97e
4
- data.tar.gz: 419342c6956721af9a0b7577df4cc52aae25ac054b8235f81c3dfa07a4f1d197
3
+ metadata.gz: 8a1ccbc2b8a4f823ec3a848242e53f7b2a4fbd9001de8dda44a70011a90e8bbc
4
+ data.tar.gz: 58ee31014f79ca2a7c36f7d19625f2e8c81f1298276733ed37aa5296a420064e
5
5
  SHA512:
6
- metadata.gz: 27df876e1705c20593a1aa424ac1e5eb86511f82f4aa092adeed6616f185aabd9f33942f9d7b35479516d223c20efcc4d47c27f60e9de37cba410050d97a3abf
7
- data.tar.gz: 97c48433208e74ac9ad36657d0fd632d6588c9e20dc0a942ceac2e58f72f3d904047395527b550f175ed32ab965ddd1978223bcea9c33a2176ddd5d8b31277f7
6
+ metadata.gz: b9ec274a32fb1dfe5e9083b252246ff32a670de630d53f2bdb74e162d354d8b1fe314fe9a946fd70e70c309bfb7c7c1936d082460148102e8bde87d8c96158c2
7
+ data.tar.gz: 9fffad92d4957da1df5b6a7fe725bf728404716d349db348f85dff77c52730de4a8fcafb750f98d234c0cf90031a804da9a29ab7ebd928d7a84480e0cea6069f
@@ -8,15 +8,17 @@ jobs:
8
8
  name: rubocop
9
9
  runs-on: ubuntu-20.04
10
10
 
11
+ env:
12
+ BUNDLE_WITHOUT: development test
13
+
11
14
  steps:
12
15
  - uses: actions/checkout@master
13
16
  - uses: ruby/setup-ruby@v1
14
17
  env:
15
18
  BUNDLE_JOBS: 4
16
19
  BUNDLE_RETRY: 3
17
- BUNDLE_WITHOUT: development,test
18
20
  with:
19
- ruby-version: 3.0
21
+ ruby-version: 3.1
20
22
  bundler-cache: true
21
23
 
22
24
  - name: Run rubocop
@@ -12,21 +12,20 @@ jobs:
12
12
  fail-fast: false
13
13
  matrix:
14
14
  ruby:
15
+ - "3.2"
16
+ - "3.1"
15
17
  - "3.0"
16
18
  - "2.7"
17
- - "2.6"
18
- - "2.5"
19
19
  suite:
20
20
  - core
21
21
  - faraday-0.9
22
22
  - faraday-1.0
23
23
  - msgr
24
24
  - rack
25
- - rails-5.0
26
- - rails-5.1
27
25
  - rails-5.2
28
26
  - rails-6.0
29
27
  - rails-6.1
28
+ - rails-7.0
30
29
  - redis-4.0
31
30
  - restify
32
31
  - sidekiq-5
@@ -34,6 +33,7 @@ jobs:
34
33
  include:
35
34
  - suite: core
36
35
  spec: --tag ~probe
36
+ gemfile: gemfiles/core.gemfile
37
37
  - suite: faraday-0.9
38
38
  spec: --tag probe:faraday
39
39
  gemfile: gemfiles/faraday_09.gemfile
@@ -42,14 +42,10 @@ jobs:
42
42
  gemfile: gemfiles/faraday_10.gemfile
43
43
  - suite: msgr
44
44
  spec: --tag probe:msgr
45
+ gemfile: gemfiles/core.gemfile
45
46
  - suite: rack
46
47
  spec: --tag probe:rack
47
- - suite: rails-5.0
48
- spec: --tag probe:rails --tag ~probe
49
- gemfile: gemfiles/rails_50.gemfile
50
- - suite: rails-5.1
51
- spec: --tag probe:rails --tag ~probe
52
- gemfile: gemfiles/rails_51.gemfile
48
+ gemfile: gemfiles/core.gemfile
53
49
  - suite: rails-5.2
54
50
  spec: --tag probe:rails --tag ~probe
55
51
  gemfile: gemfiles/rails_52.gemfile
@@ -59,11 +55,15 @@ jobs:
59
55
  - suite: rails-6.1
60
56
  spec: --tag probe:rails --tag ~probe
61
57
  gemfile: gemfiles/rails_61.gemfile
58
+ - suite: rails-7.0
59
+ spec: --tag probe:rails --tag ~probe
60
+ gemfile: gemfiles/rails_70.gemfile
62
61
  - suite: redis-4.0
63
62
  spec: --tag probe:redis
64
63
  gemfile: gemfiles/redis_40.gemfile
65
64
  - suite: restify
66
65
  spec: --tag probe:restify
66
+ gemfile: gemfiles/core.gemfile
67
67
  - suite: sidekiq-5
68
68
  spec: --tag probe:sidekiq
69
69
  gemfile: gemfiles/sidekiq_50.gemfile
@@ -71,15 +71,16 @@ jobs:
71
71
  spec: --tag probe:sidekiq
72
72
  gemfile: gemfiles/sidekiq_60.gemfile
73
73
  exclude:
74
- - suite: rails-5.0
75
- ruby: 3.0
76
- - suite: rails-5.1
77
- ruby: 3.0
78
74
  - suite: rails-5.2
79
- ruby: 3.0
75
+ ruby: '3.2'
76
+ - suite: rails-5.2
77
+ ruby: '3.1'
78
+ - suite: rails-5.2
79
+ ruby: '3.0'
80
80
 
81
81
  env:
82
82
  BUNDLE_GEMFILE: ${{ matrix.gemfile }}
83
+ BUNDLE_WITHOUT: development
83
84
 
84
85
  services:
85
86
  rabbitmq:
@@ -93,7 +94,6 @@ jobs:
93
94
  env:
94
95
  BUNDLE_JOBS: 4
95
96
  BUNDLE_RETRY: 3
96
- BUNDLE_WITHOUT: development,test
97
97
  with:
98
98
  ruby-version: ${{ matrix.ruby }}
99
99
  bundler-cache: true
data/.markdownlint.yml ADDED
@@ -0,0 +1,22 @@
1
+ # markdownlint config
2
+
3
+ # The CHANGELOG contains duplicated headers by design
4
+ MD024: false
5
+
6
+ # MD013/line-length: disable line length for all. We prefer lines as
7
+ # long as paragraph with in-editor line breaks.
8
+ MD013: false
9
+
10
+ # MD033/no-inline-html: allow often need tags
11
+ MD033:
12
+ allowed_elements:
13
+ - figure
14
+ - figcaption
15
+
16
+ # MD046/code-block-style: code block style conflicting with
17
+ # admonitions...
18
+ MD046: false
19
+
20
+ # MD048/code-fence-style: code fence style
21
+ MD048:
22
+ style: backtick
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.5
2
+ TargetRubyVersion: 2.7
3
3
  Exclude:
4
4
  - 'vendor/**/*'
5
5
  - 'gemfiles/**/*'
@@ -0,0 +1 @@
1
+ Changelog
data/Appraisals CHANGED
@@ -1,18 +1,37 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ appraise 'core' do
4
+ remove_gem 'rubocop'
5
+ end
6
+
3
7
  appraise 'faraday-09' do
8
+ remove_gem 'rubocop'
9
+
4
10
  group :test do
5
11
  gem 'faraday', '~> 0.9'
6
12
  end
7
13
  end
8
14
 
9
15
  appraise 'faraday-10' do
16
+ remove_gem 'rubocop'
17
+
10
18
  group :test do
11
19
  gem 'faraday', '~> 1.0'
12
20
  end
13
21
  end
14
22
 
23
+ appraise 'rails-70' do
24
+ remove_gem 'rubocop'
25
+
26
+ group :test do
27
+ gem 'rails', '~> 7.0.0'
28
+ gem 'sqlite3', '~> 1.4'
29
+ end
30
+ end
31
+
15
32
  appraise 'rails-61' do
33
+ remove_gem 'rubocop'
34
+
16
35
  group :test do
17
36
  gem 'rails', '~> 6.1.0'
18
37
  gem 'sqlite3', '~> 1.4'
@@ -20,6 +39,8 @@ appraise 'rails-61' do
20
39
  end
21
40
 
22
41
  appraise 'rails-60' do
42
+ remove_gem 'rubocop'
43
+
23
44
  group :test do
24
45
  gem 'rails', '~> 6.0.0'
25
46
  gem 'sqlite3', '~> 1.4'
@@ -27,6 +48,8 @@ appraise 'rails-60' do
27
48
  end
28
49
 
29
50
  appraise 'rails-52' do
51
+ remove_gem 'rubocop'
52
+
30
53
  group :test do
31
54
  gem 'rails', '~> 5.2.0'
32
55
  gem 'sqlite3', '~> 1.4'
@@ -34,6 +57,8 @@ appraise 'rails-52' do
34
57
  end
35
58
 
36
59
  appraise 'rails-51' do
60
+ remove_gem 'rubocop'
61
+
37
62
  group :test do
38
63
  gem 'rails', '~> 5.1.0'
39
64
  gem 'sqlite3', '~> 1.4'
@@ -41,6 +66,8 @@ appraise 'rails-51' do
41
66
  end
42
67
 
43
68
  appraise 'rails-50' do
69
+ remove_gem 'rubocop'
70
+
44
71
  group :test do
45
72
  gem 'rails', '~> 5.0.0'
46
73
  gem 'sqlite3', '~> 1.3.6'
@@ -48,18 +75,24 @@ appraise 'rails-50' do
48
75
  end
49
76
 
50
77
  appraise 'redis-40' do
78
+ remove_gem 'rubocop'
79
+
51
80
  group :test do
52
81
  gem 'redis', '~> 4.0'
53
82
  end
54
83
  end
55
84
 
56
85
  appraise 'sidekiq-50' do
86
+ remove_gem 'rubocop'
87
+
57
88
  group :test do
58
89
  gem 'sidekiq', '~> 5.0'
59
90
  end
60
91
  end
61
92
 
62
93
  appraise 'sidekiq-60' do
94
+ remove_gem 'rubocop'
95
+
63
96
  group :test do
64
97
  gem 'sidekiq', '~> 6.0'
65
98
  end
data/CHANGELOG.md CHANGED
@@ -1,95 +1,164 @@
1
1
  # Changelog
2
+
2
3
  All notable changes to this project will be documented in this file.
3
4
 
4
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
6
 
6
- ## [Unreleased]
7
+ ## Unreleased
8
+
9
+ ---
10
+
11
+ ### New
12
+
13
+ ### Changes
14
+
15
+ ### Fixes
16
+
17
+ ### Breaks
18
+
19
+ ## [1.14.0] - (2023-07-31)
20
+
21
+ ### New
22
+
23
+ - Tests with Ruby 3.2
24
+
25
+ ### Changed
26
+
27
+ - Replace reprecated `!render.view_component` hook with `render.view_component`
28
+ - Removed tests for Rails 5.0 and 5.1
29
+
30
+ ## [1.13.0] - 2022-04-14
31
+
32
+ ### Added
33
+
34
+ - Support for `view_component` gem (#42)
35
+ - Support for Ruby 3.1 and Rails 7.0 (formally)
7
36
 
8
37
  ## [1.12.1] - 2022-03-21
38
+
9
39
  ### Added
40
+
10
41
  - More commands whitelisted in Redis span metadata (#44)
11
42
 
12
43
  ## [1.12.0] - 2021-08-24
44
+
13
45
  ### Added
46
+
14
47
  - Support for `redis` gem (#34)
15
48
 
16
49
  ### Removed
50
+
17
51
  - Support for Ruby 2.4 (hard gem requirement)
18
52
 
19
53
  ## [1.11.0] - 2020-12-18
54
+
20
55
  ### Removed
56
+
21
57
  - Support for Ruby 2.4 and Rails 4.2
22
58
 
23
59
  ### Fixed
60
+
24
61
  - Deprecation warnings due to block capture and keyword arguments
25
62
 
26
63
  ## [1.10.0] - 2020-03-05
64
+
27
65
  ### Added
66
+
28
67
  - Support for Faraday 1.0
29
68
 
30
69
  ## [1.9.0] - 2019-12-17
70
+
31
71
  ### Fixed
32
- - [Rack] Fix exceptions raised on trace submit corrupting the response
72
+
73
+ - \[Rack] Fix exceptions raised on trace submit corrupting the response
33
74
 
34
75
  ### Added
76
+
35
77
  - Rack: Collect redirect locations (#14)
36
78
 
37
79
  ## [1.8.0] - 2019-10-25
80
+
38
81
  ### Added
82
+
39
83
  - Improve compatibility with Rails 6.0
40
84
 
41
85
  ## [1.7.1] - 2019-06-15
86
+
42
87
  ### Fixed
88
+
43
89
  - Reworked Faraday probe to not override connection middleware stack
44
90
 
45
91
  ## [1.7.0] - 2019-05-21
92
+
46
93
  ### Added
94
+
47
95
  - Restify probe: Attach HTTP response status (#12, #13)
48
96
 
49
97
  ## [1.6.2] - 2019-05-16
98
+
50
99
  ### Fixed
100
+
51
101
  - The Faraday probe dropped Faraday's default request encoder
52
102
 
53
103
  ## [1.6.1] - 2019-05-14
104
+
54
105
  ### Fixed
106
+
55
107
  - Fix release pipeline; no code changed
56
108
 
57
109
  ## [1.6.0] - 2019-05-14
110
+
58
111
  ### Added
112
+
59
113
  - Add faraday probe (#11)
60
114
 
61
115
  ## [1.5.1] - 2019-05-14
116
+
62
117
  ### Fixed
118
+
63
119
  - Avoid using internal AMQP constant: Fix compat with amq-protocol 2.3+
64
120
 
65
121
  ## [1.5.0] - 2019-05-14
122
+
66
123
  ### Added
124
+
67
125
  - Add ActiveJob perform probe
68
126
 
69
127
  ### Changed
128
+
70
129
  - Capture endpoint names for grape web requests
71
130
  - `attach_error` accepts errors without backtraces and string messages
72
131
 
73
132
  ## [1.4.0] - 2019-05-14
133
+
74
134
  ### Added
135
+
75
136
  - Add global `#attach_error` for manual error reporting
76
137
 
77
138
  ## [1.3.0] - 2019-05-14
139
+
78
140
  ### Added
141
+
79
142
  - Add exception serialization to trace and protocol
80
143
  - Add exception reporting to Sidekiq, Msgr, Rack and Rails
81
144
 
82
145
  ## [1.2.1] - 2019-05-14
146
+
83
147
  ### Changed
148
+
84
149
  - Improve AMQP connection recovery
85
150
  - Fix dynamic probe loading
86
151
 
87
152
  ## [1.2.0] - 2019-05-14
153
+
88
154
  ### Added
155
+
89
156
  - Collect response metadata in rack instrumentation
90
157
 
91
158
  ## [1.1.0] - 2019-05-14
159
+
92
160
  ### Added
161
+
93
162
  - Add metadata to rack instrumentation
94
163
  - Add msgr server & client instrumentation
95
164
  - Add sidekiq client instrumentation
@@ -97,26 +166,35 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
97
166
  - Add acfs request parameter tracing
98
167
 
99
168
  ## [1.0.1] - 2019-05-14
169
+
100
170
  ### Fixed
171
+
101
172
  - Fix issue with `enabled` configuration flag (#1)
102
173
 
103
174
  ## [1.0.0] - 2019-05-14
175
+
104
176
  ### Fixed
177
+
105
178
  - Fix issue with acfs middleware on non-tracing contexts
106
179
 
107
180
  ### Changed
181
+
108
182
  - Simplify restify probe to only extend base adapter
109
183
  - Remove FQDN lookup as it failed on missing RDNS
110
184
 
111
185
  ## 0.2.0 - 2019-05-14
186
+
112
187
  ### Changed
188
+
113
189
  - Rename gem to mnemosyne-ruby due to name conflict
114
190
 
115
191
  ### Added
192
+
116
193
  - Add platform identifier
117
194
 
118
- [Unreleased]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.12.1...HEAD
119
- [1.12.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.12.0...v1.12.1
195
+ [1.14.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.14.0...v1.13.0
196
+ [1.13.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.13.0...v1.12.1
197
+ [1.12.1]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.12.1...v1.12.0
120
198
  [1.12.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.10.0...v1.12.0
121
199
  [1.11.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.10.0...v1.11.0
122
200
  [1.10.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.9.0...v1.10.0
data/Gemfile CHANGED
@@ -6,11 +6,12 @@ source 'https://rubygems.org'
6
6
  gemspec
7
7
 
8
8
  gem 'rake', '~> 13.0'
9
- gem 'rspec', '~> 3.6'
10
- gem 'rubocop', '~> 1.26.0'
11
- gem 'timecop', '~> 0.9.1'
9
+ gem 'rubocop', '~> 1.54.0'
12
10
 
13
11
  group :test do
12
+ gem 'rspec', '~> 3.6'
13
+ gem 'timecop', '~> 0.9.1'
14
+
14
15
  gem 'faraday'
15
16
  gem 'msgr'
16
17
  gem 'rails'
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  The ruby client plugin for the Mnemosyne monitoring system. It extracts full application traces including cross-application requests for distributed applications (services etc.).
4
4
 
5
- Currently supported probes:
5
+ Supported probes:
6
6
 
7
7
  * Acfs: Remote calls including tracing middleware
8
8
  * ActionController: Processing actions and rendering
@@ -14,23 +14,16 @@ Currently supported probes:
14
14
  * Restify: Remote calls including tracing middleware
15
15
  * Sidekiq: Client and server tracing
16
16
  * Rack: Middleware for request tracing
17
+ * ViewComponent: Component rendering (needs [additional configuration](https://viewcomponent.org/guide/instrumentation.html))
17
18
 
18
19
  ## Installation
19
20
 
20
- Add this line to your application's Gemfile:
21
+ Add this line to your Gemfile:
21
22
 
22
23
  ```ruby
23
24
  gem 'mnemosyne-ruby', '~> 1.0'
24
25
  ```
25
26
 
26
- And then execute:
27
-
28
- $ bundle
29
-
30
- Or install it yourself as:
31
-
32
- $ gem install mnemosyne
33
-
34
27
  Note: Removing support for ancient Ruby or Rails versions will not result in a new major. Please be extra careful when using ancient Ruby or Rails versions and updating gems.
35
28
 
36
29
  ## Usage
@@ -40,4 +33,3 @@ TODO
40
33
  ## License
41
34
 
42
35
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
43
-
@@ -3,18 +3,17 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake", "~> 13.0"
6
- gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 1.19.0"
8
- gem "timecop", "~> 0.9.1"
9
6
 
10
7
  group :test do
8
+ gem "rspec", "~> 3.6"
9
+ gem "timecop", "~> 0.9.1"
11
10
  gem "faraday"
12
11
  gem "msgr"
13
- gem "rails", "~> 5.0.0"
12
+ gem "rails"
14
13
  gem "redis"
15
14
  gem "restify"
16
15
  gem "sidekiq"
17
- gem "sqlite3", "~> 1.3.6"
16
+ gem "sqlite3"
18
17
  gem "webmock"
19
18
  end
20
19
 
@@ -3,11 +3,10 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake", "~> 13.0"
6
- gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 1.19.0"
8
- gem "timecop", "~> 0.9.1"
9
6
 
10
7
  group :test do
8
+ gem "rspec", "~> 3.6"
9
+ gem "timecop", "~> 0.9.1"
11
10
  gem "faraday", "~> 0.9"
12
11
  gem "msgr"
13
12
  gem "rails"
@@ -3,11 +3,10 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake", "~> 13.0"
6
- gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 1.19.0"
8
- gem "timecop", "~> 0.9.1"
9
6
 
10
7
  group :test do
8
+ gem "rspec", "~> 3.6"
9
+ gem "timecop", "~> 0.9.1"
11
10
  gem "faraday", "~> 1.0"
12
11
  gem "msgr"
13
12
  gem "rails"
@@ -3,11 +3,10 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake", "~> 13.0"
6
- gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 1.19.0"
8
- gem "timecop", "~> 0.9.1"
9
6
 
10
7
  group :test do
8
+ gem "rspec", "~> 3.6"
9
+ gem "timecop", "~> 0.9.1"
11
10
  gem "faraday"
12
11
  gem "msgr"
13
12
  gem "rails", "~> 5.2.0"
@@ -3,11 +3,10 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake", "~> 13.0"
6
- gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 1.19.0"
8
- gem "timecop", "~> 0.9.1"
9
6
 
10
7
  group :test do
8
+ gem "rspec", "~> 3.6"
9
+ gem "timecop", "~> 0.9.1"
11
10
  gem "faraday"
12
11
  gem "msgr"
13
12
  gem "rails", "~> 6.0.0"
@@ -3,11 +3,10 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake", "~> 13.0"
6
- gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 1.19.0"
8
- gem "timecop", "~> 0.9.1"
9
6
 
10
7
  group :test do
8
+ gem "rspec", "~> 3.6"
9
+ gem "timecop", "~> 0.9.1"
11
10
  gem "faraday"
12
11
  gem "msgr"
13
12
  gem "rails", "~> 6.1.0"
@@ -3,14 +3,13 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake", "~> 13.0"
6
- gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 1.19.0"
8
- gem "timecop", "~> 0.9.1"
9
6
 
10
7
  group :test do
8
+ gem "rspec", "~> 3.6"
9
+ gem "timecop", "~> 0.9.1"
11
10
  gem "faraday"
12
11
  gem "msgr"
13
- gem "rails", "~> 5.1.0"
12
+ gem "rails", "~> 7.0.0"
14
13
  gem "redis"
15
14
  gem "restify"
16
15
  gem "sidekiq"
@@ -3,11 +3,10 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake", "~> 13.0"
6
- gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 1.19.0"
8
- gem "timecop", "~> 0.9.1"
9
6
 
10
7
  group :test do
8
+ gem "rspec", "~> 3.6"
9
+ gem "timecop", "~> 0.9.1"
11
10
  gem "faraday"
12
11
  gem "msgr"
13
12
  gem "rails"
@@ -3,11 +3,10 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake", "~> 13.0"
6
- gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 1.19.0"
8
- gem "timecop", "~> 0.9.1"
9
6
 
10
7
  group :test do
8
+ gem "rspec", "~> 3.6"
9
+ gem "timecop", "~> 0.9.1"
11
10
  gem "faraday"
12
11
  gem "msgr"
13
12
  gem "rails"
@@ -3,11 +3,10 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake", "~> 13.0"
6
- gem "rspec", "~> 3.6"
7
- gem "rubocop", "~> 1.19.0"
8
- gem "timecop", "~> 0.9.1"
9
6
 
10
7
  group :test do
8
+ gem "rspec", "~> 3.6"
9
+ gem "timecop", "~> 0.9.1"
11
10
  gem "faraday"
12
11
  gem "msgr"
13
12
  gem "rails"
@@ -28,14 +28,16 @@ module Mnemosyne
28
28
 
29
29
  raise ArgumentError.new 'Platform is required' if platform.blank?
30
30
 
31
- if @platform =~ /[^a-zA-Z0-9\-]/
32
- raise ArgumentError.new \
31
+ if @platform =~ /[^a-zA-Z0-9-]/
32
+ raise ArgumentError.new(
33
33
  'Platform may only contain alphanumeric characters'
34
+ )
34
35
  end
35
36
 
36
37
  unless @platform =~ /\A[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\z/
37
- raise ArgumentError.new \
38
+ raise ArgumentError.new(
38
39
  'Platform must start and end with a alphanumeric characters'
40
+ )
39
41
  end
40
42
 
41
43
  raise ArgumentError.new('Application is required') if application.blank?
@@ -10,7 +10,7 @@ module Mnemosyne
10
10
 
11
11
  return @app.call(env) unless trace
12
12
 
13
- span = ::Mnemosyne::Span.new 'external.http.faraday', \
13
+ span = ::Mnemosyne::Span.new 'external.http.faraday',
14
14
  meta: {url: env[:url].to_s, method: env[:method]}
15
15
 
16
16
  span.start!
@@ -37,8 +37,8 @@ module Mnemosyne
37
37
  @closed
38
38
  end
39
39
 
40
- def each(*args, &block)
41
- @body.each(*args, &block)
40
+ def each(...)
41
+ @body.each(...)
42
42
  rescue StandardError, LoadError, SyntaxError => e
43
43
  @trace.attach_error(e)
44
44
  raise
@@ -22,7 +22,7 @@ module Mnemosyne
22
22
  callers.shift until callers[0].include? 'lib/acfs/global.rb:'
23
23
 
24
24
  meta = {
25
- backtrace: callers[1..-1]
25
+ backtrace: callers[1..]
26
26
  }
27
27
 
28
28
  span = ::Mnemosyne::Span.new 'external.run.acfs',
@@ -13,9 +13,7 @@ module Mnemosyne
13
13
  def call(request)
14
14
  if (trace = ::Mnemosyne::Instrumenter.current_trace)
15
15
  meta = {url: request.uri.to_s, method: request.method}
16
-
17
- span = ::Mnemosyne::Span.new 'external.http.restify', \
18
- meta: meta
16
+ span = ::Mnemosyne::Span.new 'external.http.restify', meta: meta
19
17
 
20
18
  span.start!
21
19
 
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mnemosyne
4
+ module Probes
5
+ module ViewComponent
6
+ module RenderComponent
7
+ class Probe < ::Mnemosyne::Probe
8
+ subscribe 'render.view_component'
9
+
10
+ def call(trace, _name, start, finish, _id, payload)
11
+ start = ::Mnemosyne::Clock.to_tick(start)
12
+ finish = ::Mnemosyne::Clock.to_tick(finish)
13
+
14
+ span = ::Mnemosyne::Span.new 'view.render.component.view_component',
15
+ start: start, finish: finish, meta: payload
16
+
17
+ trace << span
18
+ end
19
+ end
20
+ end
21
+ end
22
+
23
+ register nil, nil, ViewComponent::RenderComponent::Probe.new
24
+ end
25
+ end
@@ -3,8 +3,8 @@
3
3
  module Mnemosyne
4
4
  module VERSION
5
5
  MAJOR = 1
6
- MINOR = 12
7
- PATCH = 1
6
+ MINOR = 14
7
+ PATCH = 0
8
8
  STAGE = nil
9
9
 
10
10
  STRING = [MAJOR, MINOR, PATCH, STAGE].compact.join('.')
data/lib/mnemosyne.rb CHANGED
@@ -47,6 +47,7 @@ module Mnemosyne
47
47
  require 'mnemosyne/probes/restify/base'
48
48
  require 'mnemosyne/probes/sidekiq/client'
49
49
  require 'mnemosyne/probes/sidekiq/server'
50
+ require 'mnemosyne/probes/view_component/render_component'
50
51
  end
51
52
 
52
53
  module Middleware
@@ -26,9 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.executables = spec.files.grep(%r{^bin/}) {|f| File.basename(f) }
27
27
  spec.require_paths = %w[lib]
28
28
 
29
- spec.required_ruby_version = '>= 2.5'
29
+ spec.required_ruby_version = '>= 2.7'
30
30
  spec.add_runtime_dependency 'activesupport', '>= 4'
31
31
  spec.add_runtime_dependency 'bunny'
32
-
33
- spec.add_development_dependency 'bundler'
34
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mnemosyne-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.1
4
+ version: 1.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Graichen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-21 00:00:00.000000000 Z
11
+ date: 2023-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
41
  description:
56
42
  email:
57
43
  - jgraichen@altimos.de
@@ -63,21 +49,23 @@ files:
63
49
  - ".github/workflows/lint.yml"
64
50
  - ".github/workflows/test.yml"
65
51
  - ".gitignore"
52
+ - ".markdownlint.yml"
66
53
  - ".rspec"
67
54
  - ".rubocop.yml"
55
+ - ".vscode/ltex.dictionary.en-US.txt"
68
56
  - Appraisals
69
57
  - CHANGELOG.md
70
58
  - Gemfile
71
59
  - LICENSE
72
60
  - README.md
73
61
  - Rakefile
62
+ - gemfiles/core.gemfile
74
63
  - gemfiles/faraday_09.gemfile
75
64
  - gemfiles/faraday_10.gemfile
76
- - gemfiles/rails_50.gemfile
77
- - gemfiles/rails_51.gemfile
78
65
  - gemfiles/rails_52.gemfile
79
66
  - gemfiles/rails_60.gemfile
80
67
  - gemfiles/rails_61.gemfile
68
+ - gemfiles/rails_70.gemfile
81
69
  - gemfiles/redis_40.gemfile
82
70
  - gemfiles/sidekiq_50.gemfile
83
71
  - gemfiles/sidekiq_60.gemfile
@@ -116,6 +104,7 @@ files:
116
104
  - lib/mnemosyne/probes/restify/base.rb
117
105
  - lib/mnemosyne/probes/sidekiq/client.rb
118
106
  - lib/mnemosyne/probes/sidekiq/server.rb
107
+ - lib/mnemosyne/probes/view_component/render_component.rb
119
108
  - lib/mnemosyne/railtie.rb
120
109
  - lib/mnemosyne/registry.rb
121
110
  - lib/mnemosyne/span.rb
@@ -138,14 +127,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
138
127
  requirements:
139
128
  - - ">="
140
129
  - !ruby/object:Gem::Version
141
- version: '2.5'
130
+ version: '2.7'
142
131
  required_rubygems_version: !ruby/object:Gem::Requirement
143
132
  requirements:
144
133
  - - ">="
145
134
  - !ruby/object:Gem::Version
146
135
  version: '0'
147
136
  requirements: []
148
- rubygems_version: 3.1.6
137
+ rubygems_version: 3.4.10
149
138
  signing_key:
150
139
  specification_version: 4
151
140
  summary: Ruby/Rails client for Mnemosyne APM