Logo of AppSignal

Menu

Ruby gem 2.4 -
FreeBSD support and more exceptions!

Tom de Bruijn on

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.

More exceptions

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 StandardError.

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.

1
2
3
4
5
6
7
8
9
10
11
12
13
# 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:

1
export APPSIGNAL_IGNORE_ERRORS="Exception,NoMemoryError,ScriptError,LoadError,NotImplementedError,SyntaxError,SecurityError,SignalException,Interrupt,SystemExit,SystemStackError"

FreeBSD

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.


Please see the changelog for more details about these improvements, deprecations and other changes. And as always: get in touch if you encounter problems after upgrading. We’re happy to help!

10 latest articles

Go back

Subscribe to

Ruby Magic

Magicians never share their secrets. But we do. Sign up for our Ruby Magic email series and receive deep insights about garbage collection, memory allocation, concurrency and much more.