appsignal 2.9.10 → 2.9.13

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 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: