Limits for high volume traces
Fixed
- Add limits to traces and span data to reduce the amount of data kept in memory during traffic burst and for long running traces.
This release can be installed through our collector packages and Docker image.
Improving AppSignal, one deploy at a time.
This release can be installed through our collector packages and Docker image.
This release can be installed through our collector packages and Docker image.
This release can be installed through our collector packages and Docker image.
http.request.header.* and http.response.header.* span attributes) using the values in the appsignal.config.request_headers and appsignal.config.response_headers resource attribute configuration options.appsignal.config.send_request_query_parameters resource attribute configuration option is set to false. The url.full and http.target span attributes now lose their query string rather than being removed, because they hold the request path as well. Applications whose instrumentation reports the path in http.target, without also reporting an http.route attribute, showed no path on their samples and error incidents.appsignal.config.request_headers and appsignal.config.response_headers resource attribute configuration options are also normalized to this shape before comparison.This release can be installed through our collector packages and Docker image.
This release can be installed through our collector packages and Docker image.
Improve internal metrics reporting.
The collector now reports additional internal metrics about trace processing. These metrics are used by AppSignal to monitor the collector.
This release can be installed through our collector packages and Docker image.
Fix host-metrics leaking zombie [timeout] processes in Alpine Linux containers.
Before this release AppSignal collector relied on a proper init process that reaps child processes killed by system timeout. Now the collector terminates and reaps unresponsive child processes in host-metrics collection and a subreaper is no longer required.
Sanitize Redis spans' query text instead of the command name.
The collector previously redacted db.operation / db.operation.name, which per the OpenTelemetry semantic conventions only contains the command verb (e.g. GET, HMSET) with nothing to redact, and left the full command-with-arguments in db.query.text / db.statement unredacted. The full command is now correctly sanitized, matching how the official OpenTelemetry Redis instrumentations emit data.
As a side effect, Redis spans now group by command shape rather than by exact arguments, the same way SQL spans group by query shape.
Sanitize SQL queries for database systems reported using the current OpenTelemetry semantic conventions.
The collector's SQL sanitization only recognized the db.system values from semantic conventions up to v1.29.0. Values renamed in v1.30.0, when the attribute became db.system.name, such as microsoft.sql_server for Microsoft SQL Server, were not recognized, so their queries were stored without sanitization. Both the older db.system values and the current db.system.name values are now recognized.
This release can be installed through our collector packages and Docker image.
This release can be installed through our collector packages and Docker image.
HEAD requests on the /up and / endpoints. These now respond with 200 OK so health checks and uptime monitors that use HEAD requests no longer receive a 404 response.This release can be installed through our collector packages and Docker image.
This release can be installed through our collector packages and Docker image.
This release can be installed through our collector packages and Docker image.
This release can be installed through our collector packages and Docker image.
Allow appsignal.group and appsignal.format attributes in OpenTelemetry logs to override the log line's group and format.
When present, appsignal.group overrides the resource-level service name as the log group, and appsignal.format (one of plaintext, logfmt, json, autodetect) overrides the log source's parsing format.
This release can be installed through our collector packages and Docker image.
This release can be installed through our collector packages and Docker image.
This release can be installed through our collector packages and Docker image.
This release can be installed through our collector packages and Docker image.
db.stored_operation.name as one of the attributes to determine if two spans are the same. When it is present, ignore db.statement and db.query.text for the same purpose.This release can be installed through our collector packages and Docker image.
Allow the use of app-level push API keys. When an app-level push API key is used, the resource attributes for the name and environment should not be specified. These resource attributes are now optional, although the use of one requires the other.
Make most resource attributes optional. Allow for the resource attributes pertaining the revision, the hostname, the language integration and the application path to not be present. This allows the AppSignal collector to more easily ingest data from arbitrary OpenTelemetry sources.
Note that usage of these resource attributes is still recommended. Traces sent without these attributes may be tagged with the wrong hostname or revision, or have their error backtraces parsed incorrectly.
This release can be installed through our collector packages and Docker image.
heroku.release.version resource attribute as a fallback value for revision for Heroku Fir applications.This release can be installed through our collector packages and Docker image.
This release can be installed through our collector packages and Docker image.
Free for 30 days. No credit card. Two-minute install.
Need help or have a feature request? Talk to a real engineer. Not a bot, not a ticket queue.
AppSignal is built by a small, dedicated team spread across the world. We love stroopwafels. If you do too, let us know. We might send you some.