Ruby gem 3.6.0
Added
-
Add instrumentation for all Rack responses, including streaming responses. New
response_body_each.rack
,response_body_call.rack
andresponse_body_to_ary.rack
events will be shown in the event timeline. This will show how long it takes to complete responses, depending on the response implementation.This Sinatra route with a streaming response will be better instrumented, for example:
Rubyget "/stream" do stream do |out| sleep 1 out << "1" sleep 1 out << "2" sleep 1 out << "3" end end
-
Add histogram support to the OpenTelemetry HTTP server. This allows OpenTelemetry-based instrumentations to report histogram data to AppSignal as distribution metrics.
Changed
- Breaking change: Normalize CPU metrics for cgroups v1 systems. When we can detect how many CPUs are configured in the container's limits, we will normalize the CPU percentages to a maximum of 100%. This is a breaking change. Triggers for CPU percentages that are configured for a CPU percentage higher than 100% will no longer trigger after this update. Please configure triggers to a percentage with a maximum of 100% CPU percentage.
- Support fractional CPUs for cgroups v2 metrics. Previously a CPU count of 0.5 would be interpreted as 1 CPU. Now it will be correctly seen as half a CPU and calculate CPU percentages accordingly.
- Update bundled trusted root certificates.
Fixed
- Fix (sub)traces not being reported in their entirety when the OpenTelemetry exporter sends one trace in multiple export requests. This would be an issue for long running traces, that are exported in several requests.
See the Ruby gem 3.6.0 changelog for more information.