We just released AppSignal for Ruby gem version 2.4 which adds support for FreeBSD, captures more exception types, restarts our agent automatically and fixes the DNS timeouts issue for good.
In this release the AppSignal Ruby gem captures more exception types by default. The Ruby gem previously only captured
StandardError and other errors that inherited Ruby's
Capturing all Ruby exception types didn't make sense as most common errors relevant to developers are inherited from
StandardError. Over time we've noticed that to provide a better picture of the operation of your app (and to support some custom exceptions used by other gems) these exception types are relevant to report.
If you want to know more about exceptions in Ruby and what this change means for you, read our Ruby Magic Exceptions primer.
The AppSignal Ruby gem now captures all Ruby exception types by default, which means more errors will be reported for your application.
If you don't want to see all these new errors and revert back to the old AppSignal gem behavior, add the following configuration to your application.
# config/appsignal.yml ignore_errors: - Exception - NoMemoryError - ScriptError - LoadError - NotImplementedError - SyntaxError - SecurityError - SignalException - Interrupt - SystemExit - SystemStackError
You can also set this configuration through an environment variable:
The AppSignal agent now supports 64-bit FreeBSD, a platform we didn't support with the most recent versions of the AppSignal gem.
If you run your application on a FreeBSD system please upgrade to the latest version of the AppSignal Ruby gem and let us know if you experience any problems with this new build.
The FreeBSD build for the AppSignal agent does not support host metrics at this time. We hope to support this in a future release of the AppSignal Ruby gem.
Separate Alpine Linux build
In AppSignal for Ruby gem 2.1 we switched to a musl compatible agent build to support Alpine Linux. An unforeseen consequence was that our agent became incompatible with certain DNS settings on other platforms.
We tried a couple of different solutions over the past few months, but the best way to solve this problem was to ship a separate Alpine Linux build. With this version, we can finally announce the DNS timeouts issue is resolved. Please upgrade to AppSignal for Ruby gem version 2.4.0 or higher if you ever had this problem.