appsignal 4.5.13-java → 4.5.15-java
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/CHANGELOG.md +17 -0
- data/ext/agent.rb +27 -27
- data/lib/appsignal/config.rb +13 -4
- data/lib/appsignal/transaction.rb +16 -4
- data/lib/appsignal/version.rb +1 -1
- data/lib/appsignal.rb +13 -5
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 279c2c782cc828a26b1dc51f6da6c73128769527c664dc48ac0044d3dd89a7d3
|
4
|
+
data.tar.gz: 7133ffdb8d88d96e0d21bdf877b9a94a7a013a79af1ff4bc7a9cc896ff2d493f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a0de41ff465afc81d07edb5a21b63883653a59757ab6991f04843fc3d6901283d67294f46f620965f750e02100111eaea1fc4bc437c0d815b33ca48755721e3
|
7
|
+
data.tar.gz: eb722b9dbfc3d4c09bfc4487172ea75fc05cc9bc0dd3031b59ea44308a50ff87edd4ca1f25681f8b8f034d47ce185c41d35d210fc3d56b25c4690bbe88061ec0
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,22 @@
|
|
1
1
|
# AppSignal for Ruby gem Changelog
|
2
2
|
|
3
|
+
## 4.5.15
|
4
|
+
|
5
|
+
_Published on 2025-06-06._
|
6
|
+
|
7
|
+
### Added
|
8
|
+
|
9
|
+
- Add `nginx_port` configuration option. This configuration option can be used to customize the port on which the AppSignal integration exposes [the NGINX metrics server](https://docs.appsignal.com/metrics/nginx.html). (patch [16976de8](https://github.com/appsignal/appsignal-ruby/commit/16976de8ad3cedda2b6ba3986c325728f5629f50))
|
10
|
+
|
11
|
+
## 4.5.14
|
12
|
+
|
13
|
+
_Published on 2025-05-27._
|
14
|
+
|
15
|
+
### Fixed
|
16
|
+
|
17
|
+
- Resolve problems with transactions not being properly closed when using libraries that change Fibers during the transactions. Previously, completed transactions would be attempted to be reused when creating a transaction, when the Fiber would be switched during a transaction. (patch [32733b25](https://github.com/appsignal/appsignal-ruby/commit/32733b25ced393cc7ed4bd6f15f3b6b293b133c5))
|
18
|
+
- Fix a config error log message when the config is not active and should not validate the config. (patch [0d114b43](https://github.com/appsignal/appsignal-ruby/commit/0d114b435f63fe11bebce26efe282f90e2eb57aa))
|
19
|
+
|
3
20
|
## 4.5.13
|
4
21
|
|
5
22
|
_Published on 2025-05-12._
|
data/ext/agent.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
# Modifications to this file will be overwritten with the next agent release.
|
7
7
|
|
8
8
|
APPSIGNAL_AGENT_CONFIG = {
|
9
|
-
"version" => "0.36.
|
9
|
+
"version" => "0.36.6",
|
10
10
|
"mirrors" => [
|
11
11
|
"https://d135dj0rjqvssy.cloudfront.net",
|
12
12
|
"https://appsignal-agent-releases.global.ssl.fastly.net"
|
@@ -14,131 +14,131 @@ APPSIGNAL_AGENT_CONFIG = {
|
|
14
14
|
"triples" => {
|
15
15
|
"x86_64-darwin" => {
|
16
16
|
"static" => {
|
17
|
-
"checksum" => "
|
17
|
+
"checksum" => "b4a9453064663f969f2012d0fbbfad4566a35f3231d92d05c46b0e4fd15e62de",
|
18
18
|
"filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
|
19
19
|
},
|
20
20
|
"dynamic" => {
|
21
|
-
"checksum" => "
|
21
|
+
"checksum" => "2d4db66cf830c9949acde834c70bd50581331cbe0919610fc09697334994015d",
|
22
22
|
"filename" => "appsignal-x86_64-darwin-all-dynamic.tar.gz"
|
23
23
|
}
|
24
24
|
},
|
25
25
|
"universal-darwin" => {
|
26
26
|
"static" => {
|
27
|
-
"checksum" => "
|
27
|
+
"checksum" => "b4a9453064663f969f2012d0fbbfad4566a35f3231d92d05c46b0e4fd15e62de",
|
28
28
|
"filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
|
29
29
|
},
|
30
30
|
"dynamic" => {
|
31
|
-
"checksum" => "
|
31
|
+
"checksum" => "2d4db66cf830c9949acde834c70bd50581331cbe0919610fc09697334994015d",
|
32
32
|
"filename" => "appsignal-x86_64-darwin-all-dynamic.tar.gz"
|
33
33
|
}
|
34
34
|
},
|
35
35
|
"aarch64-darwin" => {
|
36
36
|
"static" => {
|
37
|
-
"checksum" => "
|
37
|
+
"checksum" => "fc1245fca1445c2eb25f9e4f0dd5809f86eefa7e96ea87a227891ce76af81bfc",
|
38
38
|
"filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
|
39
39
|
},
|
40
40
|
"dynamic" => {
|
41
|
-
"checksum" => "
|
41
|
+
"checksum" => "fae30a5dadbc0a3d8815055683a686ab96e9713a067778abdb99a25a7dc7d6f8",
|
42
42
|
"filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz"
|
43
43
|
}
|
44
44
|
},
|
45
45
|
"arm64-darwin" => {
|
46
46
|
"static" => {
|
47
|
-
"checksum" => "
|
47
|
+
"checksum" => "fc1245fca1445c2eb25f9e4f0dd5809f86eefa7e96ea87a227891ce76af81bfc",
|
48
48
|
"filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
|
49
49
|
},
|
50
50
|
"dynamic" => {
|
51
|
-
"checksum" => "
|
51
|
+
"checksum" => "fae30a5dadbc0a3d8815055683a686ab96e9713a067778abdb99a25a7dc7d6f8",
|
52
52
|
"filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz"
|
53
53
|
}
|
54
54
|
},
|
55
55
|
"arm-darwin" => {
|
56
56
|
"static" => {
|
57
|
-
"checksum" => "
|
57
|
+
"checksum" => "fc1245fca1445c2eb25f9e4f0dd5809f86eefa7e96ea87a227891ce76af81bfc",
|
58
58
|
"filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
|
59
59
|
},
|
60
60
|
"dynamic" => {
|
61
|
-
"checksum" => "
|
61
|
+
"checksum" => "fae30a5dadbc0a3d8815055683a686ab96e9713a067778abdb99a25a7dc7d6f8",
|
62
62
|
"filename" => "appsignal-aarch64-darwin-all-dynamic.tar.gz"
|
63
63
|
}
|
64
64
|
},
|
65
65
|
"aarch64-linux" => {
|
66
66
|
"static" => {
|
67
|
-
"checksum" => "
|
67
|
+
"checksum" => "41f69ec7e2d15a552897eb22a745fb6df2589d8b53909155c16bd5fe5d830c71",
|
68
68
|
"filename" => "appsignal-aarch64-linux-all-static.tar.gz"
|
69
69
|
},
|
70
70
|
"dynamic" => {
|
71
|
-
"checksum" => "
|
71
|
+
"checksum" => "ad75ebf30a92261d4a3c5e15ed728f24da54c9b588dc71b840eba3f548096945",
|
72
72
|
"filename" => "appsignal-aarch64-linux-all-dynamic.tar.gz"
|
73
73
|
}
|
74
74
|
},
|
75
75
|
"i686-linux" => {
|
76
76
|
"static" => {
|
77
|
-
"checksum" => "
|
77
|
+
"checksum" => "abdaeca2c16362838ad0c81a36f55ae05638b9bc4cee647928e5c07c56582f6d",
|
78
78
|
"filename" => "appsignal-i686-linux-all-static.tar.gz"
|
79
79
|
},
|
80
80
|
"dynamic" => {
|
81
|
-
"checksum" => "
|
81
|
+
"checksum" => "b2e7ce869405e9198d920c5ba94249a36ae4fa310666c8fcd250e6d7b7f8495f",
|
82
82
|
"filename" => "appsignal-i686-linux-all-dynamic.tar.gz"
|
83
83
|
}
|
84
84
|
},
|
85
85
|
"x86-linux" => {
|
86
86
|
"static" => {
|
87
|
-
"checksum" => "
|
87
|
+
"checksum" => "abdaeca2c16362838ad0c81a36f55ae05638b9bc4cee647928e5c07c56582f6d",
|
88
88
|
"filename" => "appsignal-i686-linux-all-static.tar.gz"
|
89
89
|
},
|
90
90
|
"dynamic" => {
|
91
|
-
"checksum" => "
|
91
|
+
"checksum" => "b2e7ce869405e9198d920c5ba94249a36ae4fa310666c8fcd250e6d7b7f8495f",
|
92
92
|
"filename" => "appsignal-i686-linux-all-dynamic.tar.gz"
|
93
93
|
}
|
94
94
|
},
|
95
95
|
"x86_64-linux" => {
|
96
96
|
"static" => {
|
97
|
-
"checksum" => "
|
97
|
+
"checksum" => "ca8bf1da8e0477027000ecad7b224244d3ff3217fa90652841567aa76bb0e2dc",
|
98
98
|
"filename" => "appsignal-x86_64-linux-all-static.tar.gz"
|
99
99
|
},
|
100
100
|
"dynamic" => {
|
101
|
-
"checksum" => "
|
101
|
+
"checksum" => "69dda126449371fc0cdbff3b381c3f40d98b2a8526ba900a21e8b7e1f5e293ad",
|
102
102
|
"filename" => "appsignal-x86_64-linux-all-dynamic.tar.gz"
|
103
103
|
}
|
104
104
|
},
|
105
105
|
"x86_64-linux-musl" => {
|
106
106
|
"static" => {
|
107
|
-
"checksum" => "
|
107
|
+
"checksum" => "dd9ea02fe7c0521a9761d94b232dd91d4fb2d39e73955872eb7b8344926d439d",
|
108
108
|
"filename" => "appsignal-x86_64-linux-musl-all-static.tar.gz"
|
109
109
|
},
|
110
110
|
"dynamic" => {
|
111
|
-
"checksum" => "
|
111
|
+
"checksum" => "98aa3ef8d21998c35416760be24a202141f6b20718a09ebe449d1bdb58e78700",
|
112
112
|
"filename" => "appsignal-x86_64-linux-musl-all-dynamic.tar.gz"
|
113
113
|
}
|
114
114
|
},
|
115
115
|
"aarch64-linux-musl" => {
|
116
116
|
"static" => {
|
117
|
-
"checksum" => "
|
117
|
+
"checksum" => "dab51a719c468faa87232fd4c1c5ea1ad43a3ec0fcade99cafe1d82b039e3708",
|
118
118
|
"filename" => "appsignal-aarch64-linux-musl-all-static.tar.gz"
|
119
119
|
},
|
120
120
|
"dynamic" => {
|
121
|
-
"checksum" => "
|
121
|
+
"checksum" => "b1ed4b3cfc02515c302b3ac1443f86dc34a8c9c27061a4a6587a7f050e2d8f3c",
|
122
122
|
"filename" => "appsignal-aarch64-linux-musl-all-dynamic.tar.gz"
|
123
123
|
}
|
124
124
|
},
|
125
125
|
"x86_64-freebsd" => {
|
126
126
|
"static" => {
|
127
|
-
"checksum" => "
|
127
|
+
"checksum" => "115abdd9452f37037e7cc1f0e5b205e00317142a1d1d31d84c5729e6fba3cd46",
|
128
128
|
"filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
|
129
129
|
},
|
130
130
|
"dynamic" => {
|
131
|
-
"checksum" => "
|
131
|
+
"checksum" => "5077cfcffaab249de505cba8a3e70f645e0a26d3ab26d4aac908226f9a818ea4",
|
132
132
|
"filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz"
|
133
133
|
}
|
134
134
|
},
|
135
135
|
"amd64-freebsd" => {
|
136
136
|
"static" => {
|
137
|
-
"checksum" => "
|
137
|
+
"checksum" => "115abdd9452f37037e7cc1f0e5b205e00317142a1d1d31d84c5729e6fba3cd46",
|
138
138
|
"filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
|
139
139
|
},
|
140
140
|
"dynamic" => {
|
141
|
-
"checksum" => "
|
141
|
+
"checksum" => "5077cfcffaab249de505cba8a3e70f645e0a26d3ab26d4aac908226f9a818ea4",
|
142
142
|
"filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz"
|
143
143
|
}
|
144
144
|
}
|
data/lib/appsignal/config.rb
CHANGED
@@ -166,6 +166,7 @@ module Appsignal
|
|
166
166
|
:push_api_key => "APPSIGNAL_PUSH_API_KEY",
|
167
167
|
:sidekiq_report_errors => "APPSIGNAL_SIDEKIQ_REPORT_ERRORS",
|
168
168
|
:statsd_port => "APPSIGNAL_STATSD_PORT",
|
169
|
+
:nginx_port => "APPSIGNAL_NGINX_PORT",
|
169
170
|
:working_directory_path => "APPSIGNAL_WORKING_DIRECTORY_PATH",
|
170
171
|
:revision => "APP_REVISION"
|
171
172
|
}.freeze
|
@@ -393,8 +394,12 @@ module Appsignal
|
|
393
394
|
@valid
|
394
395
|
end
|
395
396
|
|
397
|
+
def active_for_env?
|
398
|
+
config_hash[:active]
|
399
|
+
end
|
400
|
+
|
396
401
|
def active?
|
397
|
-
|
402
|
+
valid? && active_for_env?
|
398
403
|
end
|
399
404
|
|
400
405
|
# @api private
|
@@ -432,6 +437,7 @@ module Appsignal
|
|
432
437
|
ENV["_APPSIGNAL_RUNNING_IN_CONTAINER"] = config_hash[:running_in_container].to_s
|
433
438
|
ENV["_APPSIGNAL_SEND_ENVIRONMENT_METADATA"] = config_hash[:send_environment_metadata].to_s
|
434
439
|
ENV["_APPSIGNAL_STATSD_PORT"] = config_hash[:statsd_port].to_s
|
440
|
+
ENV["_APPSIGNAL_NGINX_PORT"] = config_hash[:nginx_port].to_s
|
435
441
|
if config_hash[:working_directory_path]
|
436
442
|
ENV["_APPSIGNAL_WORKING_DIRECTORY_PATH"] = config_hash[:working_directory_path]
|
437
443
|
end
|
@@ -444,13 +450,16 @@ module Appsignal
|
|
444
450
|
merge(options)
|
445
451
|
end
|
446
452
|
|
447
|
-
#
|
453
|
+
# Apply any overrides for invalid settings.
|
448
454
|
# @api private
|
449
|
-
def
|
450
|
-
# Apply any overrides for invalid settings.
|
455
|
+
def apply_overrides
|
451
456
|
@override_config = determine_overrides
|
452
457
|
merge(override_config)
|
458
|
+
end
|
453
459
|
|
460
|
+
# @return [void]
|
461
|
+
# @api private
|
462
|
+
def validate
|
454
463
|
# Strip path from endpoint so we're backwards compatible with
|
455
464
|
# earlier versions of the gem.
|
456
465
|
# TODO: Move to its own method, maybe in `#[]=`?
|
@@ -27,20 +27,25 @@ module Appsignal
|
|
27
27
|
# @param namespace [String] Namespace of the to be created transaction.
|
28
28
|
# @return [Transaction]
|
29
29
|
def create(namespace)
|
30
|
-
#
|
30
|
+
# Reset the transaction if it was already completed but not cleared
|
31
|
+
if Thread.current[:appsignal_transaction]&.completed?
|
32
|
+
Thread.current[:appsignal_transaction] = nil
|
33
|
+
end
|
34
|
+
|
31
35
|
if Thread.current[:appsignal_transaction].nil?
|
32
36
|
# If not, start a new transaction
|
33
37
|
set_current_transaction(Appsignal::Transaction.new(namespace))
|
34
38
|
else
|
39
|
+
transaction = current
|
35
40
|
# Otherwise, log the issue about trying to start another transaction
|
36
41
|
Appsignal.internal_logger.warn(
|
37
42
|
"Trying to start new transaction, but a transaction " \
|
38
|
-
"with id '#{
|
39
|
-
"Using transaction '#{
|
43
|
+
"with id '#{transaction.transaction_id}' is already running. " \
|
44
|
+
"Using transaction '#{transaction.transaction_id}'."
|
40
45
|
)
|
41
46
|
|
42
47
|
# And return the current transaction instead
|
43
|
-
|
48
|
+
transaction
|
44
49
|
end
|
45
50
|
end
|
46
51
|
|
@@ -154,6 +159,7 @@ module Appsignal
|
|
154
159
|
@namespace = namespace
|
155
160
|
@paused = false
|
156
161
|
@discarded = false
|
162
|
+
@completed = false
|
157
163
|
@tags = {}
|
158
164
|
@breadcrumbs = []
|
159
165
|
@store = Hash.new { |hash, key| hash[key] = {} }
|
@@ -185,6 +191,11 @@ module Appsignal
|
|
185
191
|
false
|
186
192
|
end
|
187
193
|
|
194
|
+
# @api private
|
195
|
+
def completed?
|
196
|
+
@completed
|
197
|
+
end
|
198
|
+
|
188
199
|
# @api private
|
189
200
|
def complete
|
190
201
|
if discarded?
|
@@ -233,6 +244,7 @@ module Appsignal
|
|
233
244
|
|
234
245
|
sample_data if should_sample
|
235
246
|
|
247
|
+
@completed = true
|
236
248
|
@ext.complete
|
237
249
|
end
|
238
250
|
|
data/lib/appsignal/version.rb
CHANGED
data/lib/appsignal.rb
CHANGED
@@ -133,8 +133,8 @@ module Appsignal
|
|
133
133
|
_load_config!
|
134
134
|
_start_logger
|
135
135
|
|
136
|
-
if config.
|
137
|
-
if config.
|
136
|
+
if config.active_for_env?
|
137
|
+
if config.valid?
|
138
138
|
@started = true
|
139
139
|
internal_logger.info "Starting AppSignal #{Appsignal::VERSION} " \
|
140
140
|
"(#{$PROGRAM_NAME}, Ruby #{RUBY_VERSION}, #{RUBY_PLATFORM})"
|
@@ -153,10 +153,10 @@ module Appsignal
|
|
153
153
|
collect_environment_metadata
|
154
154
|
@config.freeze
|
155
155
|
else
|
156
|
-
internal_logger.info("Not starting,
|
156
|
+
internal_logger.info("Not starting, no valid config for this environment")
|
157
157
|
end
|
158
158
|
else
|
159
|
-
internal_logger.
|
159
|
+
internal_logger.info("Not starting, not active for #{config.env}")
|
160
160
|
end
|
161
161
|
nil
|
162
162
|
end
|
@@ -166,7 +166,7 @@ module Appsignal
|
|
166
166
|
# @param env_param [String, NilClass] Used by diagnose CLI to pass through
|
167
167
|
# the environment CLI option value.
|
168
168
|
# @api private
|
169
|
-
def _load_config!(env_param = nil, &block)
|
169
|
+
def _load_config!(env_param = nil, &block) # rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
|
170
170
|
# Ensure it's not an empty string if it's a value
|
171
171
|
proper_env_param = env_param&.to_s&.strip
|
172
172
|
# Unset it if it's an empty string
|
@@ -206,9 +206,17 @@ module Appsignal
|
|
206
206
|
# This will load the config/appsignal.yml file automatically
|
207
207
|
@config ||= Config.new(context.root_path, context.env)
|
208
208
|
end
|
209
|
+
|
209
210
|
# Allow a block to be given to customize the config and override any
|
210
211
|
# loaded config before it's validated.
|
211
212
|
block.call(config) if block_given?
|
213
|
+
|
214
|
+
# Apply any config overrides after the user config has been merged
|
215
|
+
config&.apply_overrides
|
216
|
+
|
217
|
+
# Skip validation if not configured as active for this environment
|
218
|
+
return unless config.active_for_env?
|
219
|
+
|
212
220
|
# Validate the config, if present
|
213
221
|
config&.validate
|
214
222
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appsignal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.5.
|
4
|
+
version: 4.5.15
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Robert Beekman
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2025-
|
13
|
+
date: 2025-06-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: logger
|
@@ -331,7 +331,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
331
331
|
- !ruby/object:Gem::Version
|
332
332
|
version: '0'
|
333
333
|
requirements: []
|
334
|
-
rubygems_version: 3.
|
334
|
+
rubygems_version: 3.3.7
|
335
335
|
signing_key:
|
336
336
|
specification_version: 4
|
337
337
|
summary: Logs performance and exception data from your app to appsignal.com
|