Add nginx_port configuration option. This configuration option can be used to customize the port on which the AppSignal integration exposes the NGINX metrics server.
Update span recognition following the OpenTelemetry Semantic Conventions 1.30 database specification.
Sanitize SQL queries in the db.query.text attribute and Redis queries in the db.operation.name attribute.
Removed
Remove the OpenTelemetry beta feature in favor of the new AppSignal collector. If you are using the AppSignal agent to send OpenTelemetry data in our public beta through the /enriched endpoint on the agent's HTTP server, please migrate to the collector to continue using the beta. The collector offers a more complete and stable implementation of this feature for the beta.
Drop support for Debian Jessie and Debian Stretch for the stand-alone agent packages.
Fixed
Ensure adduser dependency is declared as such on the Debian package.
This fixes an issue in certain environments, such as in Ubuntu Noble container images, where the appsignal-agent user fails to be created during installation because the adduser and addgroup command-line utilities are not present by default.
Fix file ownership issue on stand-alone Debian packages. Ensure that the /etc/appsignal-agent.conf configuration file is owned by the appsignal-agent user.
Fix a performance issue when sanitising INSERT INTO ... VALUES queries.
Read from environment variables for config in standalone agent. When the agent is started with the --config CLI option, it will now also read from the environment variables documented in the standalone agent config section. The environment variables are read first. Any option set in the config file (specified with --config) will override the environment variable value.
Improve the error message that is logged for the standalone agent using a configuration while when it is not properly configured.
We've released the first version of AppSignal for Kubernetes.
After configuring and deploying AppSignal for Kubernetes in your cluster, an automated dashboard apears with Kubernetes Node metrics:
We're curently gathering feedback on the current implementation, so please reach out via support@appsignal.com if you install AppSignal for Kubernetes in your cluster.
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.
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.
Add histogram support to the OpenTelemetry HTTP server. This allows OpenTelemetry-based instrumentations to report histogram data to AppSignal as distribution metrics.
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.
Add a Debian 12 (Bookworm) package for the standalone agent.
Add support for Debian 12 (Bookworm) for the ARM architecture for standalone agent packages. This is a beta package and may not work as expected. Please report any issues you may encounter.
Fix disk usage returning a Vec with no entries on Alpine Linux when the df --local command fails.
Log a warning when no mountpoints are found to report the disk usage metrics. This scenario shouldn't happen (it should log an error, message about skipping a mountpoint or log the disk usage). Log a warning to detect if this issue really occurs.
Improve extraction of OpenTelemetry span details from the Requests library, by using the HTTP method, scheme, host and port as the event name. This improves grouping in the "Slow API requests" performance panel.
Remove extra HTTP attributes from Django root spans.
Remove route tag from HTTP server spans. Since the span will already have the route attribute as part of its name, the tag is redundant.
Filter more disk mountpoints for disk usage and disk IO stats. This helps reduce noise in the host metrics by focussing on more important mountpoints. Any mountpoint containing /etc/hostname, /etc/hosts, /etc/resolv.conf, /snap/ or /proc/ is ignored.
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.
Fixed
Fix missing error metrics for the error rate and error count graphs in some scenarios, like with Koa apps.
Fix an issue where the method tag extracted from an incoming HTTP request span would be overriden with the method used for an outgoing HTTP request span.
Support disk usage reporting (using df) on Alpine Linux. This host metric would report an error on Alpine Linux.
When a disk mountpoint has no inodes usage percentage, skip the mountpoint, and report the inodes information successfully for the inodes that do have an inodes usage percentage.
Fix an issue where queries containing a MySQL leading type indicator would only be partially sanitised.
Added support for the Debian Bullseye (11) distribution.
Add an exponential backoff to the retry sleep time to bind to the StatsD, NGINX and OpenTelemetry HTTP ports. This gives the agent a longer time to connect to the ports if they become available within a 4 minute window.
Logs from the agent and extension now use a more consistent format for spans and transactions.
The "debug" log level should now be enough for debugging most support issues.
Add memory_in_percentages and swap_in_percentages host metrics that represents metrics in percentages.
Ignore /snap/ disk mountpoints when measuring disk usage in volumes.
Fix agent's OpenTelemetry HTTP server getting stuck when two requests are made within the same fraction of a second.
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!