Changelog

Improving AppSignal, one deploy at a time.

Aug 30, 2023

Fix inode usage host metric name format and do not start on config file error (opt-in)

Ruby3.4.12

Added

  • Add an option to not start AppSignal on config file errors. When the config/appsignal.yml file raises an error (due to ERB syntax issues or ERB errors), it will currently ignore the config file and try to make a configuration work from the other config sources (default, auto detection and system environment variables). This can cause unexpected behavior, because the config from the config file is not part of the loaded config.

    In future versions of the Ruby gem, AppSignal will not start when the config file contains an error. To opt-in to this new behavior, set the APPSIGNAL_INACTIVE_ON_CONFIG_FILE_ERROR system environment variable to either 1 or true.

Changed

  • Log an error when sample data is of an invalid type. Accepted types are Array and Hash. If any other types are given, it will log an error to the appsignal.log file.

Fixed

  • Bump agent to 6133900.
    • Fix disk_inode_usage metric name format to not be interpreted as a JSON object.

See the Ruby gem 3.4.12 changelog for more information.

Aug 25, 2023

Ruby 2.7 support is back and new host_role config option

Ruby3.4.11

Added

  • Re-add support for Ruby 2.7.
  • Add the host_role config option. This config option can be set per host to generate some metrics automatically per host and possibly do things like grouping in the future.

Changed

  • Bump agent to version d789895.

    • Increase short data truncation from 2000 to 10000 characters.

See the Ruby gem 3.4.11 changelog for more information.

Aug 11, 2023

Sanitization support for the THEN and ELSE SQL logical operators

Ruby3.3.11

Backport of improved SQL query sanitization and some other improvements.

  • Upgrade sql_lexer to v0.9.5. It adds sanitization support for the THEN and ELSE logical operators.
  • Only ignore disk metrics that start with "loop", not all mounted disks that end with a number to report metrics for more disks.
  • Rely on APPSIGNAL_RUNNING_IN_CONTAINER config option value before other environment factors to determine if the app is running in a container.
  • Fix container detection for hosts running Docker itself.
  • Add APPSIGNAL_STATSD_PORT config option.

See the Ruby gem 3.3.11 changelog for more information.

Jul 31, 2023

Sanitization support for the THEN and ELSE SQL logical operators

Ruby3.4.10

Upgrade internal sql_lexer library to v0.9.5. It adds sanitization support for the THEN and ELSE logical operators.

See the Ruby gem 3.4.10 changelog for more information.

Jul 27, 2023

Report custom data with Rails error handler

Ruby3.4.9

Allow passing custom data using the appsignal context via the Rails error reporter:

ruby
custom_data = { :hash => { :one => 1, :two => 2 }, :array => [1, 2] } Rails.error.handle(:context => { :appsignal => { :custom_data => custom_data } }) do raise "Test" end

See the Ruby gem 3.4.9 changelog for more information.

Jul 21, 2023

Total CPU usage host metric for VMs

Ruby3.4.8
  • Allow configuration of the agent's TCP and UDP servers using the bind_address config option. This is by default set to 127.0.0.1, which only makes it accessible from the same host. If you want it to be accessible from other machines, use 0.0.0.0 or a specific IP address.
  • Report total CPU usage host metric for VMs (not cgroups/containers). This change adds another state tag value on the cpu metric called total_usage, which reports the VM's total CPU usage in percentages.

See the Ruby gem 3.4.8 changelog for more information.

Jul 18, 2023

Display more disks and support Render commit hash

Ruby3.4.7
  • Don't ignore all disk names ending in a number for host metrics.
  • Use RENDER_GIT_COMMIT environment variable as revision if no revision is specified.

See the Ruby gem version 3.4.7 changelog for more information.

Jul 03, 2023

Replace recursively nested values when sanitizing

Ruby3.4.6

Replace recursively nested values when sanitizing an array or hash. This fixes a SystemStackError exception when sanitizing arrays or hashes.

See the Ruby gem version 3.4.6 changelog for more information.

Jun 27, 2023

