mnemosyne-ruby 1.11.0 → 1.13.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/.github/workflows/lint.yml +12 -14
- data/.github/workflows/test.yml +123 -0
- data/.rubocop.yml +14 -9
- data/Appraisals +52 -8
- data/CHANGELOG.md +22 -1
- data/Gemfile +11 -11
- data/README.md +1 -0
- data/gemfiles/faraday_09.gemfile +28 -0
- data/gemfiles/faraday_10.gemfile +28 -0
- data/gemfiles/rails_50.gemfile +11 -10
- data/gemfiles/rails_51.gemfile +11 -10
- data/gemfiles/rails_52.gemfile +11 -10
- data/gemfiles/rails_60.gemfile +11 -10
- data/gemfiles/rails_61.gemfile +28 -0
- data/gemfiles/rails_70.gemfile +28 -0
- data/gemfiles/redis_40.gemfile +28 -0
- data/gemfiles/sidekiq_50.gemfile +28 -0
- data/gemfiles/sidekiq_60.gemfile +28 -0
- data/lib/mnemosyne/clock.rb +1 -1
- data/lib/mnemosyne/configuration.rb +2 -2
- data/lib/mnemosyne/global.rb +2 -4
- data/lib/mnemosyne/middleware/faraday.rb +1 -5
- data/lib/mnemosyne/middleware/rack.rb +2 -2
- data/lib/mnemosyne/probes/redis/command.rb +134 -0
- data/lib/mnemosyne/probes/view_component/render_component.rb +25 -0
- data/lib/mnemosyne/trace.rb +2 -2
- data/lib/mnemosyne/version.rb +2 -2
- data/lib/mnemosyne.rb +2 -0
- data/mnemosyne-ruby.gemspec +6 -1
- data/renovate.json +5 -0
- metadata +17 -7
- data/.github/workflows/build.yml +0 -93
- data/.travis.yml +0 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f726dc01d0fb0ea763c94132859007806f3dfb03df6fda17bf4a755bc6f1c622
|
4
|
+
data.tar.gz: bb835bd13a884134036224abeafd7e590949777709b1af89f4b4422ea35406a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22c8ef3a8a40802efbc25501ad9d8f047c1b9bd5727991a76861a86633549992f39d47ac894f97943fd272183852ed438b5a1302ca42dc002591bcd6e068296b
|
7
|
+
data.tar.gz: a30964afb55d3995f4ae051c5ac5b06bb99677e2e0a743fed7accccf1c120e02330831f049bcdb7365d519a1e3907ff8b01d589925a00c67638aa1346697eb71
|
data/.github/workflows/lint.yml
CHANGED
@@ -1,25 +1,23 @@
|
|
1
1
|
name: Lint
|
2
|
-
on:
|
2
|
+
on:
|
3
|
+
- pull_request
|
4
|
+
- push
|
5
|
+
|
3
6
|
jobs:
|
4
7
|
rubocop:
|
5
8
|
name: rubocop
|
6
|
-
runs-on: ubuntu-
|
9
|
+
runs-on: ubuntu-20.04
|
7
10
|
|
8
11
|
steps:
|
9
12
|
- uses: actions/checkout@master
|
10
|
-
- uses:
|
11
|
-
|
12
|
-
|
13
|
-
|
13
|
+
- uses: ruby/setup-ruby@v1
|
14
|
+
env:
|
15
|
+
BUNDLE_JOBS: 4
|
16
|
+
BUNDLE_RETRY: 3
|
17
|
+
BUNDLE_WITHOUT: development,test
|
14
18
|
with:
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
- name: Run bundle install
|
19
|
-
run: |
|
20
|
-
bundle config path "$(pwd)/vendor/bundle"
|
21
|
-
bundle config without development,test
|
22
|
-
bundle install --jobs=4 --retry=3
|
19
|
+
ruby-version: 3.0
|
20
|
+
bundler-cache: true
|
23
21
|
|
24
22
|
- name: Run rubocop
|
25
23
|
run: bundle exec rubocop --parallel --color
|
@@ -0,0 +1,123 @@
|
|
1
|
+
name: Test
|
2
|
+
on:
|
3
|
+
- push
|
4
|
+
- pull_request
|
5
|
+
|
6
|
+
jobs:
|
7
|
+
test:
|
8
|
+
name: Ruby ${{ matrix.ruby }} / ${{ matrix.suite }}
|
9
|
+
runs-on: ubuntu-20.04
|
10
|
+
|
11
|
+
strategy:
|
12
|
+
fail-fast: false
|
13
|
+
matrix:
|
14
|
+
ruby:
|
15
|
+
- "3.1"
|
16
|
+
- "3.0"
|
17
|
+
- "2.7"
|
18
|
+
- "2.6"
|
19
|
+
- "2.5"
|
20
|
+
suite:
|
21
|
+
- core
|
22
|
+
- faraday-0.9
|
23
|
+
- faraday-1.0
|
24
|
+
- msgr
|
25
|
+
- rack
|
26
|
+
- rails-5.0
|
27
|
+
- rails-5.1
|
28
|
+
- rails-5.2
|
29
|
+
- rails-6.0
|
30
|
+
- rails-6.1
|
31
|
+
- rails-7.0
|
32
|
+
- redis-4.0
|
33
|
+
- restify
|
34
|
+
- sidekiq-5
|
35
|
+
- sidekiq-6
|
36
|
+
include:
|
37
|
+
- suite: core
|
38
|
+
spec: --tag ~probe
|
39
|
+
- suite: faraday-0.9
|
40
|
+
spec: --tag probe:faraday
|
41
|
+
gemfile: gemfiles/faraday_09.gemfile
|
42
|
+
- suite: faraday-1.0
|
43
|
+
spec: --tag probe:faraday
|
44
|
+
gemfile: gemfiles/faraday_10.gemfile
|
45
|
+
- suite: msgr
|
46
|
+
spec: --tag probe:msgr
|
47
|
+
- suite: rack
|
48
|
+
spec: --tag probe:rack
|
49
|
+
- suite: rails-5.0
|
50
|
+
spec: --tag probe:rails --tag ~probe
|
51
|
+
gemfile: gemfiles/rails_50.gemfile
|
52
|
+
- suite: rails-5.1
|
53
|
+
spec: --tag probe:rails --tag ~probe
|
54
|
+
gemfile: gemfiles/rails_51.gemfile
|
55
|
+
- suite: rails-5.2
|
56
|
+
spec: --tag probe:rails --tag ~probe
|
57
|
+
gemfile: gemfiles/rails_52.gemfile
|
58
|
+
- suite: rails-6.0
|
59
|
+
spec: --tag probe:rails --tag ~probe
|
60
|
+
gemfile: gemfiles/rails_60.gemfile
|
61
|
+
- suite: rails-6.1
|
62
|
+
spec: --tag probe:rails --tag ~probe
|
63
|
+
gemfile: gemfiles/rails_61.gemfile
|
64
|
+
- suite: rails-7.0
|
65
|
+
spec: --tag probe:rails --tag ~probe
|
66
|
+
gemfile: gemfiles/rails_70.gemfile
|
67
|
+
- suite: redis-4.0
|
68
|
+
spec: --tag probe:redis
|
69
|
+
gemfile: gemfiles/redis_40.gemfile
|
70
|
+
- suite: restify
|
71
|
+
spec: --tag probe:restify
|
72
|
+
- suite: sidekiq-5
|
73
|
+
spec: --tag probe:sidekiq
|
74
|
+
gemfile: gemfiles/sidekiq_50.gemfile
|
75
|
+
- suite: sidekiq-6
|
76
|
+
spec: --tag probe:sidekiq
|
77
|
+
gemfile: gemfiles/sidekiq_60.gemfile
|
78
|
+
exclude:
|
79
|
+
- suite: rails-5.0
|
80
|
+
ruby: 3.1
|
81
|
+
- suite: rails-5.1
|
82
|
+
ruby: 3.1
|
83
|
+
- suite: rails-5.2
|
84
|
+
ruby: 3.1
|
85
|
+
- suite: rails-5.0
|
86
|
+
ruby: 3.0
|
87
|
+
- suite: rails-5.1
|
88
|
+
ruby: 3.0
|
89
|
+
- suite: rails-5.2
|
90
|
+
ruby: 3.0
|
91
|
+
- suite: rails-7.0
|
92
|
+
ruby: 2.6
|
93
|
+
- suite: rails-7.0
|
94
|
+
ruby: 2.5
|
95
|
+
|
96
|
+
env:
|
97
|
+
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
98
|
+
|
99
|
+
services:
|
100
|
+
rabbitmq:
|
101
|
+
image: rabbitmq:latest
|
102
|
+
ports: [5672/tcp]
|
103
|
+
options: --health-cmd "rabbitmqctl node_health_check" --health-interval 10s --health-timeout 5s --health-retries 5
|
104
|
+
|
105
|
+
steps:
|
106
|
+
- uses: actions/checkout@master
|
107
|
+
- uses: ruby/setup-ruby@v1
|
108
|
+
env:
|
109
|
+
BUNDLE_JOBS: 4
|
110
|
+
BUNDLE_RETRY: 3
|
111
|
+
BUNDLE_WITHOUT: development,test
|
112
|
+
with:
|
113
|
+
ruby-version: ${{ matrix.ruby }}
|
114
|
+
bundler-cache: true
|
115
|
+
|
116
|
+
- name: Install dependencies
|
117
|
+
run: |
|
118
|
+
sudo apt install -y redis-server
|
119
|
+
|
120
|
+
- name: Run rspec
|
121
|
+
env:
|
122
|
+
AMQP_SERVER: amqp://localhost:${{ job.services.rabbitmq.ports[5672] }}
|
123
|
+
run: bundle exec rspec --color ${{ matrix.spec }}
|
data/.rubocop.yml
CHANGED
@@ -3,7 +3,8 @@ AllCops:
|
|
3
3
|
Exclude:
|
4
4
|
- 'vendor/**/*'
|
5
5
|
- 'gemfiles/**/*'
|
6
|
-
|
6
|
+
NewCops: enable
|
7
|
+
SuggestExtensions: False
|
7
8
|
|
8
9
|
Layout/ArgumentAlignment:
|
9
10
|
EnforcedStyle: with_fixed_indentation
|
@@ -26,24 +27,24 @@ Layout/MultilineMethodCallIndentation:
|
|
26
27
|
Layout/SpaceInsideBlockBraces:
|
27
28
|
EnforcedStyle: space
|
28
29
|
EnforcedStyleForEmptyBraces: no_space
|
29
|
-
SpaceBeforeBlockParameters:
|
30
|
+
SpaceBeforeBlockParameters: False
|
30
31
|
|
31
32
|
Layout/SpaceInsideHashLiteralBraces:
|
32
33
|
EnforcedStyle: no_space
|
33
34
|
|
34
35
|
|
35
36
|
Metrics/AbcSize:
|
36
|
-
Enabled:
|
37
|
+
Enabled: False
|
37
38
|
|
38
39
|
Metrics/BlockLength:
|
39
40
|
Exclude:
|
40
41
|
- 'spec/**/*'
|
41
42
|
|
42
43
|
Metrics/ParameterLists:
|
43
|
-
Enabled:
|
44
|
+
Enabled: False
|
44
45
|
|
45
46
|
Metrics/MethodLength:
|
46
|
-
Enabled:
|
47
|
+
Enabled: False
|
47
48
|
|
48
49
|
|
49
50
|
Naming/FileName:
|
@@ -51,17 +52,21 @@ Naming/FileName:
|
|
51
52
|
- lib/mnemosyne-ruby.rb
|
52
53
|
|
53
54
|
|
55
|
+
# Single attr_reader statements allow easy documentation of attributes.
|
56
|
+
Style/AccessorGrouping:
|
57
|
+
Enabled: False
|
58
|
+
|
54
59
|
Style/Documentation:
|
55
|
-
Enabled:
|
60
|
+
Enabled: False
|
56
61
|
|
57
62
|
Style/HashEachMethods:
|
58
|
-
Enabled:
|
63
|
+
Enabled: False
|
59
64
|
|
60
65
|
Style/HashTransformKeys:
|
61
|
-
Enabled:
|
66
|
+
Enabled: False
|
62
67
|
|
63
68
|
Style/HashTransformValues:
|
64
|
-
Enabled:
|
69
|
+
Enabled: False
|
65
70
|
|
66
71
|
Style/RaiseArgs:
|
67
72
|
EnforcedStyle: compact
|
data/Appraisals
CHANGED
@@ -1,29 +1,73 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
appraise 'faraday-09' do
|
4
|
+
group :test do
|
5
|
+
gem 'faraday', '~> 0.9'
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
appraise 'faraday-10' do
|
10
|
+
group :test do
|
11
|
+
gem 'faraday', '~> 1.0'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
appraise 'rails-70' do
|
16
|
+
group :test do
|
17
|
+
gem 'rails', '~> 7.0.0'
|
18
|
+
gem 'sqlite3', '~> 1.4'
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
appraise 'rails-61' do
|
23
|
+
group :test do
|
24
|
+
gem 'rails', '~> 6.1.0'
|
25
|
+
gem 'sqlite3', '~> 1.4'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
3
29
|
appraise 'rails-60' do
|
4
30
|
group :test do
|
5
|
-
gem 'rails', '~> 6.0.0'
|
6
|
-
gem 'sqlite3', '~> 1.4'
|
31
|
+
gem 'rails', '~> 6.0.0'
|
32
|
+
gem 'sqlite3', '~> 1.4'
|
7
33
|
end
|
8
34
|
end
|
9
35
|
|
10
36
|
appraise 'rails-52' do
|
11
37
|
group :test do
|
12
|
-
gem 'rails', '~> 5.2.0'
|
13
|
-
gem 'sqlite3', '~> 1.4'
|
38
|
+
gem 'rails', '~> 5.2.0'
|
39
|
+
gem 'sqlite3', '~> 1.4'
|
14
40
|
end
|
15
41
|
end
|
16
42
|
|
17
43
|
appraise 'rails-51' do
|
18
44
|
group :test do
|
19
|
-
gem 'rails', '~> 5.1.0'
|
20
|
-
gem 'sqlite3', '~> 1.4'
|
45
|
+
gem 'rails', '~> 5.1.0'
|
46
|
+
gem 'sqlite3', '~> 1.4'
|
21
47
|
end
|
22
48
|
end
|
23
49
|
|
24
50
|
appraise 'rails-50' do
|
25
51
|
group :test do
|
26
|
-
gem 'rails', '~> 5.0.0'
|
27
|
-
gem 'sqlite3', '~> 1.3.6'
|
52
|
+
gem 'rails', '~> 5.0.0'
|
53
|
+
gem 'sqlite3', '~> 1.3.6'
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
appraise 'redis-40' do
|
58
|
+
group :test do
|
59
|
+
gem 'redis', '~> 4.0'
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
appraise 'sidekiq-50' do
|
64
|
+
group :test do
|
65
|
+
gem 'sidekiq', '~> 5.0'
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
appraise 'sidekiq-60' do
|
70
|
+
group :test do
|
71
|
+
gem 'sidekiq', '~> 6.0'
|
28
72
|
end
|
29
73
|
end
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,24 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
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
5
|
|
6
6
|
## [Unreleased]
|
7
|
+
|
8
|
+
## [1.13.0] - 2022-04-14
|
9
|
+
### Added
|
10
|
+
- Support for `view_component` gem (#42)
|
11
|
+
- Support for Ruby 3.1 and Rails 7.0 (formally)
|
12
|
+
|
13
|
+
## [1.12.1] - 2022-03-21
|
14
|
+
### Added
|
15
|
+
- More commands whitelisted in Redis span metadata (#44)
|
16
|
+
|
17
|
+
## [1.12.0] - 2021-08-24
|
18
|
+
### Added
|
19
|
+
- Support for `redis` gem (#34)
|
20
|
+
|
21
|
+
### Removed
|
22
|
+
- Support for Ruby 2.4 (hard gem requirement)
|
23
|
+
|
24
|
+
## [1.11.0] - 2020-12-18
|
7
25
|
### Removed
|
8
26
|
- Support for Ruby 2.4 and Rails 4.2
|
9
27
|
|
@@ -102,7 +120,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
102
120
|
### Added
|
103
121
|
- Add platform identifier
|
104
122
|
|
105
|
-
[Unreleased]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.
|
123
|
+
[Unreleased]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.12.1...HEAD
|
124
|
+
[1.12.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.12.0...v1.12.1
|
125
|
+
[1.12.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.10.0...v1.12.0
|
126
|
+
[1.11.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.10.0...v1.11.0
|
106
127
|
[1.10.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.9.0...v1.10.0
|
107
128
|
[1.9.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.8.0...v1.9.0
|
108
129
|
[1.8.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.7.1...v1.8.0
|
data/Gemfile
CHANGED
@@ -5,25 +5,25 @@ source 'https://rubygems.org'
|
|
5
5
|
# Specify your gem's dependencies in mnemosyne.gemspec
|
6
6
|
gemspec
|
7
7
|
|
8
|
-
gem 'rake', '~>
|
8
|
+
gem 'rake', '~> 13.0'
|
9
9
|
gem 'rspec', '~> 3.6'
|
10
|
-
gem 'rubocop', '~>
|
10
|
+
gem 'rubocop', '~> 1.27.0'
|
11
11
|
gem 'timecop', '~> 0.9.1'
|
12
12
|
|
13
13
|
group :test do
|
14
|
-
gem 'faraday'
|
15
|
-
gem 'msgr'
|
16
|
-
gem '
|
17
|
-
gem '
|
18
|
-
|
19
|
-
gem '
|
20
|
-
gem 'sqlite3'
|
21
|
-
gem 'webmock'
|
14
|
+
gem 'faraday'
|
15
|
+
gem 'msgr'
|
16
|
+
gem 'rails'
|
17
|
+
gem 'redis'
|
18
|
+
gem 'restify'
|
19
|
+
gem 'sidekiq'
|
20
|
+
gem 'sqlite3'
|
21
|
+
gem 'webmock'
|
22
22
|
end
|
23
23
|
|
24
24
|
group :development do
|
25
25
|
gem 'appraisal'
|
26
|
-
gem 'rake-release', '~> 1.
|
26
|
+
gem 'rake-release', '~> 1.3.0'
|
27
27
|
|
28
28
|
gem 'pry', require: false
|
29
29
|
gem 'pry-byebug', require: false
|
data/README.md
CHANGED
@@ -14,6 +14,7 @@ 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
|
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "rake", "~> 13.0"
|
6
|
+
gem "rspec", "~> 3.6"
|
7
|
+
gem "rubocop", "~> 1.27.0"
|
8
|
+
gem "timecop", "~> 0.9.1"
|
9
|
+
|
10
|
+
group :test do
|
11
|
+
gem "faraday", "~> 0.9"
|
12
|
+
gem "msgr"
|
13
|
+
gem "rails"
|
14
|
+
gem "redis"
|
15
|
+
gem "restify"
|
16
|
+
gem "sidekiq"
|
17
|
+
gem "sqlite3"
|
18
|
+
gem "webmock"
|
19
|
+
end
|
20
|
+
|
21
|
+
group :development do
|
22
|
+
gem "appraisal"
|
23
|
+
gem "rake-release", "~> 1.3.0"
|
24
|
+
gem "pry", require: false
|
25
|
+
gem "pry-byebug", require: false
|
26
|
+
end
|
27
|
+
|
28
|
+
gemspec path: "../"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "rake", "~> 13.0"
|
6
|
+
gem "rspec", "~> 3.6"
|
7
|
+
gem "rubocop", "~> 1.27.0"
|
8
|
+
gem "timecop", "~> 0.9.1"
|
9
|
+
|
10
|
+
group :test do
|
11
|
+
gem "faraday", "~> 1.0"
|
12
|
+
gem "msgr"
|
13
|
+
gem "rails"
|
14
|
+
gem "redis"
|
15
|
+
gem "restify"
|
16
|
+
gem "sidekiq"
|
17
|
+
gem "sqlite3"
|
18
|
+
gem "webmock"
|
19
|
+
end
|
20
|
+
|
21
|
+
group :development do
|
22
|
+
gem "appraisal"
|
23
|
+
gem "rake-release", "~> 1.3.0"
|
24
|
+
gem "pry", require: false
|
25
|
+
gem "pry-byebug", require: false
|
26
|
+
end
|
27
|
+
|
28
|
+
gemspec path: "../"
|
data/gemfiles/rails_50.gemfile
CHANGED
@@ -2,24 +2,25 @@
|
|
2
2
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
|
-
gem "rake", "~>
|
5
|
+
gem "rake", "~> 13.0"
|
6
6
|
gem "rspec", "~> 3.6"
|
7
|
-
gem "rubocop", "~>
|
7
|
+
gem "rubocop", "~> 1.27.0"
|
8
8
|
gem "timecop", "~> 0.9.1"
|
9
9
|
|
10
10
|
group :test do
|
11
|
-
gem "faraday"
|
12
|
-
gem "msgr"
|
13
|
-
gem "
|
14
|
-
gem "
|
15
|
-
gem "
|
16
|
-
gem "
|
17
|
-
gem "
|
11
|
+
gem "faraday"
|
12
|
+
gem "msgr"
|
13
|
+
gem "rails", "~> 5.0.0"
|
14
|
+
gem "redis"
|
15
|
+
gem "restify"
|
16
|
+
gem "sidekiq"
|
17
|
+
gem "sqlite3", "~> 1.3.6"
|
18
|
+
gem "webmock"
|
18
19
|
end
|
19
20
|
|
20
21
|
group :development do
|
21
22
|
gem "appraisal"
|
22
|
-
gem "rake-release", "~> 1.
|
23
|
+
gem "rake-release", "~> 1.3.0"
|
23
24
|
gem "pry", require: false
|
24
25
|
gem "pry-byebug", require: false
|
25
26
|
end
|
data/gemfiles/rails_51.gemfile
CHANGED
@@ -2,24 +2,25 @@
|
|
2
2
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
|
-
gem "rake", "~>
|
5
|
+
gem "rake", "~> 13.0"
|
6
6
|
gem "rspec", "~> 3.6"
|
7
|
-
gem "rubocop", "~>
|
7
|
+
gem "rubocop", "~> 1.27.0"
|
8
8
|
gem "timecop", "~> 0.9.1"
|
9
9
|
|
10
10
|
group :test do
|
11
|
-
gem "faraday"
|
12
|
-
gem "msgr"
|
13
|
-
gem "
|
14
|
-
gem "
|
15
|
-
gem "
|
16
|
-
gem "
|
17
|
-
gem "
|
11
|
+
gem "faraday"
|
12
|
+
gem "msgr"
|
13
|
+
gem "rails", "~> 5.1.0"
|
14
|
+
gem "redis"
|
15
|
+
gem "restify"
|
16
|
+
gem "sidekiq"
|
17
|
+
gem "sqlite3", "~> 1.4"
|
18
|
+
gem "webmock"
|
18
19
|
end
|
19
20
|
|
20
21
|
group :development do
|
21
22
|
gem "appraisal"
|
22
|
-
gem "rake-release", "~> 1.
|
23
|
+
gem "rake-release", "~> 1.3.0"
|
23
24
|
gem "pry", require: false
|
24
25
|
gem "pry-byebug", require: false
|
25
26
|
end
|
data/gemfiles/rails_52.gemfile
CHANGED
@@ -2,24 +2,25 @@
|
|
2
2
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
|
-
gem "rake", "~>
|
5
|
+
gem "rake", "~> 13.0"
|
6
6
|
gem "rspec", "~> 3.6"
|
7
|
-
gem "rubocop", "~>
|
7
|
+
gem "rubocop", "~> 1.27.0"
|
8
8
|
gem "timecop", "~> 0.9.1"
|
9
9
|
|
10
10
|
group :test do
|
11
|
-
gem "faraday"
|
12
|
-
gem "msgr"
|
13
|
-
gem "
|
14
|
-
gem "
|
15
|
-
gem "
|
16
|
-
gem "
|
17
|
-
gem "
|
11
|
+
gem "faraday"
|
12
|
+
gem "msgr"
|
13
|
+
gem "rails", "~> 5.2.0"
|
14
|
+
gem "redis"
|
15
|
+
gem "restify"
|
16
|
+
gem "sidekiq"
|
17
|
+
gem "sqlite3", "~> 1.4"
|
18
|
+
gem "webmock"
|
18
19
|
end
|
19
20
|
|
20
21
|
group :development do
|
21
22
|
gem "appraisal"
|
22
|
-
gem "rake-release", "~> 1.
|
23
|
+
gem "rake-release", "~> 1.3.0"
|
23
24
|
gem "pry", require: false
|
24
25
|
gem "pry-byebug", require: false
|
25
26
|
end
|
data/gemfiles/rails_60.gemfile
CHANGED
@@ -2,24 +2,25 @@
|
|
2
2
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
|
-
gem "rake", "~>
|
5
|
+
gem "rake", "~> 13.0"
|
6
6
|
gem "rspec", "~> 3.6"
|
7
|
-
gem "rubocop", "~>
|
7
|
+
gem "rubocop", "~> 1.27.0"
|
8
8
|
gem "timecop", "~> 0.9.1"
|
9
9
|
|
10
10
|
group :test do
|
11
|
-
gem "faraday"
|
12
|
-
gem "msgr"
|
13
|
-
gem "
|
14
|
-
gem "
|
15
|
-
gem "
|
16
|
-
gem "
|
17
|
-
gem "
|
11
|
+
gem "faraday"
|
12
|
+
gem "msgr"
|
13
|
+
gem "rails", "~> 6.0.0"
|
14
|
+
gem "redis"
|
15
|
+
gem "restify"
|
16
|
+
gem "sidekiq"
|
17
|
+
gem "sqlite3", "~> 1.4"
|
18
|
+
gem "webmock"
|
18
19
|
end
|
19
20
|
|
20
21
|
group :development do
|
21
22
|
gem "appraisal"
|
22
|
-
gem "rake-release", "~> 1.
|
23
|
+
gem "rake-release", "~> 1.3.0"
|
23
24
|
gem "pry", require: false
|
24
25
|
gem "pry-byebug", require: false
|
25
26
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "rake", "~> 13.0"
|
6
|
+
gem "rspec", "~> 3.6"
|
7
|
+
gem "rubocop", "~> 1.27.0"
|
8
|
+
gem "timecop", "~> 0.9.1"
|
9
|
+
|
10
|
+
group :test do
|
11
|
+
gem "faraday"
|
12
|
+
gem "msgr"
|
13
|
+
gem "rails", "~> 6.1.0"
|
14
|
+
gem "redis"
|
15
|
+
gem "restify"
|
16
|
+
gem "sidekiq"
|
17
|
+
gem "sqlite3", "~> 1.4"
|
18
|
+
gem "webmock"
|
19
|
+
end
|
20
|
+
|
21
|
+
group :development do
|
22
|
+
gem "appraisal"
|
23
|
+
gem "rake-release", "~> 1.3.0"
|
24
|
+
gem "pry", require: false
|
25
|
+
gem "pry-byebug", require: false
|
26
|
+
end
|
27
|
+
|
28
|
+
gemspec path: "../"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "rake", "~> 13.0"
|
6
|
+
gem "rspec", "~> 3.6"
|
7
|
+
gem "rubocop", "~> 1.27.0"
|
8
|
+
gem "timecop", "~> 0.9.1"
|
9
|
+
|
10
|
+
group :test do
|
11
|
+
gem "faraday"
|
12
|
+
gem "msgr"
|
13
|
+
gem "rails", "~> 7.0.0"
|
14
|
+
gem "redis"
|
15
|
+
gem "restify"
|
16
|
+
gem "sidekiq"
|
17
|
+
gem "sqlite3", "~> 1.4"
|
18
|
+
gem "webmock"
|
19
|
+
end
|
20
|
+
|
21
|
+
group :development do
|
22
|
+
gem "appraisal"
|
23
|
+
gem "rake-release", "~> 1.3.0"
|
24
|
+
gem "pry", require: false
|
25
|
+
gem "pry-byebug", require: false
|
26
|
+
end
|
27
|
+
|
28
|
+
gemspec path: "../"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "rake", "~> 13.0"
|
6
|
+
gem "rspec", "~> 3.6"
|
7
|
+
gem "rubocop", "~> 1.27.0"
|
8
|
+
gem "timecop", "~> 0.9.1"
|
9
|
+
|
10
|
+
group :test do
|
11
|
+
gem "faraday"
|
12
|
+
gem "msgr"
|
13
|
+
gem "rails"
|
14
|
+
gem "redis", "~> 4.0"
|
15
|
+
gem "restify"
|
16
|
+
gem "sidekiq"
|
17
|
+
gem "sqlite3"
|
18
|
+
gem "webmock"
|
19
|
+
end
|
20
|
+
|
21
|
+
group :development do
|
22
|
+
gem "appraisal"
|
23
|
+
gem "rake-release", "~> 1.3.0"
|
24
|
+
gem "pry", require: false
|
25
|
+
gem "pry-byebug", require: false
|
26
|
+
end
|
27
|
+
|
28
|
+
gemspec path: "../"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "rake", "~> 13.0"
|
6
|
+
gem "rspec", "~> 3.6"
|
7
|
+
gem "rubocop", "~> 1.27.0"
|
8
|
+
gem "timecop", "~> 0.9.1"
|
9
|
+
|
10
|
+
group :test do
|
11
|
+
gem "faraday"
|
12
|
+
gem "msgr"
|
13
|
+
gem "rails"
|
14
|
+
gem "redis"
|
15
|
+
gem "restify"
|
16
|
+
gem "sidekiq", "~> 5.0"
|
17
|
+
gem "sqlite3"
|
18
|
+
gem "webmock"
|
19
|
+
end
|
20
|
+
|
21
|
+
group :development do
|
22
|
+
gem "appraisal"
|
23
|
+
gem "rake-release", "~> 1.3.0"
|
24
|
+
gem "pry", require: false
|
25
|
+
gem "pry-byebug", require: false
|
26
|
+
end
|
27
|
+
|
28
|
+
gemspec path: "../"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "rake", "~> 13.0"
|
6
|
+
gem "rspec", "~> 3.6"
|
7
|
+
gem "rubocop", "~> 1.27.0"
|
8
|
+
gem "timecop", "~> 0.9.1"
|
9
|
+
|
10
|
+
group :test do
|
11
|
+
gem "faraday"
|
12
|
+
gem "msgr"
|
13
|
+
gem "rails"
|
14
|
+
gem "redis"
|
15
|
+
gem "restify"
|
16
|
+
gem "sidekiq", "~> 6.0"
|
17
|
+
gem "sqlite3"
|
18
|
+
gem "webmock"
|
19
|
+
end
|
20
|
+
|
21
|
+
group :development do
|
22
|
+
gem "appraisal"
|
23
|
+
gem "rake-release", "~> 1.3.0"
|
24
|
+
gem "pry", require: false
|
25
|
+
gem "pry-byebug", require: false
|
26
|
+
end
|
27
|
+
|
28
|
+
gemspec path: "../"
|
data/lib/mnemosyne/clock.rb
CHANGED
@@ -33,7 +33,7 @@ module Mnemosyne
|
|
33
33
|
'Platform may only contain alphanumeric characters'
|
34
34
|
end
|
35
35
|
|
36
|
-
unless @platform =~ /\A[a-zA-Z0-9]+(
|
36
|
+
unless @platform =~ /\A[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\z/
|
37
37
|
raise ArgumentError.new \
|
38
38
|
'Platform must start and end with a alphanumeric characters'
|
39
39
|
end
|
@@ -64,7 +64,7 @@ module Mnemosyne
|
|
64
64
|
uri.user = amqp[:user]
|
65
65
|
uri.host = amqp[:host]
|
66
66
|
uri.port = amqp[:port] if amqp[:port] != DEFAULT_PORTS[uri.scheme]
|
67
|
-
uri.path =
|
67
|
+
uri.path = "/#{::CGI.escape(amqp[:vhost])}" if amqp[:vhost] != '/'
|
68
68
|
|
69
69
|
uri
|
70
70
|
end
|
data/lib/mnemosyne/global.rb
CHANGED
@@ -2,11 +2,9 @@
|
|
2
2
|
|
3
3
|
module Mnemosyne
|
4
4
|
module Global
|
5
|
-
def trace(name, meta: {})
|
5
|
+
def trace(name, meta: {}, &block)
|
6
6
|
::ActiveSupport::Notifications.instrument 'trace.mnemosyne',
|
7
|
-
name: name, meta: meta
|
8
|
-
yield
|
9
|
-
end
|
7
|
+
name: name, meta: meta, &block
|
10
8
|
end
|
11
9
|
|
12
10
|
def attach_error(err)
|
@@ -5,10 +5,6 @@ require 'faraday'
|
|
5
5
|
module Mnemosyne
|
6
6
|
module Middleware
|
7
7
|
class Faraday < ::Faraday::Middleware
|
8
|
-
def initialize(app)
|
9
|
-
@app = app
|
10
|
-
end
|
11
|
-
|
12
8
|
def call(env)
|
13
9
|
trace = ::Mnemosyne::Instrumenter.current_trace
|
14
10
|
|
@@ -22,7 +18,7 @@ module Mnemosyne
|
|
22
18
|
env[:request_headers].merge!({
|
23
19
|
'X-Mnemosyne-Transaction' => trace.transaction,
|
24
20
|
'X-Mnemosyne-Origin' => span.uuid
|
25
|
-
}.
|
21
|
+
}.compact)
|
26
22
|
|
27
23
|
@app.call(env).on_complete do |env| # rubocop:disable Lint/ShadowingOuterLocalVariable
|
28
24
|
span.meta[:status] = env[:status]
|
@@ -101,8 +101,8 @@ module Mnemosyne
|
|
101
101
|
trace.meta[:query] = env['QUERY_STRING']
|
102
102
|
trace.meta[:protocol] = env['SERVER_PROTOCOL']
|
103
103
|
trace.meta[:headers] = {
|
104
|
-
|
105
|
-
|
104
|
+
Accept: env['HTTP_ACCEPT'],
|
105
|
+
Host: env['HTTP_HOST'],
|
106
106
|
'User-Agent': env['HTTP_USER_AGENT']
|
107
107
|
}
|
108
108
|
end
|
@@ -0,0 +1,134 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Mnemosyne
|
4
|
+
module Probes
|
5
|
+
module Redis
|
6
|
+
module Command
|
7
|
+
class Probe < ::Mnemosyne::Probe
|
8
|
+
def setup
|
9
|
+
::Redis::Client.prepend ClientPatch
|
10
|
+
end
|
11
|
+
|
12
|
+
module ClientPatch
|
13
|
+
def process(commands)
|
14
|
+
trace = ::Mnemosyne::Instrumenter.current_trace
|
15
|
+
return super unless trace
|
16
|
+
|
17
|
+
span = ::Mnemosyne::Span.new 'db.query.redis',
|
18
|
+
meta: extract_span_meta(commands)
|
19
|
+
|
20
|
+
span.start!
|
21
|
+
|
22
|
+
super.tap do |retval|
|
23
|
+
span.meta[:error] = retval.message if retval.is_a?(::Redis::CommandError)
|
24
|
+
|
25
|
+
trace << span.finish!
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def extract_span_meta(commands)
|
32
|
+
{
|
33
|
+
server: id,
|
34
|
+
|
35
|
+
# Each command is an array, consisting of the command name and any
|
36
|
+
# arguments. We are only interested in the command name.
|
37
|
+
commands: extract_command_names(commands),
|
38
|
+
|
39
|
+
# If there are multiple commands, that must mean they were pipelined
|
40
|
+
# (i.e. run in parallel).
|
41
|
+
pipelined: commands.length > 1
|
42
|
+
}
|
43
|
+
end
|
44
|
+
|
45
|
+
def extract_command_names(commands)
|
46
|
+
commands.map do |c|
|
47
|
+
# Depending on how the methods on the Redis gem are called,
|
48
|
+
# there may be an additional level of nesting.
|
49
|
+
c = c[0] if c[0].is_a?(Array)
|
50
|
+
|
51
|
+
# For some commands, we also extract *some* of the arguments.
|
52
|
+
name, args = parse_name_and_args(c)
|
53
|
+
|
54
|
+
"#{name} #{args}".strip
|
55
|
+
end.join("\n")
|
56
|
+
end
|
57
|
+
|
58
|
+
##
|
59
|
+
# A map of known commands to the arguments (identified by position)
|
60
|
+
# that should be included verbatim in the metadata. Arguments not
|
61
|
+
# listed here will be replaced by a "?" character.
|
62
|
+
#
|
63
|
+
# The value can be a list of safe argument indices, or "*" (all).
|
64
|
+
#
|
65
|
+
KNOWN_ARGUMENTS = {
|
66
|
+
'BLPOP' => '*',
|
67
|
+
'BRPOP' => '*',
|
68
|
+
'EVALSHA' => [0, 1],
|
69
|
+
'EXISTS' => '*',
|
70
|
+
'EXPIRE' => '*',
|
71
|
+
'GET' => '*',
|
72
|
+
'HGET' => '*',
|
73
|
+
'HGETALL' => '*',
|
74
|
+
'HMGET' => '*',
|
75
|
+
'HMSET' => [0, 1],
|
76
|
+
'HSCAN' => '*',
|
77
|
+
'INCRBY' => '*',
|
78
|
+
'LLEN' => '*',
|
79
|
+
'LPUSH' => [0],
|
80
|
+
'LRANGE' => '*',
|
81
|
+
'LREM' => [0, 1],
|
82
|
+
'MGET' => '*',
|
83
|
+
'MSET' => [0],
|
84
|
+
'RPUSH' => [0],
|
85
|
+
'RPOP' => '*',
|
86
|
+
'SADD' => [0],
|
87
|
+
'SCARD' => '*',
|
88
|
+
'SCAN' => '*',
|
89
|
+
'SCRIPT LOAD' => [],
|
90
|
+
'SET' => [0],
|
91
|
+
'SREM' => [0],
|
92
|
+
'SSCAN' => '*',
|
93
|
+
'UNLINK' => '*',
|
94
|
+
'ZADD' => [0],
|
95
|
+
'ZCARD' => '*',
|
96
|
+
'ZINCRBY' => [0, 1],
|
97
|
+
'ZRANGE' => '*',
|
98
|
+
'ZRANGEBYSCORE' => '*',
|
99
|
+
'ZREM' => [0],
|
100
|
+
'ZREMRANGEBYSCORE' => '*',
|
101
|
+
'ZREVRANGE' => '*',
|
102
|
+
'ZSCAN' => '*'
|
103
|
+
}.freeze
|
104
|
+
|
105
|
+
def parse_name_and_args(command)
|
106
|
+
command = command.dup
|
107
|
+
|
108
|
+
# Symbols and lower-case names are allowed
|
109
|
+
name = command.delete_at(0).to_s.upcase
|
110
|
+
|
111
|
+
allowed = KNOWN_ARGUMENTS[name] || []
|
112
|
+
args = case allowed
|
113
|
+
when '*' # All arguments considered safe
|
114
|
+
command
|
115
|
+
when Array # A list of allowed argument indices
|
116
|
+
command.each_with_index.map do |arg, index|
|
117
|
+
allowed.include?(index) ? arg : '?'
|
118
|
+
end
|
119
|
+
else # Unknown command - assume nothing is safe
|
120
|
+
Array.new(command.length, '?')
|
121
|
+
end.join(' ')
|
122
|
+
|
123
|
+
[name, args]
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
register 'Redis::Client',
|
131
|
+
'redis',
|
132
|
+
Redis::Command::Probe.new
|
133
|
+
end
|
134
|
+
end
|
@@ -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
|
data/lib/mnemosyne/trace.rb
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
module Mnemosyne
|
4
4
|
class Trace < Span
|
5
|
+
BT_REGEXP = /^((?:[a-zA-Z]:)?[^:]+):(\d+)(?::in `([^']+)')?$/.freeze
|
6
|
+
|
5
7
|
attr_reader :uuid, :transaction, :origin, :span, :errors
|
6
8
|
|
7
9
|
def initialize(instrumenter, name, transaction: nil, origin: nil, **kwargs)
|
@@ -57,8 +59,6 @@ module Mnemosyne
|
|
57
59
|
end
|
58
60
|
|
59
61
|
Error = Struct.new(:error) do
|
60
|
-
BT_REGEXP = /^((?:[a-zA-Z]:)?[^:]+):(\d+)(?::in `([^']+)')?$/.freeze
|
61
|
-
|
62
62
|
def serialize
|
63
63
|
{
|
64
64
|
type: error.class.name,
|
data/lib/mnemosyne/version.rb
CHANGED
@@ -3,11 +3,11 @@
|
|
3
3
|
module Mnemosyne
|
4
4
|
module VERSION
|
5
5
|
MAJOR = 1
|
6
|
-
MINOR =
|
6
|
+
MINOR = 13
|
7
7
|
PATCH = 0
|
8
8
|
STAGE = nil
|
9
9
|
|
10
|
-
STRING = [MAJOR, MINOR, PATCH, STAGE].
|
10
|
+
STRING = [MAJOR, MINOR, PATCH, STAGE].compact.join('.')
|
11
11
|
|
12
12
|
def self.to_s
|
13
13
|
STRING
|
data/lib/mnemosyne.rb
CHANGED
@@ -42,10 +42,12 @@ module Mnemosyne
|
|
42
42
|
require 'mnemosyne/probes/grape/endpoint_run_filters'
|
43
43
|
require 'mnemosyne/probes/msgr/client'
|
44
44
|
require 'mnemosyne/probes/msgr/consumer'
|
45
|
+
require 'mnemosyne/probes/redis/command'
|
45
46
|
require 'mnemosyne/probes/responder/respond'
|
46
47
|
require 'mnemosyne/probes/restify/base'
|
47
48
|
require 'mnemosyne/probes/sidekiq/client'
|
48
49
|
require 'mnemosyne/probes/sidekiq/server'
|
50
|
+
require 'mnemosyne/probes/view_component/render_component'
|
49
51
|
end
|
50
52
|
|
51
53
|
module Middleware
|
data/mnemosyne-ruby.gemspec
CHANGED
@@ -14,7 +14,11 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.homepage = 'http://github.com/jgraichen/mnemosyne-ruby'
|
15
15
|
spec.license = 'MIT'
|
16
16
|
|
17
|
-
spec.
|
17
|
+
spec.metadata = {
|
18
|
+
'rubygems_mfa_required' => 'true'
|
19
|
+
}
|
20
|
+
|
21
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
22
|
f.match(%r{^(test|spec|features)/})
|
19
23
|
end
|
20
24
|
|
@@ -22,6 +26,7 @@ Gem::Specification.new do |spec|
|
|
22
26
|
spec.executables = spec.files.grep(%r{^bin/}) {|f| File.basename(f) }
|
23
27
|
spec.require_paths = %w[lib]
|
24
28
|
|
29
|
+
spec.required_ruby_version = '>= 2.5'
|
25
30
|
spec.add_runtime_dependency 'activesupport', '>= 4'
|
26
31
|
spec.add_runtime_dependency 'bunny'
|
27
32
|
|
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.
|
4
|
+
version: 1.13.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:
|
11
|
+
date: 2022-04-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -60,22 +60,28 @@ extensions: []
|
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
62
|
- ".editorconfig"
|
63
|
-
- ".github/workflows/build.yml"
|
64
63
|
- ".github/workflows/lint.yml"
|
64
|
+
- ".github/workflows/test.yml"
|
65
65
|
- ".gitignore"
|
66
66
|
- ".rspec"
|
67
67
|
- ".rubocop.yml"
|
68
|
-
- ".travis.yml"
|
69
68
|
- Appraisals
|
70
69
|
- CHANGELOG.md
|
71
70
|
- Gemfile
|
72
71
|
- LICENSE
|
73
72
|
- README.md
|
74
73
|
- Rakefile
|
74
|
+
- gemfiles/faraday_09.gemfile
|
75
|
+
- gemfiles/faraday_10.gemfile
|
75
76
|
- gemfiles/rails_50.gemfile
|
76
77
|
- gemfiles/rails_51.gemfile
|
77
78
|
- gemfiles/rails_52.gemfile
|
78
79
|
- gemfiles/rails_60.gemfile
|
80
|
+
- gemfiles/rails_61.gemfile
|
81
|
+
- gemfiles/rails_70.gemfile
|
82
|
+
- gemfiles/redis_40.gemfile
|
83
|
+
- gemfiles/sidekiq_50.gemfile
|
84
|
+
- gemfiles/sidekiq_60.gemfile
|
79
85
|
- lib/mnemosyne-ruby.rb
|
80
86
|
- lib/mnemosyne.rb
|
81
87
|
- lib/mnemosyne/client.rb
|
@@ -106,22 +112,26 @@ files:
|
|
106
112
|
- lib/mnemosyne/probes/mnemosyne/tracer.rb
|
107
113
|
- lib/mnemosyne/probes/msgr/client.rb
|
108
114
|
- lib/mnemosyne/probes/msgr/consumer.rb
|
115
|
+
- lib/mnemosyne/probes/redis/command.rb
|
109
116
|
- lib/mnemosyne/probes/responder/respond.rb
|
110
117
|
- lib/mnemosyne/probes/restify/base.rb
|
111
118
|
- lib/mnemosyne/probes/sidekiq/client.rb
|
112
119
|
- lib/mnemosyne/probes/sidekiq/server.rb
|
120
|
+
- lib/mnemosyne/probes/view_component/render_component.rb
|
113
121
|
- lib/mnemosyne/railtie.rb
|
114
122
|
- lib/mnemosyne/registry.rb
|
115
123
|
- lib/mnemosyne/span.rb
|
116
124
|
- lib/mnemosyne/trace.rb
|
117
125
|
- lib/mnemosyne/version.rb
|
118
126
|
- mnemosyne-ruby.gemspec
|
127
|
+
- renovate.json
|
119
128
|
- scripts/console
|
120
129
|
- scripts/setup
|
121
130
|
homepage: http://github.com/jgraichen/mnemosyne-ruby
|
122
131
|
licenses:
|
123
132
|
- MIT
|
124
|
-
metadata:
|
133
|
+
metadata:
|
134
|
+
rubygems_mfa_required: 'true'
|
125
135
|
post_install_message:
|
126
136
|
rdoc_options: []
|
127
137
|
require_paths:
|
@@ -130,14 +140,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
130
140
|
requirements:
|
131
141
|
- - ">="
|
132
142
|
- !ruby/object:Gem::Version
|
133
|
-
version: '
|
143
|
+
version: '2.5'
|
134
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
135
145
|
requirements:
|
136
146
|
- - ">="
|
137
147
|
- !ruby/object:Gem::Version
|
138
148
|
version: '0'
|
139
149
|
requirements: []
|
140
|
-
rubygems_version: 3.
|
150
|
+
rubygems_version: 3.3.3
|
141
151
|
signing_key:
|
142
152
|
specification_version: 4
|
143
153
|
summary: Ruby/Rails client for Mnemosyne APM
|
data/.github/workflows/build.yml
DELETED
@@ -1,93 +0,0 @@
|
|
1
|
-
name: Build
|
2
|
-
on:
|
3
|
-
push:
|
4
|
-
branches-ignore: [debian]
|
5
|
-
|
6
|
-
jobs:
|
7
|
-
test:
|
8
|
-
name: Ruby ${{ matrix.ruby }} / ${{ matrix.suite }}
|
9
|
-
runs-on: ubuntu-18.04
|
10
|
-
|
11
|
-
strategy:
|
12
|
-
fail-fast: false
|
13
|
-
matrix:
|
14
|
-
ruby: ['2.7', '2.6', '2.5']
|
15
|
-
suite:
|
16
|
-
- core
|
17
|
-
- faraday-0.9
|
18
|
-
- faraday-1.0
|
19
|
-
- msgr
|
20
|
-
- rack
|
21
|
-
- rails-5.0
|
22
|
-
- rails-5.1
|
23
|
-
- rails-5.2
|
24
|
-
- rails-6.0
|
25
|
-
- restify
|
26
|
-
- sidekiq-5
|
27
|
-
- sidekiq-6
|
28
|
-
include:
|
29
|
-
- suite: core
|
30
|
-
spec: --tag ~probe
|
31
|
-
- suite: faraday-0.9
|
32
|
-
spec: --tag probe:faraday
|
33
|
-
env: FARADAY_VERSION='~> 0.9'
|
34
|
-
- suite: faraday-1.0
|
35
|
-
spec: --tag probe:faraday
|
36
|
-
env: FARADAY_VERSION='~> 1.0'
|
37
|
-
- suite: msgr
|
38
|
-
spec: --tag probe:msgr
|
39
|
-
- suite: rack
|
40
|
-
spec: --tag probe:rack
|
41
|
-
- suite: rails-5.0
|
42
|
-
spec: --tag probe:rails --tag ~probe
|
43
|
-
env: BUNDLE_GEMFILE=gemfiles/rails_50.gemfile
|
44
|
-
- suite: rails-5.1
|
45
|
-
spec: --tag probe:rails --tag ~probe
|
46
|
-
env: BUNDLE_GEMFILE=gemfiles/rails_51.gemfile
|
47
|
-
- suite: rails-5.2
|
48
|
-
spec: --tag probe:rails --tag ~probe
|
49
|
-
env: BUNDLE_GEMFILE=gemfiles/rails_52.gemfile
|
50
|
-
- suite: rails-6.0
|
51
|
-
spec: --tag probe:rails --tag ~probe
|
52
|
-
env: BUNDLE_GEMFILE=gemfiles/rails_60.gemfile
|
53
|
-
- suite: restify
|
54
|
-
spec: --tag probe:restify
|
55
|
-
- suite: sidekiq-5
|
56
|
-
spec: --tag probe:sidekiq
|
57
|
-
env: SIDEKIQ_VERSION='~> 5.0'
|
58
|
-
- suite: sidekiq-6
|
59
|
-
spec: --tag probe:sidekiq
|
60
|
-
env: SIDEKIQ_VERSION='~> 6.0'
|
61
|
-
|
62
|
-
|
63
|
-
services:
|
64
|
-
rabbitmq:
|
65
|
-
image: rabbitmq:latest
|
66
|
-
ports: [5672/tcp]
|
67
|
-
options: --health-cmd "rabbitmqctl node_health_check" --health-interval 10s --health-timeout 5s --health-retries 5
|
68
|
-
|
69
|
-
steps:
|
70
|
-
- uses: actions/checkout@master
|
71
|
-
|
72
|
-
- uses: actions/setup-ruby@v1
|
73
|
-
with:
|
74
|
-
ruby-version: ${{ matrix.ruby }}
|
75
|
-
|
76
|
-
- uses: actions/cache@v1
|
77
|
-
with:
|
78
|
-
path: vendor
|
79
|
-
key: v1-ruby-${{ matrix.ruby }}-suite-${{ matrix.suite }}
|
80
|
-
|
81
|
-
- name: Install Ruby dependencies
|
82
|
-
run: |
|
83
|
-
set -x
|
84
|
-
gem install bundler --version '1.17.3'
|
85
|
-
bundle config path "$(pwd)/vendor/bundle"
|
86
|
-
bundle config without development
|
87
|
-
${{ matrix.env }} bundle update --jobs=$(nproc) --retry=3
|
88
|
-
|
89
|
-
- name: Run rspec
|
90
|
-
env:
|
91
|
-
AMQP_SERVER: amqp://localhost:${{ job.services.rabbitmq.ports[5672] }}
|
92
|
-
run: |
|
93
|
-
${{ matrix.env }} bundle exec rspec --color ${{ matrix.spec }}
|
data/.travis.yml
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
cache: bundler
|
3
|
-
sudo: required
|
4
|
-
services:
|
5
|
-
- rabbitmq
|
6
|
-
addons:
|
7
|
-
apt:
|
8
|
-
packages:
|
9
|
-
- rabbitmq-server
|
10
|
-
rvm:
|
11
|
-
- 2.7.0
|
12
|
-
- 2.6.5
|
13
|
-
- 2.5.7
|
14
|
-
- 2.4.9
|
15
|
-
env:
|
16
|
-
- SPEC='--tag ~probe'
|
17
|
-
- SPEC='--tag probe:faraday' FARADAY_VERSION='~> 0.9'
|
18
|
-
- SPEC='--tag probe:faraday' FARADAY_VERSION='~> 1.0'
|
19
|
-
- SPEC='--tag probe:msgr'
|
20
|
-
- SPEC='--tag probe:rack'
|
21
|
-
- SPEC='--tag probe:rails --tag ~probe' BUNDLE_GEMFILE=gemfiles/rails_42.gemfile
|
22
|
-
- SPEC='--tag probe:rails --tag ~probe' BUNDLE_GEMFILE=gemfiles/rails_50.gemfile
|
23
|
-
- SPEC='--tag probe:rails --tag ~probe' BUNDLE_GEMFILE=gemfiles/rails_51.gemfile
|
24
|
-
- SPEC='--tag probe:rails --tag ~probe' BUNDLE_GEMFILE=gemfiles/rails_52.gemfile
|
25
|
-
- SPEC='--tag probe:rails --tag ~probe' BUNDLE_GEMFILE=gemfiles/rails_60.gemfile
|
26
|
-
- SPEC='--tag probe:restify'
|
27
|
-
- SPEC='--tag probe:sidekiq' SIDEKIQ_VERSION='~> 5.0'
|
28
|
-
- SPEC='--tag probe:sidekiq' SIDEKIQ_VERSION='~> 6.0'
|
29
|
-
|
30
|
-
before_install:
|
31
|
-
- echo yes | rvm gemset delete global
|
32
|
-
- gem install bundler --version '~> 1.0'
|
33
|
-
script:
|
34
|
-
- bundle exec rspec ${SPEC}
|
35
|
-
|
36
|
-
matrix:
|
37
|
-
exclude:
|
38
|
-
- rvm: 2.4.9
|
39
|
-
env: SPEC='--tag probe:rails --tag ~probe' BUNDLE_GEMFILE=gemfiles/rails_60.gemfile
|
40
|
-
- rvm: 2.4.9
|
41
|
-
env: SPEC='--tag probe:sidekiq' SIDEKIQ_VERSION='~> 6.0'
|