Latest Dynatrace
Metrics on Grail supports many of the existing built-in metrics as identified below.
The expandable sections below describe differences in built-in metrics on Grail when compared to similar Metrics Classic metrics.
Metrics on Grail introduces guidelines to improve clarity, consistency, and readability for Dynatrace-provided metrics, dimensions, and entities across the Dynatrace Platform:
builtin:
prefix with dt.
to clearly denote Dynatrace-provided metrics and entities.capacity_units
) to camel case (capacityUnits
) to improve readability.By taking advantage of Grail's improved scalability, it's no longer necessary to split, distribute, or pre-aggregate your data. Let's illustrate with an example.
The Metrics Classic metric builtin:host.net.bytesRx
represents bytes received by hosts in your environment, measured in bytes per second. It's a pre-aggregated metric based on builtin:host.net.nic.bytesRx
, which measures bytes received by host-network interface pairs. Pre-aggregating the metric helps you to optimize queries and helps classic metrics distribute query load.
Consequently, the following two metric selectors return equivalent results with Metrics Classic metrics, but the query on builtin:host.net.bytesRx
is faster (especially in large environments) because the host-level aggregation has already taken place.
// queries pre-aggregated host-level databuiltin:host.net.bytesRx:splitBy("dt.entity.host"):avg
// queries host- and network interface-level databuiltin:host.net.nic.bytesRx:splitBy("dt.entity.host"):avg
Grail, however, is already optimized for such high cardinality queries. Since the pre-aggregated metric builtin:host.net.bytesRx
is no longer necessary, only builtin:host.net.nic.bytesRx
is supported by metrics on Grail, and it can be queried as
timeseries avg(dt.host.net.nic.bytes_rx), by:{dt.entity.host}
There are three kinds of Metrics Classic extension metrics to consider:
builtin:tech
prefixext:
prefixFor details, see below.
builtin:tech
prefixExtension 1.0 metrics appear in Metrics Classic metrics with the prefix builtin:tech
. These metrics appear in Grail instead with a legacy
prefix. For example:
This renaming applies to all Extension 1.0 metrics with the prefix builtin:tech
, except for the following:
builtin:tech.generic
.builtin:tech.websphere
.This renaming does not apply to Metrics Classic technology metrics, which can be upgraded to Grail runtime metrics, including metrics prefixed with builtin:tech.jvm
, builtin:tech.go
, and more.
ext:
prefixExtension metrics with the ext:
prefix are either provided by OneAgent or ActiveGate extensions, or are classic metrics for AWS integration.
Regardless of the source, they behave the same way.
These can be found in Grail according to the following renaming rules:
ext:
prefix.camelCase
to snake_case
.As shown in the following examples, snake case renaming depends on the context. AWS's route53resolver
and other components are proper nouns and are not renamed:
These have no special renaming and can be queried as is in many cases.
cloud.gcp.cloudfunctions_googleapis_com.function.active_instances:splitBy():avg
timeseries avg(cloud.gcp.cloudfunctions_googleapis_com.function.active_instances)
Extension metrics with special characters are an exception. Escape these metrics with backticks (``
) to use them in DQL.
com.dynatrace.extension.snmp-generic-cisco-device.cpm.cpu.loadavg."5min":splitBy():avg
timeseries avg(`com.dynatrace.extension.snmp-generic-cisco-device.cpm.cpu.loadavg.5min`)
If you can't find your custom metric in Grail, try querying your metric key without the .count
suffix.
You can query custom metrics with both metric selectors and DQL. However, your custom metric key might have a different name in DQL queries. For example, if you ingest a count metric with the coffees.brewed
key, as shown below using the metric ingest protocol
coffees.brewing count,delta=2
Dynatrace creates and stores two metrics:
coffees.brewing.count
coffees.brewing
You can query the Grail metric via DQL using the original metric key:
timeseries sum(coffees.brewing)
This is different from Metrics Classic, which automatically appends count metrics with the .count
suffix. You still need to use the coffees.brewing.count
metric key to query the Metrics Classic metric.
coffees.brewing.count:splitBy():value
While calculated service metrics are supported, other calculated metrics are not yet supported on Grail.
calc:apps
) are not supported on Grail.calc:log
) are not supported on Grail. See Upgrade Log Monitoring Classic to Log Management and Analytics.New container metrics are now available for DPS-enabled customers. The new metrics are subject to a new licensing model, as distinct from the current full-stack host units model.
Metric availability:
More information:
Additionally, the following Classic Extension 1.0 metrics are deprecated and likewise not supported on Grail:
For a detailed list of the host metrics and their availability, refer to Host metrics.
Many Classic host-level network metrics can be reproduced using Grail NIC-level network metrics. Learn more in the above section on new and missing metric keys.
The following Classic network metrics are planned but not yet supported on Grail:
The following Classic network metrics are not supported on Grail:
The following Metrics Classic infrastructure metrics are planned but not yet supported on Grail:
The following Classic infrastructure metrics are not supported on Grail:
ActiveGate version 1.279+
New Kubernetes metrics are now available for DPS-enabled customers with the launch of the new Kubernetes app. The new metrics are subject to a new licensing model, as distinct from the current full-stack host units model.
Metric availability:
More information:
The following Kubernetes-related metrics are only available on Grail.
Real user monitoring metrics are planned for Grail but not yet available. This affects all metrics with the prefix builtin:apps
.
OneAgent version 1.283+
We modified the availability of technology-specific metrics in Grail, which might affect the direct relation between Metrics Classic and Grail metric keys. Select to learn more about the change.
Process metrics replace Metrics Classic generic technology metrics with the prefix builtin:tech.generic
.
The following Metrics Classic generic technology metrics are planned but not yet supported on Grail:
The following Metrics Classic generic technology metrics are not supported on Grail:
The following Metrics Classic nettracer metrics are planned but not yet supported on Grail:
The following Metrics Classic nettracer metrics are not supported on Grail:
Security metrics have been replaced with security events; you can learn more at Threat Observability. Consequently, security metrics are not supported on Grail. This affects all metrics with the prefix builtin:security
.
We modified the availability of service metrics in Grail, which might affect the direct relation between Metrics Classic and Grail metric keys. Select to learn more about the change.
Metric key (Grail)
Metric key (Classic)
dt.service.request.count
builtin:service.errors.client.successCount
builtin:service.errors.fivexx.count
builtin:service.errors.fivexx.rate
builtin:service.errors.fivexx.successCount
builtin:service.errors.fourxx.count
builtin:service.errors.fourxx.rate
builtin:service.errors.fourxx.successCount
builtin:service.errors.server.count
builtin:service.errors.server.rate
builtin:service.errors.server.successCount
builtin:service.errors.total.rate
builtin:service.errors.total.successCount
builtin:service.keyRequest.count.client
builtin:service.keyRequest.count.server
builtin:service.keyRequest.count.total
builtin:service.keyRequest.errors.client.successCount
builtin:service.keyRequest.errors.fivexx.count
builtin:service.keyRequest.errors.fivexx.rate
builtin:service.keyRequest.errors.fivexx.successCount
builtin:service.keyRequest.errors.fourxx.count
builtin:service.keyRequest.errors.fourxx.rate
builtin:service.keyRequest.errors.fourxx.successCount
builtin:service.keyRequest.errors.server.count
builtin:service.keyRequest.errors.server.rate
builtin:service.keyRequest.errors.server.successCount
builtin:service.keyRequest.successes.server.rate
builtin:service.request.count
builtin:service.request.count_chart
builtin:service.request.count_service_aggregation
builtin:service.requestCount.client
builtin:service.requestCount.server
builtin:service.requestCount.total
builtin:service.successes.server.rate
dt.service.request.failure_count
builtin:service.errors.client.count
builtin:service.errors.client.rate
builtin:service.errors.total.count
builtin:service.keyRequest.errors.client.count
builtin:service.keyRequest.errors.client.rate
builtin:service.request.failure_count
builtin:service.request.failure_count_chart
builtin:service.request.failure_count_service_aggregation
dt.service.request.response_time
builtin:service.keyRequest.response.client
builtin:service.keyRequest.response.server
builtin:service.keyRequest.response.time
builtin:service.request.response_time
builtin:service.request.response_time_chart
builtin:service.request.response_time_service_aggregation
builtin:service.response.client
builtin:service.response.server
builtin:service.response.time
dt.service.request.service_mesh.count
builtin:service.request.service_mesh.count
builtin:service.request.service_mesh.count_service_aggregation
dt.service.request.service_mesh.failure_count
builtin:service.request.service_mesh.failure_count
builtin:service.request.service_mesh.failure_count_service_aggregation
dt.service.request.service_mesh.response_time
builtin:service.request.service_mesh.response_time
builtin:service.request.service_mesh.response_time_service_aggregation
<my_calculated_service_metric>
<my_calculated_service_metric>
With the upgrade of calculated service metrics to Grail, the existing dimension is mantained and any placeholders used in the dimension value are separated into additional distinct metric dimensions, that allow you to do querying in a simplified and more powerful way. The following sections list the availability of dimensions once you enable a calculated service metric in Grail.
The following dimensions are added to calculated service metrics in Grail. They apply only to full requests, unless specified diffently.
true
or false
) 1Applicable to both full and external requests. To learn more about requests types, see Glossary - request.
In Grail, placeholders used in the Dimension value pattern are mapped to distinct dimension keys, allowing more flexibility and powerful querying. The following Grail dimension keys are automatically created from the placeholders contained in your Classic dimension, according to Global field reference.
The following placeholders are not mapped to distinct Grail metric dimension keys because they either do not align with the Dynatrace Semantic Dictionary used in Grail or represent concepts that are no longer relevant within the context of Grail metrics. Placeholder values remain accessible through the dimension created when the calculated service metric was initially defined. If needed, you can use string operations to extract and work with the specific placeholder values.
AzureFunctions:FunctionName
AzureFunctions:SiteName
ESB:ApplicationName
ESB:LibraryName
ESB:MessageFlowName
HTTP-StatusClass
Go to Settings Classic and modify the metric definition to use HTTP-Status
instead. These placeholders are then automatically converted.
IMS:ProgramName
IMS:UserId
Remote:Endpoint
Request:Failure
Request:IsKeyRequest
Request:Type
Relative-URL
Go to Settings Classic and modify the metric definition to use URL:Path
and URL:Query
instead. These placeholders are then automatically converted.
Service:Istance
Service:Name
In Notebooks, use entityName(dt.entity.service)
to obtain comparable results.
Service:Port
Service:PublicDomainName
WebService:Endpoint
In Notebooks, use entityName(dt.entity.service)
to obtain comparable results.
WebService:Method
Go to Settings Classic and modify the metric definition to use Request:Name
instead. This placeholder is then automatically converted.
The following categories of Metrics Classic metrics are not supported on Grail:
builtin:a2tm
.builtin:lima
.builtin:log
.builtin:nam
.builtin:span
.