Add option to filter metadata, fix Sinatra's custom request parameters

Ruby3.4.5
  • Add filter_metadata option to filter out default metadata such as path from samples.
  • Fix Sinatra's custom request parameters method.
  • Log error when the argument type of the breadcrumb metadata is invalid.

See the Ruby gem version 3.4.5 changelog for more information.

Jun 02, 2023

StatsD configuration options, update bundled root certificates

Ruby3.4.3
  • Allow configuration of the agent's StatsD server port through the statsd_port option.
  • Update bundled trusted root certificates.
  • Rely on APPSIGNAL_RUNNING_IN_CONTAINER config option value before other environment factors to determine if the app is running in a container.
  • Fix container detection for hosts running Docker itself.

See the Ruby gem version 3.4.3 changelog for more information.

Jun 02, 2023

Fix a bug preventing log messages from reaching AppSignal

Ruby3.4.4

Fixed a bug that prevented log messages from getting to AppSignal when using the convenience methods.

See the Ruby gem version 3.4.4 changelog for more information.

May 02, 2023

Fix for minutely probes

Ruby3.4.2

Do not run minutely probes on Rails console.

See the ruby gem version 3.4.2 changelog for more information.

Apr 14, 2023

Various Ruby gem updates and bug fixes

Ruby3.4.1
  • Add Rails error reporter Errors reported using Rails.error.handle are tracked as separate errors in AppSignal. We rely on our other Rails instrumentation to report the errors reported with Rails.error.record.
  • Support Sidekiq in Rails error reporter. Track errors reported using Rails.error.handle in Sidekiq jobs, in the correct action.
  • Set the AppSignal transaction namespace, action name and some tags, before Active Job jobs are performed.
  • The AppSignal gem requires Ruby 3 or higher to run. Remove unnecessary Ruby version checks that query Ruby 2.7 or lower.
  • Internal refactor of Ruby code due to RuboCop upgrade
  • Fix a bug when using ActiveSupport::TaggedLogging calling the silence method.

See the ruby gem version 3.4.1 changelog for more information.

Apr 04, 2023

Remove support for EOL Ruby versions, fix Logger error

Ruby3.4.0
  • Remove support for Ruby versions in that are end of life, following our maintenance policy. Please upgrade your Ruby version to a supported version before upgrading AppSignal.
  • Fix Logger add method signature error

See the ruby gem version 3.4.0 changelog for more information

Apr 03, 2023

Improve Appsignal::Logger compatibility

Ruby3.3.10
  • The Appsignal::Logger is now compatible with ActiveSupport::Logger.broadcast.

See the ruby gem version 3.3.10 changelog for more information.

Mar 31, 2023

Fix error with Ruby's default logger formatter

Ruby3.3.9
  • Fixed an error when using our Logging feature with Ruby's default logger formatter.

See the ruby gem version 3.3.9 changelog for more information.

Mar 30, 2023

Support "warning" value for log_level, add global VM lock metrics

Ruby3.3.8
  • Support "warning" value for log_level config option.
  • Add global VM lock metrics.

See the ruby gem version 3.3.8 changelog for more information.

Mar 09, 2023

Remove trailing comments in queries, fix events longer than 48 minutes

Ruby3.3.7
  • Configure diagnose with RACK_ENV or RAILS_ENV environment variable
  • Remove trailing comments in SQL queries
  • Fix events longer than forty-eight minutes

See the ruby gem version 3.3.7 changelog for more information.

Feb 13, 2023

Report shared memory metric for host metrics

Ruby3.3.5

Report shared memory metric for host metrics, visible in the host metrics memory graph. See the ruby gem version 3.3.5 changelog for more information.

Feb 07, 2023

Add NGINX metrics support

Ruby3.3.4

Add NGINX metrics support. See the NGINX metrics documentation for details.

Start your free trial

Don’t let the bad bugs bite. Try AppSignal for free.

AppSignal offers a 30-day free trial, no credit card is required. All features are available in all plans. Start monitoring your application in just a few clicks!