Logs Classic custom attribute keys are now case-sensitive
Breaking change
This release ends the transition period for custom attribute case-sensitivity changes.
Starting with this release (Dynatrace Managed version 1.306):
Custom attributes allow uppercase letters.
Attributes of ingested log events are strictly matched with the attribute definitions (including uppercase or lowercase).
Custom attribute keys have to be case-sensitively unique, which means that custom attributes differing only in letter case are no longer treated as the same attributes. For example, it is now possible to define two different custom attributes named MyAttribute and myattribute.
Searches become case-sensitive (except for filter-only attributes). For example, if you define a custom attribute MyAttribute, then a search for MyAttribute="SEARCH" will return log events having this particular attribute value set to SEARCH but myattribute="SEARCH" will not.
Query values remain case-insensitive. For example, MyAttribute="SEARCH" is equivalent to MyAttribute="search".
New features and enhancements
Additional attributes can be used for "Request naming" rules
Application Observability | Distributed Traces
Every attribute listed in the classic trace view, on the Summary tab, section OneAgent attributes, can be used for custom request names.
Limit for complex event filters in Alerting Profiles
Platform | Problems
A new default limit of 1,000 unique complex event title/description filters counted over all Alerting Profiles has been introduced.
An event title/description filter is considered complex if it is either a contains operator with case sensitivity turned off, or a contains regex operator.
An Alerting Profile with only a single unique complex event title/description filter does not count toward the maximum limit.
Kubernetes monitoring restart minimized
Infrastructure Observability | Kubernetes
Kubernetes monitoring restart has been minimized on Kubernetes settings update without actual content change.
In OTLP (OpenTelemetry Protocol) metrics ingest, the default allow list for resource and scope attributes to be taken over as metrics dimensions was extended.
Several attributes in the k8s.* and dt.* namespace were added as well as service.instance.id.
If the new attributes are not desired, the individual toggles can be turned off under Settings > Metrics > OpenTelemetry metrics > Allow list: resource and scope attributes (or the entry can be removed altogether).
New application parameter for user session anonymization
The Anonymization API - PUT anonymization job supports anonymization of user sessions based on an internal application ID via the parameter requestId (or clusterRequestIds for Premium High-Availability clusters).
Dynatrace API
To learn about changes to the Dynatrace API in this release, see:
The technology coverage card on the security overview page now shows the number of monitored and affected entities if global detection control is disabled for that technology. The column "Monitoring" has been renamed to "Global detection control" to clarify its meaning. (RSA-19461)
Cluster
Fixed an issue that caused some service- and application-based events to merge even if the ‘merge with existing’ flag was disabled. (DI-17513)
Fixed an issue that caused the OneAgent features page to be inaccessible. (APPOBS-3188)
The trace view truncation record limit has been reduced to 20,000 to prevent issues with large traces. (TI-14688)
Fixed an issue in which, in some cases, the mobile classic crash screen did not show the app version for a given crash. (DEM-2625)
Resolved an issue where the final timeslot for the metrics `Host availability %` and `Process availability %` incorrectly displayed 0%, despite the host/process being available. (GRAIL-34314)
Fixed a rare case where problems could link to each other as duplicates in a cycle, leading to both problems not being shown in the web UI. (DI-17312)
The over-alerting prevention delay is no longer ignored for low/high load alerting for web applications. (DI-17195)
Fixed a case where the same root cause analysis Davis events could be written more than once to Grail with different `event.id` values. (DI-17744)
The `problemNotifications:sendTestNotification` REST API endpoint now supports the alerting profile ID in the settings object ID format. (DI-17125)
Changed the structure of the 403 response to POST `settings/objects` requests: the JSON now represents a single object instead of an array. (PS-28811)
Fixed an issue where event properties can be set to those from the event semantic dictionary model in the v2 REST API and then lead to temporary unexpected event states in Grail. The semantic dictionary fields only function when sent via a platform-reporting mechanism such as Davis anomaly detectors. (DI-17594)
Fixed a permissions issue with querying logs in the embedded view. (APPOBS-2918)
De-alerting periods for Davis Problems detected via Kubernetes anomaly detection have been increased to reduce occurrences where problems with the same root cause are frequently closed and re-opened again. The alerts "Container restarts" and "Out-of-memory kills" now de-alert after 15 minutes. All other alerts that previously had a de-alerting period of 5 minutes now de-alert after 10 minutes. (INFOBS-903)
Fixed an issue with loading filter suggestions on the mobile reported error screen. (DEM-3637)
Fixed the maintenance window timestamps in the evidence details of the Problems v2 REST API. (DI-17088)
Stored filter config filters are no longer removed when coming to the service list from a dashboard with applied dashboard filters. (APPOBS-2444)
Fixed HTTP steps configuration deletion in the custom-wrapped service. (DEM-2872)
Frequent issue detection is now disabled by default for events/problems raised on the environment singleton entity. There is an opt-in in the frequent issue detection settings. This does not affect frequent issue detection on applications, transactions, services, and infrastructure. (DI-17508)
Session Replay
The Chrome-specific `getInnerHTML` function is replaced by `getHTML` when trying to get shadow roots. (SR-6313)
Synthetic
When a containerized Synthetic location is overloaded and the Chromium cache directory is not being cleaned up properly after each visit, we fall back to a periodic purger. This release resolves a bug in volume mapping that resulted in the purger not cleaning them up. (SYNTH-13549)