Changelog

Improving AppSignal, one deploy at a time.

Mar 25, 2024

Fix CPU usage measurements

Ruby3.6.4

Fix CPU user/system usage measurements, as to take into account the amount of CPUs available.

Mar 25, 2024

Fix CPU usage measurements

Fix CPU user/system usage measurements, as to take into account the amount of CPUs available.

Mar 22, 2024

Add CPU count configuration option

Node.js3.3.2

Implement CPU count configuration option. Use it to override the auto-detected, cgroups-provided number of CPUs that is used to calculate CPU usage percentages.

To set it, use the the cpuCount configuration option or the APPSIGNAL_CPU_COUNT environment variable.

Mar 21, 2024

Don’t evaluate environment variable values to read configuration

Node.js3.3.1

In previous versions of the Node.js integration, environment variables were evaluated to read their values. This version instead parses them based on their expected values.

Mar 20, 2024

Add CPU count configuration option

Elixir2.9.1

Implement CPU count configuration option. Use it to override the auto-detected, cgroups-provided number of CPUs that is used to calculate CPU usage percentages.

To set it, use the the cpu_count configuration option or the APPSIGNAL_CPU_COUNT environment variable.

Mar 20, 2024

Add minutely probes and other improvements

Python1.2.0

Add minutely probes

Add a minutely probes system. This can be used, alongside our metric helpers, to report metrics to AppSignal once per minute.

python
from appsignal import probes, set_gauge def new_carts(previous_carts=None): current_carts = Cart.objects.all().count() if previous_carts is not None: set_gauge("new_carts", current_carts - previous_carts) return current_carts probes.register("new_carts", new_carts)

The minutely probes system starts by default, but no probes are automatically registered. You can use the enable_minutely_probes configuration option to disable it.

Add CPU count configuration option

Implement CPU count configuration option. Use it to override the auto-detected, cgroups-provided number of CPUs that is used to calculate CPU usage percentages.

To set it, use the the cpu_count configuration option or the APPSIGNAL_CPU_COUNT environment variable.

Fix ASGI events showing up as slow API requests

Fix ASGI events, from Python ASGI applications that have been instrumented with AppSignal, mistakenly showing up in the "Slow API requests" panel.

Mar 20, 2024

Improve Rails error reporter and other improvements

Ruby3.6.3

Improve Rails error reporter

Add request parameters, "path" and "method" tags to errors reported in controllers via the Rails error reporter. (Thanks @bdewater-thatch!)

Add CPU count configuration option

Implement CPU count configuration option. Use it to override the auto-detected, cgroups-provided number of CPUs that is used to calculate CPU usage percentages.

To set it, use the the cpu_count configuration option or the APPSIGNAL_CPU_COUNT environment variable.

Mar 20, 2024

Add CPU count configuration option

Implement CPU count configuration option. Use it to override the auto-detected, cgroups-provided number of CPUs that is used to calculate CPU usage percentages.

To set it, use the the cpu_count configuration option or the APPSIGNAL_CPU_COUNT environment variable.

Mar 11, 2024

Add distribution value custom metric helper

Python1.1.1

Add distribution value custom metric helper. This can be used to add values to distributions in the same way as in our other integrations:

python
# Import the AppSignal metric helper from appsignal import add_distribution_value # The first argument is a string, the second argument a number (int/float) # add_distribution_value(metric_name, value) add_distribution_value("memory_usage", 100) add_distribution_value("memory_usage", 110) # Will create a metric "memory_usage" with the mean field value 105 # Will create a metric "memory_usage" with the count field value 2

See the Python package 1.1.1 changelog for more information.

Mar 06, 2024

Improved container CPU metrics

Elixir2.9.0

Added

  • 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.
  • 1566a4a8 patch - Update the Mix config import in the config/appsignal.exs file to use import Config, rather than the deprecated use Mix.Config.
  • 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 changelog for AppSignal for Elixir package 2.9.0 for more information.

Mar 06, 2024

Improved container CPU metrics and histogram support

Node.js3.2.0

Added

  • 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.
  • f99d4c5 patch - 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 Node.js 3.2.0 package changelog for more information.

Mar 06, 2024

Apollo Gateway Support

Node.js3.3.0

Added

  • Added support for Apollo Federation Gateways. Queries sent to the supergraph will now be instrumented.

See the Node.js 3.3.0 package changelog for more information.

Mar 05, 2024

Active Job error reporting config option

Ruby3.6.1

Added

  • Add activejob_report_errors config option. When set to "none", ActiveJob jobs will no longer report errors. This can be used in combination with custom exception reporting. By default, the config option has the value "all", which reports all errors.

See the Ruby gem 3.6.1 changelog for more information.

Mar 04, 2024

Improved container CPU metrics, fix long running traces, histogram support

Python1.1.0

Added

  • 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.
  • Make the debug log message for OpenTelemetry spans from libraries we don't automatically recognize more clear. Mention the span id and the instrumentation library.
  • Fix an issue where queries containing a MySQL leading type indicator would only be partially sanitised.
  • 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 Python package 1.1.0 changelog for more information.

Feb 26, 2024

Ruby gem 3.6.0

Ruby3.6.0

Added

  • Add instrumentation for all Rack responses, including streaming responses. New response_body_each.rack, response_body_call.rack and response_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:

    ruby
    get "/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.

Feb 23, 2024

Standalone agent 0.33.2

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.

This release can be installed through our standalone agent packages and as a Docker image.

Feb 21, 2024

Standalone agent 0.33.1

Added

  • Add histogram support to the OpenTelemetry HTTP server. This allows OpenTelemetry-based instrumentations to report histogram data to AppSignal as distribution metrics.

This release can be installed through our standalone agent packages and as a Docker image.

Feb 14, 2024

Standalone agent 0.33.0

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.

This release can be installed through our standalone agent packages and as a Docker image.

Feb 13, 2024

App updates

We've improved a number of smaller details in the App. Here's a list of the changes we've made:

  • Selected columns on the Error/Performance sample pages are now persisted.
  • Alerts in the Time Detective now link to Anomaly Incidents, instead of the edit form.
  • Add log view params to the url, this allows for additional filtering on a log view, and the ability to save it as a new view.
  • The chart on the log view page now handles large timeframes. It now loads data in batches, preventing timeouts, and a broken graph.
  • Link templates for Error/Performance sample tags can now include dashes (-).
  • Expand SQL syntax highlighting to additional Event Payload bodies, such as active_record, ecto, knex, mysql, pg, sequel, psycopg2 and sql.
Feb 08, 2024

Default headers don't include `REQUEST_URI` anymore

Ruby3.5.6

Changed

  • The default headers no longer include REQUEST_URI as query params are not sanitize and might include PII. Now the REQUEST_PATH is used instead.

See the Ruby gem 3.5.6 changelog for more information.

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!