appsignal 2.9.10 → 2.9.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/README.md +2 -0
- data/appsignal.gemspec +13 -3
- data/build_matrix.yml +4 -1
- data/ext/agent.yml +37 -37
- data/gemfiles/rails-6.0.gemfile +1 -1
- data/lib/appsignal/hooks/sequel.rb +1 -1
- data/lib/appsignal/hooks/sidekiq.rb +21 -7
- data/lib/appsignal/version.rb +1 -1
- data/spec/lib/appsignal/hooks/sidekiq_spec.rb +13 -0
- metadata +11 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 771e8e4aa28eebf00ad863271855cc9f9fbbcb40facf7779fe58338bae6dfa19
|
4
|
+
data.tar.gz: 659ec13d0616d18eededf1b706285411e9dfb9d6b54b98bb99fc54dcee9f48cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bac1ab40e8400e1f676a81f095972685e3980ce33a652403f8468ae4c925ef7f3e74d5b6bfec9b2ab6e068f0ebe36d98195b805593a17842571111d947b2b349
|
7
|
+
data.tar.gz: c9f7a6546e7c5d62fa0adc239260f3588ca42139c99e93a72ba29b6630a3728bb61ce79a489b47c48067e9e01bdac1c964939f0a6ab002a8bdb4dcbbaa104d7e
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,26 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 2.9.13
|
4
|
+
- Bump agent to v-e1c9363
|
5
|
+
- Detect revision from Heroku dynos automatically when Dyno Metadata is
|
6
|
+
turned on.
|
7
|
+
|
8
|
+
## 2.9.12
|
9
|
+
- Bump agent to v-a3e0f83 - commit 3d94dd42645922214fc2f5bc09cfa7c597323198
|
10
|
+
- Better detect zombie/defunct processes on containers and consider the
|
11
|
+
processes dead. This should improve the appsignal-agent start behavior.
|
12
|
+
- Fix Sequel install hook version detection mismatch. PR #553
|
13
|
+
- Improve support for older Sidekiq versions. PR #555
|
14
|
+
|
15
|
+
## 2.9.11
|
16
|
+
- Bump agent to v-a718022
|
17
|
+
- Fix container CPU runtime metrics.
|
18
|
+
See https://github.com/appsignal/probes-rs/pull/38 for more information.
|
19
|
+
- Improve host metrics calculations accuracy for counter metrics.
|
20
|
+
See https://github.com/appsignal/probes-rs/pull/40 for more information.
|
21
|
+
- Support Kernel 4.18+ format of /proc/diskstats file parsing.
|
22
|
+
See https://github.com/appsignal/probes-rs/pull/39 for more information.
|
23
|
+
|
3
24
|
## 2.9.10
|
4
25
|
- Fix Puma minutely probe start where `daemonize` is set to `true`. PR #548
|
5
26
|
|
data/README.md
CHANGED
@@ -6,6 +6,7 @@ issues.
|
|
6
6
|
|
7
7
|
- [AppSignal.com website][appsignal]
|
8
8
|
- [Documentation][docs]
|
9
|
+
- [Ruby code documentation][ruby-doc]
|
9
10
|
- [Support][contact]
|
10
11
|
|
11
12
|
[![Build Status](https://travis-ci.org/appsignal/appsignal-ruby.png?branch=master)](https://travis-ci.org/appsignal/appsignal-ruby)
|
@@ -275,6 +276,7 @@ Also see our [SUPPORT.md file](SUPPORT.md).
|
|
275
276
|
[coc]: https://docs.appsignal.com/appsignal/code-of-conduct.html
|
276
277
|
[waffles-page]: https://appsignal.com/waffles
|
277
278
|
[docs]: http://docs.appsignal.com
|
279
|
+
[ruby-doc]: https://www.rubydoc.info/gems/appsignal
|
278
280
|
[contributing-guide]: http://docs.appsignal.com/appsignal/contributing.html
|
279
281
|
[supported-systems]: http://docs.appsignal.com/support/operating-systems.html
|
280
282
|
[integrations]: http://docs.appsignal.com/ruby/integrations/index.html
|
data/appsignal.gemspec
CHANGED
@@ -2,10 +2,11 @@
|
|
2
2
|
|
3
3
|
require File.expand_path("../lib/appsignal/version", __FILE__)
|
4
4
|
|
5
|
-
Gem::Specification.new do |gem|
|
5
|
+
Gem::Specification.new do |gem| # rubocop:disable Metrics/BlockLength
|
6
6
|
gem.authors = [
|
7
7
|
"Robert Beekman",
|
8
|
-
"Thijs Cadier"
|
8
|
+
"Thijs Cadier",
|
9
|
+
"Tom de Bruijn"
|
9
10
|
]
|
10
11
|
gem.email = ["support@appsignal.com"]
|
11
12
|
gem.description = "The official appsignal.com gem"
|
@@ -25,6 +26,15 @@ Gem::Specification.new do |gem|
|
|
25
26
|
# `Rakefile`.
|
26
27
|
gem.extensions = %w[ext/extconf.rb]
|
27
28
|
|
29
|
+
gem.metadata = {
|
30
|
+
"bug_tracker_uri" => "https://github.com/appsignal/appsignal-ruby/issues",
|
31
|
+
"changelog_uri" =>
|
32
|
+
"https://github.com/appsignal/appsignal-ruby/blob/master/CHANGELOG.md",
|
33
|
+
"documentation_uri" => "https://docs.appsignal.com/ruby/",
|
34
|
+
"homepage_uri" => "https://docs.appsignal.com/ruby/",
|
35
|
+
"source_code_uri" => "https://github.com/appsignal/appsignal-ruby"
|
36
|
+
}
|
37
|
+
|
28
38
|
gem.add_dependency "rack"
|
29
39
|
|
30
40
|
gem.add_development_dependency "rake", "~> 11"
|
@@ -33,5 +43,5 @@ Gem::Specification.new do |gem|
|
|
33
43
|
gem.add_development_dependency "timecop"
|
34
44
|
gem.add_development_dependency "webmock"
|
35
45
|
gem.add_development_dependency "rubocop", "0.50.0"
|
36
|
-
gem.add_development_dependency "yard"
|
46
|
+
gem.add_development_dependency "yard", ">= 0.9.20"
|
37
47
|
end
|
data/build_matrix.yml
CHANGED
@@ -49,7 +49,6 @@ matrix:
|
|
49
49
|
minimal:
|
50
50
|
- "no_dependencies"
|
51
51
|
- "rails-5.2"
|
52
|
-
- "rails-6.2"
|
53
52
|
|
54
53
|
ruby:
|
55
54
|
- ruby: "2.0.0"
|
@@ -103,6 +102,10 @@ matrix:
|
|
103
102
|
exclude:
|
104
103
|
ruby:
|
105
104
|
- "2.0.0"
|
105
|
+
- "2.1.8"
|
106
|
+
- "2.2.4"
|
107
|
+
- "2.3.8"
|
108
|
+
- "2.4.5"
|
106
109
|
- gem: "resque"
|
107
110
|
bundler: "1.17.3"
|
108
111
|
- gem: "sequel"
|
data/ext/agent.yml
CHANGED
@@ -1,67 +1,67 @@
|
|
1
1
|
---
|
2
|
-
version:
|
2
|
+
version: e1c9363
|
3
3
|
triples:
|
4
4
|
x86_64-darwin:
|
5
5
|
static:
|
6
|
-
checksum:
|
7
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
6
|
+
checksum: 27c9a6de8ee9cd27bc3021e9f5a0814923814a72be0dfc901e1adf49840181f3
|
7
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-darwin-all-static.tar.gz
|
8
8
|
dynamic:
|
9
|
-
checksum:
|
10
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
9
|
+
checksum: e18b67cb4b816d60b6ab08e130bfb60581454dcfa91801e2d07c98bcb9d5bf4e
|
10
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-darwin-all-dynamic.tar.gz
|
11
11
|
universal-darwin:
|
12
12
|
static:
|
13
|
-
checksum:
|
14
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
13
|
+
checksum: 27c9a6de8ee9cd27bc3021e9f5a0814923814a72be0dfc901e1adf49840181f3
|
14
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-darwin-all-static.tar.gz
|
15
15
|
dynamic:
|
16
|
-
checksum:
|
17
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
16
|
+
checksum: e18b67cb4b816d60b6ab08e130bfb60581454dcfa91801e2d07c98bcb9d5bf4e
|
17
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-darwin-all-dynamic.tar.gz
|
18
18
|
i686-linux:
|
19
19
|
static:
|
20
|
-
checksum:
|
21
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
20
|
+
checksum: 55085bbdbb802bb1fb1f451fc13387360eff9aa9eaf5c4e8f6380692bd3d7c5a
|
21
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-i686-linux-all-static.tar.gz
|
22
22
|
dynamic:
|
23
|
-
checksum:
|
24
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
23
|
+
checksum: bcb2b68ed27635e7c24f9e60635d436a911b1463213458058debfc37c1286750
|
24
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-i686-linux-all-dynamic.tar.gz
|
25
25
|
x86-linux:
|
26
26
|
static:
|
27
|
-
checksum:
|
28
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
27
|
+
checksum: 55085bbdbb802bb1fb1f451fc13387360eff9aa9eaf5c4e8f6380692bd3d7c5a
|
28
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-i686-linux-all-static.tar.gz
|
29
29
|
dynamic:
|
30
|
-
checksum:
|
31
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
30
|
+
checksum: bcb2b68ed27635e7c24f9e60635d436a911b1463213458058debfc37c1286750
|
31
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-i686-linux-all-dynamic.tar.gz
|
32
32
|
i686-linux-musl:
|
33
33
|
static:
|
34
|
-
checksum:
|
35
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
34
|
+
checksum: 27f86f2b5b0be80980fd7e72557c3aff5fc6bed6eada97f09f53bf2c74723e0a
|
35
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-i686-linux-musl-all-static.tar.gz
|
36
36
|
x86-linux-musl:
|
37
37
|
static:
|
38
|
-
checksum:
|
39
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
38
|
+
checksum: 27f86f2b5b0be80980fd7e72557c3aff5fc6bed6eada97f09f53bf2c74723e0a
|
39
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-i686-linux-musl-all-static.tar.gz
|
40
40
|
x86_64-linux:
|
41
41
|
static:
|
42
|
-
checksum:
|
43
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
42
|
+
checksum: 3eff05e641c5c4a2a2dd3945bd0b96ac191cb229ded9181ee317e78539d8cd1d
|
43
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-linux-all-static.tar.gz
|
44
44
|
dynamic:
|
45
|
-
checksum:
|
46
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
45
|
+
checksum: 39650959d3bde5705e9bc3d459d2fb948a331c60691b093d47feab28bc521265
|
46
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-linux-all-dynamic.tar.gz
|
47
47
|
x86_64-linux-musl:
|
48
48
|
static:
|
49
|
-
checksum:
|
50
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
49
|
+
checksum: 4bbea5ec8a1301dc4a3eb4a764a0daddff6d34dad7937d0b3839c1f827b11542
|
50
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-linux-musl-all-static.tar.gz
|
51
51
|
dynamic:
|
52
|
-
checksum:
|
53
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
52
|
+
checksum: 5f5bb3ec6f4f37001d539642bf55c8bd655113ede975f14a3cf1a23f0287b0b5
|
53
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-linux-musl-all-dynamic.tar.gz
|
54
54
|
x86_64-freebsd:
|
55
55
|
static:
|
56
|
-
checksum:
|
57
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
56
|
+
checksum: 2091e45c6cd11721b2b3cf6db927b360e36c5596ef36f292ba38c60f63102e6d
|
57
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-freebsd-all-static.tar.gz
|
58
58
|
dynamic:
|
59
|
-
checksum:
|
60
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
59
|
+
checksum: 1cc85d682d5345091d461095f1b637b21ea3571bcd030f593e3bd63622d78eb8
|
60
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-freebsd-all-dynamic.tar.gz
|
61
61
|
amd64-freebsd:
|
62
62
|
static:
|
63
|
-
checksum:
|
64
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
63
|
+
checksum: 2091e45c6cd11721b2b3cf6db927b360e36c5596ef36f292ba38c60f63102e6d
|
64
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-freebsd-all-static.tar.gz
|
65
65
|
dynamic:
|
66
|
-
checksum:
|
67
|
-
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/
|
66
|
+
checksum: 1cc85d682d5345091d461095f1b637b21ea3571bcd030f593e3bd63622d78eb8
|
67
|
+
download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-freebsd-all-dynamic.tar.gz
|
data/gemfiles/rails-6.0.gemfile
CHANGED
@@ -42,7 +42,7 @@ module Appsignal
|
|
42
42
|
|
43
43
|
def install
|
44
44
|
# Register the extension...
|
45
|
-
if ::Sequel::MAJOR >= 4 && ::Sequel::MINOR >= 35
|
45
|
+
if (::Sequel::MAJOR >= 4 && ::Sequel::MINOR >= 35) || ::Sequel::MAJOR >= 5
|
46
46
|
::Sequel::Database.register_extension(
|
47
47
|
:appsignal_integration,
|
48
48
|
Appsignal::Hooks::SequelLogConnectionExtension
|
@@ -38,13 +38,29 @@ module Appsignal
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def call
|
41
|
-
|
41
|
+
track_redis_info
|
42
|
+
track_stats
|
43
|
+
track_queues
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
attr_reader :cache
|
49
|
+
|
50
|
+
def track_redis_info
|
51
|
+
return unless ::Sidekiq.respond_to?(:redis_info)
|
42
52
|
redis_info = ::Sidekiq.redis_info
|
43
|
-
|
44
|
-
gauge "process_count", stats.processes_size
|
53
|
+
|
45
54
|
gauge "connection_count", redis_info.fetch("connected_clients")
|
46
55
|
gauge "memory_usage", redis_info.fetch("used_memory")
|
47
56
|
gauge "memory_usage_rss", redis_info.fetch("used_memory_rss")
|
57
|
+
end
|
58
|
+
|
59
|
+
def track_stats
|
60
|
+
stats = ::Sidekiq::Stats.new
|
61
|
+
|
62
|
+
gauge "worker_count", stats.workers_size
|
63
|
+
gauge "process_count", stats.processes_size
|
48
64
|
gauge_delta :jobs_processed, "job_count", stats.processed,
|
49
65
|
:status => :processed
|
50
66
|
gauge_delta :jobs_failed, "job_count", stats.failed, :status => :failed
|
@@ -52,7 +68,9 @@ module Appsignal
|
|
52
68
|
gauge_delta :jobs_dead, "job_count", stats.dead_size, :status => :died
|
53
69
|
gauge "job_count", stats.scheduled_size, :status => :scheduled
|
54
70
|
gauge "job_count", stats.enqueued, :status => :enqueued
|
71
|
+
end
|
55
72
|
|
73
|
+
def track_queues
|
56
74
|
::Sidekiq::Queue.all.each do |queue|
|
57
75
|
gauge "queue_length", queue.size, :queue => queue.name
|
58
76
|
# Convert latency from seconds to milliseconds
|
@@ -60,10 +78,6 @@ module Appsignal
|
|
60
78
|
end
|
61
79
|
end
|
62
80
|
|
63
|
-
private
|
64
|
-
|
65
|
-
attr_reader :cache
|
66
|
-
|
67
81
|
# Track a gauge metric with the `sidekiq_` prefix
|
68
82
|
def gauge(key, value, tags = {})
|
69
83
|
tags[:hostname] = hostname if hostname
|
data/lib/appsignal/version.rb
CHANGED
@@ -732,6 +732,19 @@ describe Appsignal::Hooks::SidekiqProbe do
|
|
732
732
|
probe.call
|
733
733
|
end
|
734
734
|
|
735
|
+
context "when `redis_info` is not defined" do
|
736
|
+
before do
|
737
|
+
allow(Sidekiq).to receive(:respond_to?).with(:redis_info).and_return(false)
|
738
|
+
end
|
739
|
+
|
740
|
+
it "does not collect redis metrics" do
|
741
|
+
expect_gauge("connection_count", 2).never
|
742
|
+
expect_gauge("memory_usage", 1024).never
|
743
|
+
expect_gauge("memory_usage_rss", 512).never
|
744
|
+
probe.call
|
745
|
+
end
|
746
|
+
end
|
747
|
+
|
735
748
|
context "when hostname is configured for probe" do
|
736
749
|
let(:redis_hostname) { "my_redis_server" }
|
737
750
|
let(:probe) { described_class.new(:hostname => redis_hostname) }
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appsignal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.9.
|
4
|
+
version: 2.9.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Beekman
|
8
8
|
- Thijs Cadier
|
9
|
+
- Tom de Bruijn
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2019-
|
13
|
+
date: 2019-09-05 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: rack
|
@@ -115,14 +116,14 @@ dependencies:
|
|
115
116
|
requirements:
|
116
117
|
- - ">="
|
117
118
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
119
|
+
version: 0.9.20
|
119
120
|
type: :development
|
120
121
|
prerelease: false
|
121
122
|
version_requirements: !ruby/object:Gem::Requirement
|
122
123
|
requirements:
|
123
124
|
- - ">="
|
124
125
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
126
|
+
version: 0.9.20
|
126
127
|
description: The official appsignal.com gem
|
127
128
|
email:
|
128
129
|
- support@appsignal.com
|
@@ -360,7 +361,12 @@ files:
|
|
360
361
|
homepage: https://github.com/appsignal/appsignal-ruby
|
361
362
|
licenses:
|
362
363
|
- MIT
|
363
|
-
metadata:
|
364
|
+
metadata:
|
365
|
+
bug_tracker_uri: https://github.com/appsignal/appsignal-ruby/issues
|
366
|
+
changelog_uri: https://github.com/appsignal/appsignal-ruby/blob/master/CHANGELOG.md
|
367
|
+
documentation_uri: https://docs.appsignal.com/ruby/
|
368
|
+
homepage_uri: https://docs.appsignal.com/ruby/
|
369
|
+
source_code_uri: https://github.com/appsignal/appsignal-ruby
|
364
370
|
post_install_message:
|
365
371
|
rdoc_options: []
|
366
372
|
require_paths:
|