mnemosyne-ruby 1.9.0 → 1.12.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/build.yml +98 -0
- data/.github/workflows/lint.yml +25 -0
- data/.rubocop.yml +44 -28
- data/Appraisals +18 -13
- data/CHANGELOG.md +22 -1
- data/Gemfile +20 -12
- data/README.md +2 -0
- data/Rakefile +7 -3
- data/gemfiles/rails_50.gemfile +20 -12
- data/gemfiles/rails_51.gemfile +20 -12
- data/gemfiles/rails_52.gemfile +20 -12
- data/gemfiles/rails_60.gemfile +20 -12
- data/lib/mnemosyne/configuration.rb +3 -3
- data/lib/mnemosyne/global.rb +2 -5
- data/lib/mnemosyne/instrumenter.rb +5 -5
- data/lib/mnemosyne/middleware/faraday.rb +2 -6
- data/lib/mnemosyne/middleware/rack.rb +10 -15
- data/lib/mnemosyne/middleware/sidekiq.rb +3 -3
- data/lib/mnemosyne/probes/action_controller/renderers.rb +1 -1
- data/lib/mnemosyne/probes/action_dispatch/show_exceptions.rb +1 -1
- data/lib/mnemosyne/probes/faraday/base.rb +4 -2
- data/lib/mnemosyne/probes/grape/endpoint_run.rb +1 -1
- data/lib/mnemosyne/probes/msgr/client.rb +2 -2
- data/lib/mnemosyne/probes/msgr/consumer.rb +4 -4
- data/lib/mnemosyne/probes/redis/command.rb +90 -0
- data/lib/mnemosyne/probes/responder/respond.rb +0 -1
- data/lib/mnemosyne/probes.rb +1 -1
- data/lib/mnemosyne/trace.rb +2 -2
- data/lib/mnemosyne/version.rb +1 -1
- data/lib/mnemosyne.rb +1 -0
- data/mnemosyne-ruby.gemspec +1 -0
- data/renovate.json +5 -0
- metadata +8 -6
- data/.travis.yml +0 -34
- data/gemfiles/rails_42.gemfile +0 -20
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4d19d4ccfaefb38e5aaa82b739e3c9b6af039b2195e366fc2a6a396acd109607
|
|
4
|
+
data.tar.gz: 0fec33a1d6e555fc5412f45d49f229cccca250f4cd875d4de3c34a2e46afe0c8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c57a3f90a19fa96f4dc5d7ebe77de3245d2d2fd133c7b97126b5025b6cf27a5fcb25125728f67c7aaa770e48774536bb51f604fd3586318c54982bb8f01076e7
|
|
7
|
+
data.tar.gz: a9c53ad0842c57890d9ceab21addb781297029a3dd82a22beaf213190bcb285a0e8c3de74db4491cfa46eb2c3b154354387de063096f7459f0d1b42966d60924
|
|
@@ -0,0 +1,98 @@
|
|
|
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
|
+
- redis-4.0
|
|
26
|
+
- restify
|
|
27
|
+
- sidekiq-5
|
|
28
|
+
- sidekiq-6
|
|
29
|
+
include:
|
|
30
|
+
- suite: core
|
|
31
|
+
spec: --tag ~probe
|
|
32
|
+
- suite: faraday-0.9
|
|
33
|
+
spec: --tag probe:faraday
|
|
34
|
+
env: FARADAY_VERSION='~> 0.9'
|
|
35
|
+
- suite: faraday-1.0
|
|
36
|
+
spec: --tag probe:faraday
|
|
37
|
+
env: FARADAY_VERSION='~> 1.0'
|
|
38
|
+
- suite: msgr
|
|
39
|
+
spec: --tag probe:msgr
|
|
40
|
+
- suite: rack
|
|
41
|
+
spec: --tag probe:rack
|
|
42
|
+
- suite: rails-5.0
|
|
43
|
+
spec: --tag probe:rails --tag ~probe
|
|
44
|
+
env: BUNDLE_GEMFILE=gemfiles/rails_50.gemfile
|
|
45
|
+
- suite: rails-5.1
|
|
46
|
+
spec: --tag probe:rails --tag ~probe
|
|
47
|
+
env: BUNDLE_GEMFILE=gemfiles/rails_51.gemfile
|
|
48
|
+
- suite: rails-5.2
|
|
49
|
+
spec: --tag probe:rails --tag ~probe
|
|
50
|
+
env: BUNDLE_GEMFILE=gemfiles/rails_52.gemfile
|
|
51
|
+
- suite: rails-6.0
|
|
52
|
+
spec: --tag probe:rails --tag ~probe
|
|
53
|
+
env: BUNDLE_GEMFILE=gemfiles/rails_60.gemfile
|
|
54
|
+
- suite: redis-4.0
|
|
55
|
+
spec: --tag probe:redis
|
|
56
|
+
env: REDIS_VERSION='~> 4.0'
|
|
57
|
+
- suite: restify
|
|
58
|
+
spec: --tag probe:restify
|
|
59
|
+
- suite: sidekiq-5
|
|
60
|
+
spec: --tag probe:sidekiq
|
|
61
|
+
env: SIDEKIQ_VERSION='~> 5.0'
|
|
62
|
+
- suite: sidekiq-6
|
|
63
|
+
spec: --tag probe:sidekiq
|
|
64
|
+
env: SIDEKIQ_VERSION='~> 6.0'
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
services:
|
|
68
|
+
rabbitmq:
|
|
69
|
+
image: rabbitmq:latest
|
|
70
|
+
ports: [5672/tcp]
|
|
71
|
+
options: --health-cmd "rabbitmqctl node_health_check" --health-interval 10s --health-timeout 5s --health-retries 5
|
|
72
|
+
|
|
73
|
+
steps:
|
|
74
|
+
- uses: actions/checkout@master
|
|
75
|
+
|
|
76
|
+
- uses: actions/setup-ruby@v1
|
|
77
|
+
with:
|
|
78
|
+
ruby-version: ${{ matrix.ruby }}
|
|
79
|
+
|
|
80
|
+
- uses: actions/cache@v2
|
|
81
|
+
with:
|
|
82
|
+
path: vendor
|
|
83
|
+
key: v1-ruby-${{ matrix.ruby }}-suite-${{ matrix.suite }}
|
|
84
|
+
|
|
85
|
+
- name: Install dependencies
|
|
86
|
+
run: |
|
|
87
|
+
set -x
|
|
88
|
+
sudo apt install -y redis-server
|
|
89
|
+
gem install bundler --version '1.17.3'
|
|
90
|
+
bundle config path "$(pwd)/vendor/bundle"
|
|
91
|
+
bundle config without development
|
|
92
|
+
${{ matrix.env }} bundle update --jobs=$(nproc) --retry=3
|
|
93
|
+
|
|
94
|
+
- name: Run rspec
|
|
95
|
+
env:
|
|
96
|
+
AMQP_SERVER: amqp://localhost:${{ job.services.rabbitmq.ports[5672] }}
|
|
97
|
+
run: |
|
|
98
|
+
${{ matrix.env }} bundle exec rspec --color ${{ matrix.spec }}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
name: Lint
|
|
2
|
+
on: [push]
|
|
3
|
+
jobs:
|
|
4
|
+
rubocop:
|
|
5
|
+
name: rubocop
|
|
6
|
+
runs-on: ubuntu-18.04
|
|
7
|
+
|
|
8
|
+
steps:
|
|
9
|
+
- uses: actions/checkout@master
|
|
10
|
+
- uses: actions/setup-ruby@v1
|
|
11
|
+
with:
|
|
12
|
+
ruby-version: 2.6
|
|
13
|
+
- uses: actions/cache@v2
|
|
14
|
+
with:
|
|
15
|
+
path: vendor
|
|
16
|
+
key: v1-ruby-2.6
|
|
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
|
|
23
|
+
|
|
24
|
+
- name: Run rubocop
|
|
25
|
+
run: bundle exec rubocop --parallel --color
|
data/.rubocop.yml
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
AllCops:
|
|
2
|
-
TargetRubyVersion: 2.
|
|
2
|
+
TargetRubyVersion: 2.5
|
|
3
3
|
Exclude:
|
|
4
4
|
- 'vendor/**/*'
|
|
5
5
|
- 'gemfiles/**/*'
|
|
6
|
+
NewCops: enable
|
|
7
|
+
SuggestExtensions: False
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
Enabled: false
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Layout/AlignParameters:
|
|
9
|
+
Layout/ArgumentAlignment:
|
|
12
10
|
EnforcedStyle: with_fixed_indentation
|
|
13
11
|
|
|
14
12
|
Layout/CaseIndentation:
|
|
@@ -18,20 +16,57 @@ Layout/CaseIndentation:
|
|
|
18
16
|
- end
|
|
19
17
|
IndentOneStep: true
|
|
20
18
|
|
|
19
|
+
Layout/LineLength:
|
|
20
|
+
Exclude:
|
|
21
|
+
- '*.gemspec'
|
|
22
|
+
- 'spec/**/*'
|
|
23
|
+
|
|
21
24
|
Layout/MultilineMethodCallIndentation:
|
|
22
25
|
EnforcedStyle: indented
|
|
23
26
|
|
|
24
27
|
Layout/SpaceInsideBlockBraces:
|
|
25
28
|
EnforcedStyle: space
|
|
26
29
|
EnforcedStyleForEmptyBraces: no_space
|
|
27
|
-
SpaceBeforeBlockParameters:
|
|
30
|
+
SpaceBeforeBlockParameters: False
|
|
28
31
|
|
|
29
32
|
Layout/SpaceInsideHashLiteralBraces:
|
|
30
33
|
EnforcedStyle: no_space
|
|
31
34
|
|
|
32
35
|
|
|
33
|
-
|
|
34
|
-
|
|
36
|
+
Metrics/AbcSize:
|
|
37
|
+
Enabled: False
|
|
38
|
+
|
|
39
|
+
Metrics/BlockLength:
|
|
40
|
+
Exclude:
|
|
41
|
+
- 'spec/**/*'
|
|
42
|
+
|
|
43
|
+
Metrics/ParameterLists:
|
|
44
|
+
Enabled: False
|
|
45
|
+
|
|
46
|
+
Metrics/MethodLength:
|
|
47
|
+
Enabled: False
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
Naming/FileName:
|
|
51
|
+
Exclude:
|
|
52
|
+
- lib/mnemosyne-ruby.rb
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
# Single attr_reader statements allow easy documentation of attributes.
|
|
56
|
+
Style/AccessorGrouping:
|
|
57
|
+
Enabled: False
|
|
58
|
+
|
|
59
|
+
Style/Documentation:
|
|
60
|
+
Enabled: False
|
|
61
|
+
|
|
62
|
+
Style/HashEachMethods:
|
|
63
|
+
Enabled: False
|
|
64
|
+
|
|
65
|
+
Style/HashTransformKeys:
|
|
66
|
+
Enabled: False
|
|
67
|
+
|
|
68
|
+
Style/HashTransformValues:
|
|
69
|
+
Enabled: False
|
|
35
70
|
|
|
36
71
|
Style/RaiseArgs:
|
|
37
72
|
EnforcedStyle: compact
|
|
@@ -46,22 +81,3 @@ Style/Semicolon:
|
|
|
46
81
|
Style/RescueModifier:
|
|
47
82
|
Exclude:
|
|
48
83
|
- '**/*_spec.rb'
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
Metrics/LineLength:
|
|
52
|
-
Exclude:
|
|
53
|
-
- '*.gemspec'
|
|
54
|
-
- 'spec/**/*'
|
|
55
|
-
|
|
56
|
-
Metrics/BlockLength:
|
|
57
|
-
Exclude:
|
|
58
|
-
- 'spec/**/*'
|
|
59
|
-
|
|
60
|
-
Metrics/ParameterLists:
|
|
61
|
-
Enabled: false
|
|
62
|
-
|
|
63
|
-
Metrics/MethodLength:
|
|
64
|
-
Enabled: false
|
|
65
|
-
|
|
66
|
-
Style/Documentation:
|
|
67
|
-
Enabled: false
|
data/Appraisals
CHANGED
|
@@ -1,24 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
appraise 'rails-60' do
|
|
2
|
-
|
|
3
|
-
|
|
4
|
+
group :test do
|
|
5
|
+
gem 'rails', '~> 6.0.0', require: false
|
|
6
|
+
gem 'sqlite3', '~> 1.4', require: false
|
|
7
|
+
end
|
|
4
8
|
end
|
|
5
9
|
|
|
6
10
|
appraise 'rails-52' do
|
|
7
|
-
|
|
8
|
-
|
|
11
|
+
group :test do
|
|
12
|
+
gem 'rails', '~> 5.2.0', require: false
|
|
13
|
+
gem 'sqlite3', '~> 1.4', require: false
|
|
14
|
+
end
|
|
9
15
|
end
|
|
10
16
|
|
|
11
17
|
appraise 'rails-51' do
|
|
12
|
-
|
|
13
|
-
|
|
18
|
+
group :test do
|
|
19
|
+
gem 'rails', '~> 5.1.0', require: false
|
|
20
|
+
gem 'sqlite3', '~> 1.4', require: false
|
|
21
|
+
end
|
|
14
22
|
end
|
|
15
23
|
|
|
16
24
|
appraise 'rails-50' do
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
appraise 'rails-42' do
|
|
22
|
-
gem 'rails', '~> 4.2.0', require: false
|
|
23
|
-
gem 'sqlite3', '~> 1.3.6', require: false
|
|
25
|
+
group :test do
|
|
26
|
+
gem 'rails', '~> 5.0.0', require: false
|
|
27
|
+
gem 'sqlite3', '~> 1.3.6', require: false
|
|
28
|
+
end
|
|
24
29
|
end
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,24 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [1.12.0] - 2021-08-24
|
|
9
|
+
### Added
|
|
10
|
+
- Support for `redis` gem (#34)
|
|
11
|
+
|
|
12
|
+
### Removed
|
|
13
|
+
- Support for Ruby 2.4 (hard gem requirement)
|
|
14
|
+
|
|
15
|
+
## [1.11.0] - 2020-12-18
|
|
16
|
+
### Removed
|
|
17
|
+
- Support for Ruby 2.4 and Rails 4.2
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- Deprecation warnings due to block capture and keyword arguments
|
|
21
|
+
|
|
22
|
+
## [1.10.0] - 2020-03-05
|
|
23
|
+
### Added
|
|
24
|
+
- Support for Faraday 1.0
|
|
25
|
+
|
|
8
26
|
## [1.9.0] - 2019-12-17
|
|
9
27
|
### Fixed
|
|
10
28
|
- [Rack] Fix exceptions raised on trace submit corrupting the response
|
|
@@ -93,7 +111,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
93
111
|
### Added
|
|
94
112
|
- Add platform identifier
|
|
95
113
|
|
|
96
|
-
[Unreleased]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.
|
|
114
|
+
[Unreleased]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.12.0...HEAD
|
|
115
|
+
[1.12.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.10.0...v1.12.0
|
|
116
|
+
[1.11.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.10.0...v1.11.0
|
|
117
|
+
[1.10.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.9.0...v1.10.0
|
|
97
118
|
[1.9.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.8.0...v1.9.0
|
|
98
119
|
[1.8.0]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.7.1...v1.8.0
|
|
99
120
|
[1.7.1]: https://github.com/mnemosyne-mon/mnemosyne-ruby/compare/v1.7.0...v1.7.1
|
data/Gemfile
CHANGED
|
@@ -5,19 +5,27 @@ source 'https://rubygems.org'
|
|
|
5
5
|
# Specify your gem's dependencies in mnemosyne.gemspec
|
|
6
6
|
gemspec
|
|
7
7
|
|
|
8
|
-
gem '
|
|
9
|
-
gem 'rake', '~> 12.0'
|
|
8
|
+
gem 'rake', '~> 13.0'
|
|
10
9
|
gem 'rspec', '~> 3.6'
|
|
11
|
-
gem 'rubocop', '~>
|
|
10
|
+
gem 'rubocop', '~> 1.19.0'
|
|
12
11
|
gem 'timecop', '~> 0.9.1'
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
gem '
|
|
13
|
+
group :test do
|
|
14
|
+
gem 'faraday', ENV['FARADAY_VERSION'], require: false
|
|
15
|
+
gem 'msgr', ENV['MSGR_VERSION'], require: false
|
|
16
|
+
gem 'redis', ENV['REDIS_VERSION'], require: false
|
|
17
|
+
gem 'restify', ENV['RESTIFY_VERSION'], require: false
|
|
18
|
+
gem 'sidekiq', ENV['SIDEKIQ_VERSION'], require: false
|
|
16
19
|
|
|
17
|
-
gem '
|
|
18
|
-
gem '
|
|
19
|
-
gem '
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
gem '
|
|
20
|
+
gem 'rails', require: false
|
|
21
|
+
gem 'sqlite3', require: false
|
|
22
|
+
gem 'webmock', require: false
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
group :development do
|
|
26
|
+
gem 'appraisal'
|
|
27
|
+
gem 'rake-release', '~> 1.3.0'
|
|
28
|
+
|
|
29
|
+
gem 'pry', require: false
|
|
30
|
+
gem 'pry-byebug', require: false
|
|
31
|
+
end
|
data/README.md
CHANGED
|
@@ -31,6 +31,8 @@ Or install it yourself as:
|
|
|
31
31
|
|
|
32
32
|
$ gem install mnemosyne
|
|
33
33
|
|
|
34
|
+
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
|
+
|
|
34
36
|
## Usage
|
|
35
37
|
|
|
36
38
|
TODO
|
data/Rakefile
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require '
|
|
3
|
+
require 'rake/release/task'
|
|
4
4
|
require 'rspec/core/rake_task'
|
|
5
5
|
require 'rubocop/rake_task'
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
task default: %i[rubocop spec]
|
|
8
8
|
|
|
9
9
|
RuboCop::RakeTask.new(:rubocop) do |task|
|
|
10
10
|
task.fail_on_error = false
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
RSpec::Core::RakeTask.new(:spec)
|
|
14
|
+
|
|
15
|
+
Rake::Release::Task.new do |spec|
|
|
16
|
+
spec.sign_tag = true
|
|
17
|
+
end
|
data/gemfiles/rails_50.gemfile
CHANGED
|
@@ -2,19 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
source "https://rubygems.org"
|
|
4
4
|
|
|
5
|
-
gem "
|
|
6
|
-
gem "rake", "~> 12.0"
|
|
5
|
+
gem "rake", "~> 13.0"
|
|
7
6
|
gem "rspec", "~> 3.6"
|
|
8
|
-
gem "rubocop", "~>
|
|
7
|
+
gem "rubocop", "~> 1.19.0"
|
|
9
8
|
gem "timecop", "~> 0.9.1"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
gem "faraday", require: false
|
|
13
|
-
gem "msgr", require: false
|
|
14
|
-
gem "
|
|
15
|
-
gem "restify", require: false
|
|
16
|
-
gem "sidekiq", require: false
|
|
17
|
-
gem "
|
|
18
|
-
gem "
|
|
9
|
+
|
|
10
|
+
group :test do
|
|
11
|
+
gem "faraday", nil, require: false
|
|
12
|
+
gem "msgr", nil, require: false
|
|
13
|
+
gem "redis", nil, require: false
|
|
14
|
+
gem "restify", nil, require: false
|
|
15
|
+
gem "sidekiq", nil, require: false
|
|
16
|
+
gem "rails", "~> 5.0.0", require: false
|
|
17
|
+
gem "sqlite3", "~> 1.3.6", require: false
|
|
18
|
+
gem "webmock", require: false
|
|
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
|
|
19
27
|
|
|
20
28
|
gemspec path: "../"
|
data/gemfiles/rails_51.gemfile
CHANGED
|
@@ -2,19 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
source "https://rubygems.org"
|
|
4
4
|
|
|
5
|
-
gem "
|
|
6
|
-
gem "rake", "~> 12.0"
|
|
5
|
+
gem "rake", "~> 13.0"
|
|
7
6
|
gem "rspec", "~> 3.6"
|
|
8
|
-
gem "rubocop", "~>
|
|
7
|
+
gem "rubocop", "~> 1.19.0"
|
|
9
8
|
gem "timecop", "~> 0.9.1"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
gem "faraday", require: false
|
|
13
|
-
gem "msgr", require: false
|
|
14
|
-
gem "
|
|
15
|
-
gem "restify", require: false
|
|
16
|
-
gem "sidekiq", require: false
|
|
17
|
-
gem "
|
|
18
|
-
gem "
|
|
9
|
+
|
|
10
|
+
group :test do
|
|
11
|
+
gem "faraday", nil, require: false
|
|
12
|
+
gem "msgr", nil, require: false
|
|
13
|
+
gem "redis", nil, require: false
|
|
14
|
+
gem "restify", nil, require: false
|
|
15
|
+
gem "sidekiq", nil, require: false
|
|
16
|
+
gem "rails", "~> 5.1.0", require: false
|
|
17
|
+
gem "sqlite3", "~> 1.4", require: false
|
|
18
|
+
gem "webmock", require: false
|
|
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
|
|
19
27
|
|
|
20
28
|
gemspec path: "../"
|
data/gemfiles/rails_52.gemfile
CHANGED
|
@@ -2,19 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
source "https://rubygems.org"
|
|
4
4
|
|
|
5
|
-
gem "
|
|
6
|
-
gem "rake", "~> 12.0"
|
|
5
|
+
gem "rake", "~> 13.0"
|
|
7
6
|
gem "rspec", "~> 3.6"
|
|
8
|
-
gem "rubocop", "~>
|
|
7
|
+
gem "rubocop", "~> 1.19.0"
|
|
9
8
|
gem "timecop", "~> 0.9.1"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
gem "faraday", require: false
|
|
13
|
-
gem "msgr", require: false
|
|
14
|
-
gem "
|
|
15
|
-
gem "restify", require: false
|
|
16
|
-
gem "sidekiq", require: false
|
|
17
|
-
gem "
|
|
18
|
-
gem "
|
|
9
|
+
|
|
10
|
+
group :test do
|
|
11
|
+
gem "faraday", nil, require: false
|
|
12
|
+
gem "msgr", nil, require: false
|
|
13
|
+
gem "redis", nil, require: false
|
|
14
|
+
gem "restify", nil, require: false
|
|
15
|
+
gem "sidekiq", nil, require: false
|
|
16
|
+
gem "rails", "~> 5.2.0", require: false
|
|
17
|
+
gem "sqlite3", "~> 1.4", require: false
|
|
18
|
+
gem "webmock", require: false
|
|
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
|
|
19
27
|
|
|
20
28
|
gemspec path: "../"
|
data/gemfiles/rails_60.gemfile
CHANGED
|
@@ -2,19 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
source "https://rubygems.org"
|
|
4
4
|
|
|
5
|
-
gem "
|
|
6
|
-
gem "rake", "~> 12.0"
|
|
5
|
+
gem "rake", "~> 13.0"
|
|
7
6
|
gem "rspec", "~> 3.6"
|
|
8
|
-
gem "rubocop", "~>
|
|
7
|
+
gem "rubocop", "~> 1.19.0"
|
|
9
8
|
gem "timecop", "~> 0.9.1"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
gem "faraday", require: false
|
|
13
|
-
gem "msgr", require: false
|
|
14
|
-
gem "
|
|
15
|
-
gem "restify", require: false
|
|
16
|
-
gem "sidekiq", require: false
|
|
17
|
-
gem "
|
|
18
|
-
gem "
|
|
9
|
+
|
|
10
|
+
group :test do
|
|
11
|
+
gem "faraday", nil, require: false
|
|
12
|
+
gem "msgr", nil, require: false
|
|
13
|
+
gem "redis", nil, require: false
|
|
14
|
+
gem "restify", nil, require: false
|
|
15
|
+
gem "sidekiq", nil, require: false
|
|
16
|
+
gem "rails", "~> 6.0.0", require: false
|
|
17
|
+
gem "sqlite3", "~> 1.4", require: false
|
|
18
|
+
gem "webmock", require: false
|
|
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
|
|
19
27
|
|
|
20
28
|
gemspec path: "../"
|
|
@@ -13,7 +13,7 @@ module Mnemosyne
|
|
|
13
13
|
attr_reader :exchange
|
|
14
14
|
attr_reader :server
|
|
15
15
|
|
|
16
|
-
def initialize(config)
|
|
16
|
+
def initialize(config)
|
|
17
17
|
@platform = config.fetch('platform', 'default').to_s.strip.freeze
|
|
18
18
|
@application = config.fetch('application', nil).to_s.strip.freeze
|
|
19
19
|
@enabled = config.fetch('enabled', true)
|
|
@@ -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,12 +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
|
-
|
|
9
|
-
yield
|
|
10
|
-
end
|
|
7
|
+
name: name, meta: meta, &block
|
|
11
8
|
end
|
|
12
9
|
|
|
13
10
|
def attach_error(err)
|
|
@@ -31,7 +31,7 @@ module Mnemosyne
|
|
|
31
31
|
return trace
|
|
32
32
|
end
|
|
33
33
|
|
|
34
|
-
trace = self.current_trace = Trace.new(self, name, kwargs)
|
|
34
|
+
trace = self.current_trace = Trace.new(self, name, **kwargs)
|
|
35
35
|
|
|
36
36
|
return trace unless block_given?
|
|
37
37
|
|
|
@@ -68,9 +68,9 @@ module Mnemosyne
|
|
|
68
68
|
|
|
69
69
|
@instance = new(config: config, client: client)
|
|
70
70
|
end
|
|
71
|
-
rescue StandardError =>
|
|
71
|
+
rescue StandardError => e
|
|
72
72
|
::Mnemosyne::Logging.logger.warn(Mnemosyne) do
|
|
73
|
-
"Unable to start instrumenter: #{
|
|
73
|
+
"Unable to start instrumenter: #{e}"
|
|
74
74
|
end
|
|
75
75
|
|
|
76
76
|
raise
|
|
@@ -85,10 +85,10 @@ module Mnemosyne
|
|
|
85
85
|
@instance = old
|
|
86
86
|
end
|
|
87
87
|
|
|
88
|
-
def trace(*args)
|
|
88
|
+
def trace(*args, **kwargs)
|
|
89
89
|
return unless (instrumenter = instance)
|
|
90
90
|
|
|
91
|
-
instrumenter.trace(*args)
|
|
91
|
+
instrumenter.trace(*args, **kwargs)
|
|
92
92
|
end
|
|
93
93
|
|
|
94
94
|
def current_trace
|
|
@@ -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,9 +18,9 @@ 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
|
-
@app.call(env).on_complete do |env|
|
|
23
|
+
@app.call(env).on_complete do |env| # rubocop:disable Lint/ShadowingOuterLocalVariable
|
|
28
24
|
span.meta[:status] = env[:status]
|
|
29
25
|
|
|
30
26
|
trace << span.finish!
|
|
@@ -16,14 +16,9 @@ module Mnemosyne
|
|
|
16
16
|
@body.respond_to?(*args)
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
def method_missing(*args)
|
|
19
|
+
def method_missing(*args, &block)
|
|
20
20
|
super if args.first && args.first.to_s == 'to_ary'
|
|
21
|
-
|
|
22
|
-
if block_given?
|
|
23
|
-
@body.__send__(*args, &Proc.new)
|
|
24
|
-
else
|
|
25
|
-
@body.__send__(*args)
|
|
26
|
-
end
|
|
21
|
+
@body.__send__(*args, &block)
|
|
27
22
|
end
|
|
28
23
|
|
|
29
24
|
def close
|
|
@@ -42,8 +37,8 @@ module Mnemosyne
|
|
|
42
37
|
@closed
|
|
43
38
|
end
|
|
44
39
|
|
|
45
|
-
def each(*args)
|
|
46
|
-
@body.each(*args, &
|
|
40
|
+
def each(*args, &block)
|
|
41
|
+
@body.each(*args, &block)
|
|
47
42
|
rescue StandardError, LoadError, SyntaxError => e
|
|
48
43
|
@trace.attach_error(e)
|
|
49
44
|
raise
|
|
@@ -53,7 +48,7 @@ module Mnemosyne
|
|
|
53
48
|
|
|
54
49
|
def _submit_trace
|
|
55
50
|
@trace.submit
|
|
56
|
-
rescue Exception => e
|
|
51
|
+
rescue Exception => e # rubocop:disable Lint/RescueException
|
|
57
52
|
::Mnemosyne::Logging.logger.error \
|
|
58
53
|
"Error while submitting trace: #{e}\n #{e.backtrace.join("\n ")}"
|
|
59
54
|
end
|
|
@@ -63,7 +58,7 @@ module Mnemosyne
|
|
|
63
58
|
@app = app
|
|
64
59
|
end
|
|
65
60
|
|
|
66
|
-
def call(env)
|
|
61
|
+
def call(env)
|
|
67
62
|
origin = env.fetch('HTTP_X_MNEMOSYNE_ORIGIN', false)
|
|
68
63
|
transaction = env.fetch('HTTP_X_MNEMOSYNE_TRANSACTION') do
|
|
69
64
|
::SecureRandom.uuid
|
|
@@ -95,7 +90,7 @@ module Mnemosyne
|
|
|
95
90
|
|
|
96
91
|
raise
|
|
97
92
|
ensure
|
|
98
|
-
trace
|
|
93
|
+
trace&.release
|
|
99
94
|
end
|
|
100
95
|
|
|
101
96
|
private
|
|
@@ -106,8 +101,8 @@ module Mnemosyne
|
|
|
106
101
|
trace.meta[:query] = env['QUERY_STRING']
|
|
107
102
|
trace.meta[:protocol] = env['SERVER_PROTOCOL']
|
|
108
103
|
trace.meta[:headers] = {
|
|
109
|
-
|
|
110
|
-
|
|
104
|
+
Accept: env['HTTP_ACCEPT'],
|
|
105
|
+
Host: env['HTTP_HOST'],
|
|
111
106
|
'User-Agent': env['HTTP_USER_AGENT']
|
|
112
107
|
}
|
|
113
108
|
end
|
|
@@ -121,7 +116,7 @@ module Mnemosyne
|
|
|
121
116
|
|
|
122
117
|
trace.meta.merge!({
|
|
123
118
|
content_type: headers['Content-Type'],
|
|
124
|
-
location: headers['Location']
|
|
119
|
+
location: headers['Location']
|
|
125
120
|
}.compact)
|
|
126
121
|
end
|
|
127
122
|
end
|
|
@@ -19,11 +19,11 @@ module Mnemosyne
|
|
|
19
19
|
origin: origin,
|
|
20
20
|
meta: meta
|
|
21
21
|
|
|
22
|
-
trace
|
|
22
|
+
trace&.start!
|
|
23
23
|
|
|
24
24
|
yield
|
|
25
|
-
rescue StandardError, LoadError, SyntaxError =>
|
|
26
|
-
trace.attach_error(
|
|
25
|
+
rescue StandardError, LoadError, SyntaxError => e
|
|
26
|
+
trace.attach_error(e)
|
|
27
27
|
raise
|
|
28
28
|
ensure
|
|
29
29
|
if trace
|
|
@@ -18,8 +18,10 @@ module Mnemosyne
|
|
|
18
18
|
module Extension
|
|
19
19
|
def lock!
|
|
20
20
|
unless @handlers.include?('Mnemosyne::Middleware::Faraday')
|
|
21
|
-
if
|
|
22
|
-
(
|
|
21
|
+
if ::Faraday::VERSION < '1.0' &&
|
|
22
|
+
respond_to?(:is_adapter?, true) &&
|
|
23
|
+
(idx = @handlers.find_index {|m| is_adapter?(m) })
|
|
24
|
+
|
|
23
25
|
insert(idx, ::Mnemosyne::Middleware::Faraday)
|
|
24
26
|
else
|
|
25
27
|
use(::Mnemosyne::Middleware::Faraday)
|
|
@@ -4,11 +4,11 @@ module Mnemosyne
|
|
|
4
4
|
module Probes
|
|
5
5
|
module Msgr
|
|
6
6
|
module Client
|
|
7
|
-
NAME = 'external.publish.msgr'
|
|
7
|
+
NAME = 'external.publish.msgr'
|
|
8
8
|
|
|
9
9
|
class Probe < ::Mnemosyne::Probe
|
|
10
10
|
def setup
|
|
11
|
-
::Msgr::Client.
|
|
11
|
+
::Msgr::Client.prepend Instrumentation
|
|
12
12
|
end
|
|
13
13
|
end
|
|
14
14
|
|
|
@@ -4,16 +4,16 @@ module Mnemosyne
|
|
|
4
4
|
module Probes
|
|
5
5
|
module Msgr
|
|
6
6
|
module Consumer
|
|
7
|
-
NAME = 'app.messaging.receive.msgr'
|
|
7
|
+
NAME = 'app.messaging.receive.msgr'
|
|
8
8
|
|
|
9
9
|
class Probe < ::Mnemosyne::Probe
|
|
10
10
|
def setup
|
|
11
|
-
::Msgr::Consumer.
|
|
11
|
+
::Msgr::Consumer.prepend Instrumentation
|
|
12
12
|
end
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
module Instrumentation
|
|
16
|
-
def dispatch(message)
|
|
16
|
+
def dispatch(message)
|
|
17
17
|
route = message.route
|
|
18
18
|
metadata = message.metadata
|
|
19
19
|
headers = metadata.headers || {}
|
|
@@ -57,7 +57,7 @@ module Mnemosyne
|
|
|
57
57
|
|
|
58
58
|
super
|
|
59
59
|
rescue StandardError, LoadError, SyntaxError => e
|
|
60
|
-
trace
|
|
60
|
+
trace&.attach_error(e)
|
|
61
61
|
raise
|
|
62
62
|
ensure
|
|
63
63
|
if trace
|
|
@@ -0,0 +1,90 @@
|
|
|
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
|
+
KNOWN_ARGUMENTS = {
|
|
64
|
+
'GET' => [0],
|
|
65
|
+
'SET' => [0]
|
|
66
|
+
}.freeze
|
|
67
|
+
|
|
68
|
+
def parse_name_and_args(command)
|
|
69
|
+
command = command.dup
|
|
70
|
+
|
|
71
|
+
# Symbols and lower-case names are allowed
|
|
72
|
+
name = command.delete_at(0).to_s.upcase
|
|
73
|
+
|
|
74
|
+
allowed = KNOWN_ARGUMENTS[name] || []
|
|
75
|
+
args = command.each_with_index.map do |arg, index|
|
|
76
|
+
allowed.include?(index) ? arg : '?'
|
|
77
|
+
end.join(' ')
|
|
78
|
+
|
|
79
|
+
[name, args]
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
register 'Redis::Client',
|
|
87
|
+
'redis',
|
|
88
|
+
Redis::Command::Probe.new
|
|
89
|
+
end
|
|
90
|
+
end
|
data/lib/mnemosyne/probes.rb
CHANGED
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
data/lib/mnemosyne.rb
CHANGED
|
@@ -42,6 +42,7 @@ 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'
|
data/mnemosyne-ruby.gemspec
CHANGED
|
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.executables = spec.files.grep(%r{^bin/}) {|f| File.basename(f) }
|
|
23
23
|
spec.require_paths = %w[lib]
|
|
24
24
|
|
|
25
|
+
spec.required_ruby_version = '>= 2.5'
|
|
25
26
|
spec.add_runtime_dependency 'activesupport', '>= 4'
|
|
26
27
|
spec.add_runtime_dependency 'bunny'
|
|
27
28
|
|
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.12.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: 2021-08-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -60,17 +60,17 @@ extensions: []
|
|
|
60
60
|
extra_rdoc_files: []
|
|
61
61
|
files:
|
|
62
62
|
- ".editorconfig"
|
|
63
|
+
- ".github/workflows/build.yml"
|
|
64
|
+
- ".github/workflows/lint.yml"
|
|
63
65
|
- ".gitignore"
|
|
64
66
|
- ".rspec"
|
|
65
67
|
- ".rubocop.yml"
|
|
66
|
-
- ".travis.yml"
|
|
67
68
|
- Appraisals
|
|
68
69
|
- CHANGELOG.md
|
|
69
70
|
- Gemfile
|
|
70
71
|
- LICENSE
|
|
71
72
|
- README.md
|
|
72
73
|
- Rakefile
|
|
73
|
-
- gemfiles/rails_42.gemfile
|
|
74
74
|
- gemfiles/rails_50.gemfile
|
|
75
75
|
- gemfiles/rails_51.gemfile
|
|
76
76
|
- gemfiles/rails_52.gemfile
|
|
@@ -105,6 +105,7 @@ files:
|
|
|
105
105
|
- lib/mnemosyne/probes/mnemosyne/tracer.rb
|
|
106
106
|
- lib/mnemosyne/probes/msgr/client.rb
|
|
107
107
|
- lib/mnemosyne/probes/msgr/consumer.rb
|
|
108
|
+
- lib/mnemosyne/probes/redis/command.rb
|
|
108
109
|
- lib/mnemosyne/probes/responder/respond.rb
|
|
109
110
|
- lib/mnemosyne/probes/restify/base.rb
|
|
110
111
|
- lib/mnemosyne/probes/sidekiq/client.rb
|
|
@@ -115,6 +116,7 @@ files:
|
|
|
115
116
|
- lib/mnemosyne/trace.rb
|
|
116
117
|
- lib/mnemosyne/version.rb
|
|
117
118
|
- mnemosyne-ruby.gemspec
|
|
119
|
+
- renovate.json
|
|
118
120
|
- scripts/console
|
|
119
121
|
- scripts/setup
|
|
120
122
|
homepage: http://github.com/jgraichen/mnemosyne-ruby
|
|
@@ -129,14 +131,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
129
131
|
requirements:
|
|
130
132
|
- - ">="
|
|
131
133
|
- !ruby/object:Gem::Version
|
|
132
|
-
version: '
|
|
134
|
+
version: '2.5'
|
|
133
135
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
136
|
requirements:
|
|
135
137
|
- - ">="
|
|
136
138
|
- !ruby/object:Gem::Version
|
|
137
139
|
version: '0'
|
|
138
140
|
requirements: []
|
|
139
|
-
rubygems_version: 3.
|
|
141
|
+
rubygems_version: 3.2.4
|
|
140
142
|
signing_key:
|
|
141
143
|
specification_version: 4
|
|
142
144
|
summary: Ruby/Rails client for Mnemosyne APM
|
data/.travis.yml
DELETED
|
@@ -1,34 +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.6.5
|
|
12
|
-
- 2.5.7
|
|
13
|
-
- 2.4.9
|
|
14
|
-
- 2.3.8
|
|
15
|
-
gemfile:
|
|
16
|
-
- gemfiles/rails_60.gemfile
|
|
17
|
-
- gemfiles/rails_52.gemfile
|
|
18
|
-
- gemfiles/rails_51.gemfile
|
|
19
|
-
- gemfiles/rails_50.gemfile
|
|
20
|
-
- gemfiles/rails_42.gemfile
|
|
21
|
-
|
|
22
|
-
before_install:
|
|
23
|
-
- echo yes | rvm gemset delete global
|
|
24
|
-
- gem install bundler -v'~>1.0'
|
|
25
|
-
script:
|
|
26
|
-
- bundle exec rake rubocop
|
|
27
|
-
- bundle exec rake spec
|
|
28
|
-
|
|
29
|
-
matrix:
|
|
30
|
-
exclude:
|
|
31
|
-
- rvm: 2.4.9
|
|
32
|
-
gemfile: gemfiles/rails_60.gemfile
|
|
33
|
-
- rvm: 2.3.8
|
|
34
|
-
gemfile: gemfiles/rails_60.gemfile
|
data/gemfiles/rails_42.gemfile
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# This file was generated by Appraisal
|
|
2
|
-
|
|
3
|
-
source "https://rubygems.org"
|
|
4
|
-
|
|
5
|
-
gem "appraisal"
|
|
6
|
-
gem "rake", "~> 12.0"
|
|
7
|
-
gem "rspec", "~> 3.6"
|
|
8
|
-
gem "rubocop", "~> 0.67.1"
|
|
9
|
-
gem "timecop", "~> 0.9.1"
|
|
10
|
-
gem "pry", require: false
|
|
11
|
-
gem "pry-byebug", require: false
|
|
12
|
-
gem "faraday", require: false
|
|
13
|
-
gem "msgr", require: false
|
|
14
|
-
gem "rails", "~> 4.2.0", require: false
|
|
15
|
-
gem "restify", require: false
|
|
16
|
-
gem "sidekiq", require: false
|
|
17
|
-
gem "sqlite3", "~> 1.3.6", require: false
|
|
18
|
-
gem "webmock", require: false
|
|
19
|
-
|
|
20
|
-
gemspec path: "../"
|