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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d04cb355cc01a8a6bac57d80e60a60f477facc26c89bf2dfe1dc9b19064ece9d
4
- data.tar.gz: 2884eb415ce21ba319ef600810adc5b6a6d714ac8468b4d45df2773453932b9a
3
+ metadata.gz: 771e8e4aa28eebf00ad863271855cc9f9fbbcb40facf7779fe58338bae6dfa19
4
+ data.tar.gz: 659ec13d0616d18eededf1b706285411e9dfb9d6b54b98bb99fc54dcee9f48cf
5
5
  SHA512:
6
- metadata.gz: 65d42043a073fd994e5a5a139388fae3874e235a5f6e346a7877f0d5a9e17bd6ed5aa124661df31ba374cdedf1cc2ce864460dd3db4593cf0182b21bd8962622
7
- data.tar.gz: 675bd7ca267324f1efb17194d4dda0ac75e03b4497c7c42b52c292efb84197fcd87a1ea2c65ebe605c14a2c063d7956dcd7cce39e48f2a6af0105f2bbef40ed4
6
+ metadata.gz: bac1ab40e8400e1f676a81f095972685e3980ce33a652403f8468ae4c925ef7f3e74d5b6bfec9b2ab6e068f0ebe36d98195b805593a17842571111d947b2b349
7
+ data.tar.gz: c9f7a6546e7c5d62fa0adc239260f3588ca42139c99e93a72ba29b6630a3728bb61ce79a489b47c48067e9e01bdac1c964939f0a6ab002a8bdb4dcbbaa104d7e
@@ -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
@@ -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
@@ -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"
@@ -1,67 +1,67 @@
1
1
  ---
2
- version: d8dc806
2
+ version: e1c9363
3
3
  triples:
4
4
  x86_64-darwin:
5
5
  static:
6
- checksum: a2cc43f4fd296a6a3db06096030185c7cfbdde701b19c1580b44ee5c1bdbef95
7
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-x86_64-darwin-all-static.tar.gz
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: 77e4bb01a260e7daf798388a44e54ec1950a880563858a1b323eb9eb0426c790
10
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-x86_64-darwin-all-dynamic.tar.gz
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: a2cc43f4fd296a6a3db06096030185c7cfbdde701b19c1580b44ee5c1bdbef95
14
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-x86_64-darwin-all-static.tar.gz
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: 77e4bb01a260e7daf798388a44e54ec1950a880563858a1b323eb9eb0426c790
17
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-x86_64-darwin-all-dynamic.tar.gz
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: ac048bc96c05b4662d8959d2bb7c9028ba9a6fcd78f08cd284457dba8db4e0fc
21
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-i686-linux-all-static.tar.gz
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: 0ae2e52d86416a78a75632bef5c7f3d151d57ea76d45457a39926964b0288328
24
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-i686-linux-all-dynamic.tar.gz
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: ac048bc96c05b4662d8959d2bb7c9028ba9a6fcd78f08cd284457dba8db4e0fc
28
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-i686-linux-all-static.tar.gz
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: 0ae2e52d86416a78a75632bef5c7f3d151d57ea76d45457a39926964b0288328
31
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-i686-linux-all-dynamic.tar.gz
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: c61e68128fd8adc3f19917eb4c82a2cd4887f71c96fb5c20a281867841cc6020
35
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-i686-linux-musl-all-static.tar.gz
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: c61e68128fd8adc3f19917eb4c82a2cd4887f71c96fb5c20a281867841cc6020
39
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-i686-linux-musl-all-static.tar.gz
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: 525349f02f3d089bbac237d79b50ec5a6b503354b26ec20638d4a15aae79c635
43
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-x86_64-linux-all-static.tar.gz
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: 788cf409505c41af5284f6b6159b958438c7ce3675a338d73a2c3092b13d7532
46
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-x86_64-linux-all-dynamic.tar.gz
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: 133f5f29f38e0d4bf946b8b7290b848efef580ab0f5480790db766653614b0cf
50
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-x86_64-linux-musl-all-static.tar.gz
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: c2c59a186e462c6d9236094c4efad06866f3630a4e0929bc842e2e55fa12760a
53
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-x86_64-linux-musl-all-dynamic.tar.gz
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: b241082609ad39f26b16094f3f43b113c4eb45340e5b59adae2b365c605b9a8c
57
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-x86_64-freebsd-all-static.tar.gz
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: e7256671ed27f3fd8f19c479a73c34d456adbee27da97e522dbb5bfe98ecf449
60
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-x86_64-freebsd-all-dynamic.tar.gz
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: b241082609ad39f26b16094f3f43b113c4eb45340e5b59adae2b365c605b9a8c
64
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-x86_64-freebsd-all-static.tar.gz
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: e7256671ed27f3fd8f19c479a73c34d456adbee27da97e522dbb5bfe98ecf449
67
- download_url: https://appsignal-agent-releases.global.ssl.fastly.net/d8dc806/appsignal-x86_64-freebsd-all-dynamic.tar.gz
66
+ checksum: 1cc85d682d5345091d461095f1b637b21ea3571bcd030f593e3bd63622d78eb8
67
+ download_url: https://appsignal-agent-releases.global.ssl.fastly.net/e1c9363/appsignal-x86_64-freebsd-all-dynamic.tar.gz
@@ -1,5 +1,5 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'rails', '~> 6.0.0.beta.1'
3
+ gem 'rails', '~> 6.0.0'
4
4
 
5
5
  gemspec :path => '../'
@@ -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
- stats = ::Sidekiq::Stats.new
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
- gauge "worker_count", stats.workers_size
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Appsignal
4
- VERSION = "2.9.10".freeze
4
+ VERSION = "2.9.13".freeze
5
5
  end
@@ -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.10
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-07-08 00:00:00.000000000 Z
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: '0'
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: '0'
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: