We just released AppSignal for Ruby gem version 2.2 which adds support for custom namespaces, Ruby 2.4 and contains a lot of other improvements.
Custom namespaces
In this gem release we've added support for custom namespaces. Namespaces are a way to group error incidents, performance incidents, and host metrics in your app.
By default AppSignal has always supported the "web" and "background" namespaces for HTTP requests and backgrounds jobs. Now we will support a lot more of them with custom namespaces.
The advantage of custom namespaces is the ability to group together errors and performance incidents from separate parts of the same application. Think of an administration panel, public homepage versus private back-end, etc.
It's also possible to configure your app's notification settings per namespace in "App settings" under the "Notifications" tab. When we detect new namespace it will be listed with its own notification settings.
Ruby 2.4
The internals of the Ruby Integer
and Fixnum
class were updated in Ruby 2.4; the Fixnum
and Bignum
classes were deprecated. To avoid outputting all kinds of deprecation warnings we've updated the way we use the unified Integer
type in our Ruby gem.
Revert previously hardcoded DNS servers
To combat a known DNS libmusl issue introduced in gem version 2.1 we've previously hardcoded public DNS servers in our Rust agent. This has now been reverted as it caused some other issues for users. If you're running into connection timeouts after upgrading please see our documentation about this issue.
Better Padrino action names
Our Padrino integration got a small update about how the action names are built. The gem will now use the new Padrino API calls to get action names.
Note that this change will report errors and performance incidents under new, more descriptive, action names as new incidents for more recent Padrino apps.
Thanks Liam Noone for pointing this out to us!
Front-end endpoint bug fixes
Some of our front-end beta users ran into issues when the payload sent to the endpoint wasn't valid JSON or when sending data to it when the feature wasn't enabled.
We now handle invalid JSON better and return a 400 response while enabling the endpoint but ignoring the request when the feature isn't enabled.
Thanks Boris Kuznetsov for bringing this to our attention!
More code documentation
We've recently improved the documentation of our Ruby gem on the code level. In this release the instrumentation helpers have been documented in greater detail.
We'll continue to improve the documentation of our instrumentation helpers in the Ruby gem itself and in our documentation.
Please see the changelog for more details about these improvements, deprecations and more. And as always: get in touch if you encounter problems after upgrading. We're happy to help!