appsignal 5.0.0 → 5.0.1
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 +14 -0
- data/ext/agent.rb +27 -27
- data/lib/appsignal/config.rb +1 -1
- data/lib/appsignal/opentelemetry.rb +4 -5
- data/lib/appsignal/rack/event_handler.rb +8 -4
- data/lib/appsignal/transaction/opentelemetry_backend.rb +6 -2
- data/lib/appsignal/version.rb +1 -1
- data/sig/appsignal.rbi +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e73ebf33ae2f5bad56406790ab256648143d073881b1a3d14d8ca09171d36c0e
|
|
4
|
+
data.tar.gz: 36cee0453b823e884447de04c004e02ee6a74981a6c4f2ee82e6b53dcecbf9e0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 77e642259af8ea8f4539872524d3a60a01ea72bdcdc45ec344d89caa55428495b21366574e3749116dd52008a7482961d3fd72db50145fc04e2ac09f230ece8c
|
|
7
|
+
data.tar.gz: 5fcb6ca575a989b8123f2ba225036520fbe74ff88cbcdec64b3b12eb919aaff35adc3c0c9f10e331be6a7764d4d238c185c2cd7a546d9b3459278d99721531ae
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# AppSignal for Ruby gem Changelog
|
|
2
2
|
|
|
3
|
+
## 5.0.1
|
|
4
|
+
|
|
5
|
+
_Published on 2026-10-02._
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- In collector mode, also report the `response_status` counter with a `service` tag. Response statuses can then be graphed per service when several services report to one app. (patch [51981add](https://github.com/appsignal/appsignal-ruby/commit/51981add4c006403b0afddab78cfb608a32ec2c3))
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Improve handling of the extension internal queue when full. (patch [78123581](https://github.com/appsignal/appsignal-ruby/commit/7812358175fc1e591e7f29026cd16df6db70e589))
|
|
14
|
+
- Fix issues in the extension that lead to gaps in data reporting. (patch [f3c72857](https://github.com/appsignal/appsignal-ruby/commit/f3c72857a00e3fb4ad8b9760f53d14a85fb32ed2))
|
|
15
|
+
- In collector mode, report allocation counts and queue durations per service and namespace. This fixes an issue where these metrics were reported by namespace alone, causing the "Performance" > "Allocations" page to link to performance pages that did not exist. (patch [51981add](https://github.com/appsignal/appsignal-ruby/commit/51981add4c006403b0afddab78cfb608a32ec2c3))
|
|
16
|
+
|
|
3
17
|
## 5.0.0
|
|
4
18
|
|
|
5
19
|
_Published on 2026-09-28._
|
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.37.
|
|
9
|
+
"version" => "0.37.3",
|
|
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" => "283afa4ec2222108c994cf3c943357f649a9e09a200c0b3b06d33b9fefa8487f",
|
|
18
18
|
"filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
|
|
19
19
|
},
|
|
20
20
|
"dynamic" => {
|
|
21
|
-
"checksum" => "
|
|
21
|
+
"checksum" => "a8738c9de75f751a3ed09fbe8129d163002ad1c036a37f47089629289a60ae3b",
|
|
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" => "283afa4ec2222108c994cf3c943357f649a9e09a200c0b3b06d33b9fefa8487f",
|
|
28
28
|
"filename" => "appsignal-x86_64-darwin-all-static.tar.gz"
|
|
29
29
|
},
|
|
30
30
|
"dynamic" => {
|
|
31
|
-
"checksum" => "
|
|
31
|
+
"checksum" => "a8738c9de75f751a3ed09fbe8129d163002ad1c036a37f47089629289a60ae3b",
|
|
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" => "201b0d402c8685492899ba5cbd4d1ff3d6389d0b5fe2cc5ff62cd9a1f4a57f19",
|
|
38
38
|
"filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
|
|
39
39
|
},
|
|
40
40
|
"dynamic" => {
|
|
41
|
-
"checksum" => "
|
|
41
|
+
"checksum" => "85f471e3da1fe69b9a900ed0a907aaf8bffdc4ada978809c8427704e7b40276c",
|
|
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" => "201b0d402c8685492899ba5cbd4d1ff3d6389d0b5fe2cc5ff62cd9a1f4a57f19",
|
|
48
48
|
"filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
|
|
49
49
|
},
|
|
50
50
|
"dynamic" => {
|
|
51
|
-
"checksum" => "
|
|
51
|
+
"checksum" => "85f471e3da1fe69b9a900ed0a907aaf8bffdc4ada978809c8427704e7b40276c",
|
|
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" => "201b0d402c8685492899ba5cbd4d1ff3d6389d0b5fe2cc5ff62cd9a1f4a57f19",
|
|
58
58
|
"filename" => "appsignal-aarch64-darwin-all-static.tar.gz"
|
|
59
59
|
},
|
|
60
60
|
"dynamic" => {
|
|
61
|
-
"checksum" => "
|
|
61
|
+
"checksum" => "85f471e3da1fe69b9a900ed0a907aaf8bffdc4ada978809c8427704e7b40276c",
|
|
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" => "f8e67ca70c013908d0d5b1b0a78aa67be59f5bb885590ab6c70b0f2bc4d9148c",
|
|
68
68
|
"filename" => "appsignal-aarch64-linux-all-static.tar.gz"
|
|
69
69
|
},
|
|
70
70
|
"dynamic" => {
|
|
71
|
-
"checksum" => "
|
|
71
|
+
"checksum" => "5cf0739c2a1f836973d903ea7b8232b867ded08f4e4fdc2d1ace1191c5848516",
|
|
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" => "c52333b87c6da6b2b979097c07d13925104b5d535e6287babc71566c3fdcf321",
|
|
78
78
|
"filename" => "appsignal-i686-linux-all-static.tar.gz"
|
|
79
79
|
},
|
|
80
80
|
"dynamic" => {
|
|
81
|
-
"checksum" => "
|
|
81
|
+
"checksum" => "4831ad90d246eef552d567d3a3f429aa191b9b3c6d80ab4b4dcc1bcc69eccfd5",
|
|
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" => "c52333b87c6da6b2b979097c07d13925104b5d535e6287babc71566c3fdcf321",
|
|
88
88
|
"filename" => "appsignal-i686-linux-all-static.tar.gz"
|
|
89
89
|
},
|
|
90
90
|
"dynamic" => {
|
|
91
|
-
"checksum" => "
|
|
91
|
+
"checksum" => "4831ad90d246eef552d567d3a3f429aa191b9b3c6d80ab4b4dcc1bcc69eccfd5",
|
|
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" => "5d2816036d1025eecc7005114780120788c0a76ff899740ebaa54f063aff7a18",
|
|
98
98
|
"filename" => "appsignal-x86_64-linux-all-static.tar.gz"
|
|
99
99
|
},
|
|
100
100
|
"dynamic" => {
|
|
101
|
-
"checksum" => "
|
|
101
|
+
"checksum" => "2e1849c946a58a2c1dce772949b28b88eb7656eee43211b0e9c3cb64103df278",
|
|
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" => "937e4517d435898518a0b529196160682172c1eec32e6ab31ad9b4e7220705fe",
|
|
108
108
|
"filename" => "appsignal-x86_64-linux-musl-all-static.tar.gz"
|
|
109
109
|
},
|
|
110
110
|
"dynamic" => {
|
|
111
|
-
"checksum" => "
|
|
111
|
+
"checksum" => "b3d7730f4112b376f4aceb8197c262c446cf056787a7971046b76a42a9f326e6",
|
|
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" => "fd9abfd9320bf893aed80d9487aab2e5da0af33c48e6c54a284f87c1a00c9af3",
|
|
118
118
|
"filename" => "appsignal-aarch64-linux-musl-all-static.tar.gz"
|
|
119
119
|
},
|
|
120
120
|
"dynamic" => {
|
|
121
|
-
"checksum" => "
|
|
121
|
+
"checksum" => "75642949d2fff2b3878e9d8a229ada0560bf6d273cc27e694868ad85f2ce2843",
|
|
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" => "e79ecb04aabb439e1b0aaa829dddec01886758843f3e29a46d8922688719af26",
|
|
128
128
|
"filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
|
|
129
129
|
},
|
|
130
130
|
"dynamic" => {
|
|
131
|
-
"checksum" => "
|
|
131
|
+
"checksum" => "3aa2dfe2c22f42c0d97b93bb21917180e0399359cc3d86786c62aeb6fcaa96c6",
|
|
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" => "e79ecb04aabb439e1b0aaa829dddec01886758843f3e29a46d8922688719af26",
|
|
138
138
|
"filename" => "appsignal-x86_64-freebsd-all-static.tar.gz"
|
|
139
139
|
},
|
|
140
140
|
"dynamic" => {
|
|
141
|
-
"checksum" => "
|
|
141
|
+
"checksum" => "3aa2dfe2c22f42c0d97b93bb21917180e0399359cc3d86786c62aeb6fcaa96c6",
|
|
142
142
|
"filename" => "appsignal-x86_64-freebsd-all-dynamic.tar.gz"
|
|
143
143
|
}
|
|
144
144
|
}
|
data/lib/appsignal/config.rb
CHANGED
|
@@ -156,7 +156,7 @@ module Appsignal
|
|
|
156
156
|
:send_request_payload => true,
|
|
157
157
|
:send_request_query_parameters => true,
|
|
158
158
|
:send_session_data => true,
|
|
159
|
-
:service_name =>
|
|
159
|
+
:service_name => "app",
|
|
160
160
|
:sidekiq_report_errors => "all",
|
|
161
161
|
:default_tags => {}
|
|
162
162
|
}.freeze
|
|
@@ -324,12 +324,11 @@ module Appsignal
|
|
|
324
324
|
|
|
325
325
|
# Build the OpenTelemetry Resource that carries AppSignal config to the
|
|
326
326
|
# collector. Attributes whose underlying option is nil or an empty array
|
|
327
|
-
# are omitted so the collector applies its own defaults. The revision
|
|
328
|
-
#
|
|
329
|
-
#
|
|
327
|
+
# are omitted so the collector applies its own defaults. The revision and
|
|
328
|
+
# host name are the exception: they fall back to a value here, so they
|
|
329
|
+
# are always sent.
|
|
330
330
|
def build_resource(config)
|
|
331
331
|
revision = config[:revision].to_s.empty? ? "unknown" : config[:revision]
|
|
332
|
-
service_name = config[:service_name].to_s.empty? ? "app" : config[:service_name]
|
|
333
332
|
host_name = config[:hostname].to_s.empty? ? "unknown" : config[:hostname]
|
|
334
333
|
|
|
335
334
|
attrs = {
|
|
@@ -340,7 +339,7 @@ module Appsignal
|
|
|
340
339
|
"appsignal.config.app_path" => config.root_path&.to_s,
|
|
341
340
|
"appsignal.config.platform" => config[:platform],
|
|
342
341
|
"appsignal.config.language_integration" => "ruby",
|
|
343
|
-
"service.name" => service_name,
|
|
342
|
+
"service.name" => config[:service_name],
|
|
344
343
|
"host.name" => host_name,
|
|
345
344
|
"appsignal.config.filter_attributes" => config[:filter_attributes],
|
|
346
345
|
"appsignal.config.filter_function_parameters" => config[:filter_function_parameters],
|
|
@@ -173,12 +173,16 @@ module Appsignal
|
|
|
173
173
|
end
|
|
174
174
|
if response_status
|
|
175
175
|
transaction.add_tags(:response_status => response_status)
|
|
176
|
-
|
|
177
|
-
:response_status,
|
|
178
|
-
1,
|
|
176
|
+
tags = {
|
|
179
177
|
:status => response_status,
|
|
180
178
|
:namespace => format_namespace(transaction.namespace)
|
|
181
|
-
|
|
179
|
+
}
|
|
180
|
+
Appsignal.increment_counter(:response_status, 1, **tags)
|
|
181
|
+
Appsignal::OpenTelemetry.if_started do
|
|
182
|
+
Appsignal.increment_counter(
|
|
183
|
+
:response_status, 1, **tags, :service => Appsignal.config[:service_name]
|
|
184
|
+
)
|
|
185
|
+
end
|
|
182
186
|
end
|
|
183
187
|
end
|
|
184
188
|
|
|
@@ -540,7 +540,7 @@ module Appsignal
|
|
|
540
540
|
duration_ms = (@start_time.to_f * 1000) - @queue_start
|
|
541
541
|
return if duration_ms.negative?
|
|
542
542
|
|
|
543
|
-
namespace =
|
|
543
|
+
namespace = service_namespace
|
|
544
544
|
Appsignal::Metrics::OpenTelemetryBackend.add_distribution_value(
|
|
545
545
|
"transaction_queue_duration", duration_ms, :namespace => namespace
|
|
546
546
|
)
|
|
@@ -577,7 +577,7 @@ module Appsignal
|
|
|
577
577
|
|
|
578
578
|
return unless should_report? && count.positive?
|
|
579
579
|
|
|
580
|
-
namespace =
|
|
580
|
+
namespace = service_namespace
|
|
581
581
|
Appsignal::Metrics::OpenTelemetryBackend.increment_counter(
|
|
582
582
|
"transaction_allocation_count", count, :namespace => namespace
|
|
583
583
|
)
|
|
@@ -756,6 +756,10 @@ module Appsignal
|
|
|
756
756
|
DISPLAY_NAMESPACE.fetch(namespace, namespace)
|
|
757
757
|
end
|
|
758
758
|
|
|
759
|
+
def service_namespace
|
|
760
|
+
"#{Appsignal.config&.[](:service_name)}/#{display_namespace(@namespace)}"
|
|
761
|
+
end
|
|
762
|
+
|
|
759
763
|
def write_request_headers(headers)
|
|
760
764
|
headers.each do |name, value|
|
|
761
765
|
@span.set_attribute("http.request.header.#{name}", value.to_s)
|
data/lib/appsignal/version.rb
CHANGED
data/sig/appsignal.rbi
CHANGED