Built-in Metrics on Grail
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:
- Replacing the
builtin:
prefix withdt.
to clearly denote Dynatrace-provided metrics and entities. - Preferring snake case (
capacity_units
) to camel case (capacityUnits
) to improve readability. - Improving specificity to reflect underlying measurements.
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:
- Extensions with a
builtin:tech
prefix - Extensions with an
ext:
prefix - Extensions with no common prefix
For details, see below.
Type 1: Extension metrics with the builtin:tech
prefix
Extension 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:
- Generic process metrics, including all metrics with the prefix
builtin:tech.generic
. - WebSphere metrics, including all metrics with the prefix
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.
Type 2: Extension metrics with the ext:
prefix
These can be found in Grail according to the following renaming rules:
- Remove the
ext:
prefix. - Convert
camelCase
tosnake_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:
Type 3: Extension metrics with no common prefix
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:
- Classic metric
coffees.brewing.count
- Grail metric
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
Calculated metrics are not yet supported on Grail.
- Calculated services metrics (metrics with the prefix
calc:service
) are planned but not yet supported. - Calculated RUM metrics (metrics with the prefix
calc:apps
) are not supported on Grail. - Calculated Log v1 metrics (metrics with the prefix
calc:log
) are not supported on Grail. See Upgrade Log Monitoring Classic to Log Management and Analytics.
Billing
Cloud
AWS
- builtin:cloud.aws.cloudwatch.asg.errors.connect
- builtin:cloud.aws.cloudwatch.asg.errors.lostData
- builtin:cloud.aws.cloudwatch.asg.errors.notauth
- builtin:cloud.aws.cloudwatch.asg.errors.service
- builtin:cloud.aws.cloudwatch.asg.errors.throttling
- builtin:cloud.aws.cloudwatch.asg.number
- builtin:cloud.aws.cloudwatch.az.errors.connect
- builtin:cloud.aws.cloudwatch.az.errors.lostData
- builtin:cloud.aws.cloudwatch.az.errors.notauth
- builtin:cloud.aws.cloudwatch.az.errors.service
- builtin:cloud.aws.cloudwatch.az.errors.throttling
- builtin:cloud.aws.cloudwatch.az.number
- builtin:cloud.aws.cloudwatch.beanstalk.errors.connect
- builtin:cloud.aws.cloudwatch.beanstalk.errors.lostData
- builtin:cloud.aws.cloudwatch.beanstalk.errors.notauth
- builtin:cloud.aws.cloudwatch.beanstalk.errors.service
- builtin:cloud.aws.cloudwatch.beanstalk.errors.throttling
- builtin:cloud.aws.cloudwatch.beanstalk.number
- builtin:cloud.aws.cloudwatch.billing
- builtin:cloud.aws.cloudwatch.cloudwatch.errors.connect
- builtin:cloud.aws.cloudwatch.cloudwatch.errors.lostData
- builtin:cloud.aws.cloudwatch.cloudwatch.errors.notauth
- builtin:cloud.aws.cloudwatch.cloudwatch.errors.service
- builtin:cloud.aws.cloudwatch.cloudwatch.errors.throttling
- builtin:cloud.aws.cloudwatch.cloudwatch.latedata
- builtin:cloud.aws.cloudwatch.dynamoDb.errors.connect
- builtin:cloud.aws.cloudwatch.dynamoDb.errors.lostData
- builtin:cloud.aws.cloudwatch.dynamoDb.errors.notauth
- builtin:cloud.aws.cloudwatch.dynamoDb.errors.service
- builtin:cloud.aws.cloudwatch.dynamoDb.errors.throttling
- builtin:cloud.aws.cloudwatch.dynamoDb.number
- builtin:cloud.aws.cloudwatch.ebs.api.failed
- builtin:cloud.aws.cloudwatch.ebs.api.ok
- builtin:cloud.aws.cloudwatch.ebs.errors.connect
- builtin:cloud.aws.cloudwatch.ebs.errors.lostData
- builtin:cloud.aws.cloudwatch.ebs.errors.notauth
- builtin:cloud.aws.cloudwatch.ebs.errors.service
- builtin:cloud.aws.cloudwatch.ebs.errors.throttling
- builtin:cloud.aws.cloudwatch.ebs.number
- builtin:cloud.aws.cloudwatch.ec2.api.failed
- builtin:cloud.aws.cloudwatch.ec2.api.ok
- builtin:cloud.aws.cloudwatch.ec2.errors.connect
- builtin:cloud.aws.cloudwatch.ec2.errors.lostData
- builtin:cloud.aws.cloudwatch.ec2.errors.notauth
- builtin:cloud.aws.cloudwatch.ec2.errors.service
- builtin:cloud.aws.cloudwatch.ec2.errors.throttling
- builtin:cloud.aws.cloudwatch.ec2.number
- builtin:cloud.aws.cloudwatch.elb.api.failed
- builtin:cloud.aws.cloudwatch.elb.api.ok
- builtin:cloud.aws.cloudwatch.elb.errors.connect
- builtin:cloud.aws.cloudwatch.elb.errors.lostData
- builtin:cloud.aws.cloudwatch.elb.errors.notauth
- builtin:cloud.aws.cloudwatch.elb.errors.service
- builtin:cloud.aws.cloudwatch.elb.errors.throttling
- builtin:cloud.aws.cloudwatch.elb.number
- builtin:cloud.aws.cloudwatch.lambda.errors.connect
- builtin:cloud.aws.cloudwatch.lambda.errors.lostData
- builtin:cloud.aws.cloudwatch.lambda.errors.notauth
- builtin:cloud.aws.cloudwatch.lambda.errors.service
- builtin:cloud.aws.cloudwatch.lambda.errors.throttling
- builtin:cloud.aws.cloudwatch.lambda.number
- builtin:cloud.aws.cloudwatch.polling.failures
- builtin:cloud.aws.cloudwatch.polling.infrastructure
- builtin:cloud.aws.cloudwatch.polling.metrics
- builtin:cloud.aws.cloudwatch.rds.api.failed
- builtin:cloud.aws.cloudwatch.rds.api.ok
- builtin:cloud.aws.cloudwatch.rds.errors.connect
- builtin:cloud.aws.cloudwatch.rds.errors.lostData
- builtin:cloud.aws.cloudwatch.rds.errors.notauth
- builtin:cloud.aws.cloudwatch.rds.errors.service
- builtin:cloud.aws.cloudwatch.rds.errors.throttling
- builtin:cloud.aws.cloudwatch.rds.number
- builtin:cloud.aws.cloudwatch.s3.errors.connect
- builtin:cloud.aws.cloudwatch.s3.errors.lostData
- builtin:cloud.aws.cloudwatch.s3.errors.notauth
- builtin:cloud.aws.cloudwatch.s3.errors.service
- builtin:cloud.aws.cloudwatch.s3.errors.throttling
- builtin:cloud.aws.cloudwatch.s3.number
Azure
- builtin:cloud.azure.AzureStatistics.amountOfAzureResourceType
- builtin:cloud.azure.azureEventsWebhook.invalidRequests
- builtin:cloud.azure.azureEventsWebhook.okRequests
- builtin:cloud.azure.azureEventsWebhook.throttledRequests
- builtin:cloud.azure.azureEventsWebhook.unauthorizedRequests
- builtin:cloud.azure.azureEventsWebhook.unsupportedRequests
Cloud Foundry
- builtin:cloud.cloudfoundry.auctioneer.lprFailed
- builtin:cloud.cloudfoundry.auctioneer.lprStarted
VMware
- builtin:cloud.vmware.hypervisor.availability
Containers
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:
- The Metrics Classic metrics have been discontinued.
- The new metrics are immediately available with OneAgent deployment.
More information:
- builtin:containers.cpu.limit
- builtin:containers.cpu.throttledMilliCores
- builtin:containers.cpu.usageMilliCores
- builtin:containers.cpu.usagePercent
- builtin:containers.cpu.usageSystemMilliCores
- builtin:containers.cpu.usageTime
- builtin:containers.cpu.usageUserMilliCores
- builtin:containers.memory.limitPercent
- builtin:containers.memory.outOfMemoryKills
- builtin:containers.memory.usagePercent
Additionally, the following Classic Extension 1.0 metrics are deprecated and likewise not supported on Grail:
- builtin:containers.bytes_rx2
- builtin:containers.bytes_tx2
- builtin:containers.cpu_usage2
- builtin:containers.devicemapper_data_space_available
- builtin:containers.devicemapper_data_space_used
- builtin:containers.devicemapper_metadata_space_available
- builtin:containers.devicemapper_metadata_space_used
- builtin:containers.memory_percent
- builtin:containers.memory_usage2
- builtin:containers.no_of_containers_launched
- builtin:containers.no_of_containers_per_pgi
- builtin:containers.no_of_containers_running
- builtin:containers.no_of_containers_terminated
- builtin:containers.throttled_time2
Infrastructure
CPU
DNS
- builtin:host.dns.orphanCount
- builtin:host.dns.singleQueryTime
- builtin:host.dns.singleQueryTimeByDnsIp
- builtin:host.dns.singleQueryTimeByHost
Disk
- builtin:host.disk.throughput.read
- builtin:host.disk.throughput.write
Memory
- builtin:host.mem.total
Network
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:
- builtin:host.net.nic.connectivity
- builtin:host.net.nic.retransmission
- builtin:host.net.nic.retransmissionIn
- builtin:host.net.nic.retransmissionOut
- builtin:host.net.packets.lossRate
The following Classic network metrics are not supported on Grail:
- builtin:host.net.nic.packets.dropped
- builtin:host.net.nic.packets.errors
- builtin:host.net.nic.packets.traffic
- builtin:host.net.nic.traffic
- builtin:host.net.nic.trafficIn
- builtin:host.net.nic.trafficOut
- builtin:host.net.sessions.connFail
- builtin:host.net.bytesRx
- builtin:host.net.bytesTx
- builtin:host.net.packets.rxBaseReceived
- builtin:host.net.packets.rxBaseSent
- builtin:host.net.packets.rxReceived
- builtin:host.net.packets.rxSent
- builtin:host.net.sessions.errRst
- builtin:host.net.sessions.errTmout
- builtin:host.net.sessions.local.errRst
- builtin:host.net.sessions.local.errTmout
- builtin:host.net.sessions.local.new
- builtin:host.net.sessions.new
Other
The following Metrics Classic infrastructure metrics are planned but not yet supported on Grail:
- builtin:host.osProcessStats.osProcessCount
- builtin:host.osProcessStats.pgiCount
- builtin:host.osProcessStats.pgiReportedCount
The following Classic infrastructure metrics are not supported on Grail:
- builtin:host.availability
- builtin:host.la.growth
- builtin:host.la.po
- builtin:host.la.to
- builtin:host.osService.availability
- builtin:host.processVisibility.topProcessesRecognizedCount
- builtin:host.processVisibility.topProcessesSentCount
- builtin:host.processVisibility.triggerCount
Kubernetes
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:
- The Classic metrics have been discontinued on the new platform.
- The new metrics are available as soon as you start monitoring your cluster with the new Kubernetes app. For more information on enabling this for your Kubernetes clusters, see Getting started with Kubernetes experience.
More information:
Mainframe
Host (Logical partition)
Process (Subsystem)
JVM
WebSphere Application Server
WebSphere Liberty / z/OS Connect
Real User Monitoring
Real user monitoring metrics are planned for Grail but not yet available. This affects all metrics with the prefix builtin:apps
.
Runtimes
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.
Apache
Go
IIS
Java
NGINX
.NET
Node.js
PHP
Processes
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:
- builtin:tech.generic.network.packets.retransmission
- builtin:tech.generic.network.packets.retransmissionIn
- builtin:tech.generic.network.packets.retransmissionOut
- builtin:tech.generic.network.sessions.connectivity
The following Metrics Classic generic technology metrics are not supported on Grail:
- builtin:tech.generic.network.traffic.traffic
- builtin:tech.generic.network.traffic.trafficIn
- builtin:tech.generic.network.traffic.trafficOut
- builtin:process.bytesReceived
- builtin:process.bytesSent
- builtin:process.cpu
- builtin:process.memory
- builtin:tech.customDevice.count
Nettracer
The following Metrics Classic nettracer metrics are planned but not yet supported on Grail:
- builtin:tech.nettracer.retr_percentage
The following Metrics Classic nettracer metrics are not supported on Grail:
- builtin:tech.nettracer.traffic
- builtin:tech.nettracer.traffic_rx
- builtin:tech.nettracer.traffic_tx
Security
Security metrics have been replaced with security events; you can learn more at Security data on Grail. Consequently, security metrics are not supported on Grail. This affects all metrics with the prefix builtin:security
.
Services
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
Synthetic Monitoring
HTTP Monitors metrics
Browser Monitors metrics
Third party metrics
Network availability monitors metrics
Common monitor metrics
Common step metrics
Common request metrics
ICMP metrics
TCP metrics
DNS metrics
Unsupported metrics
The following categories of Metrics Classic metrics are not supported on Grail:
- A2TM metrics, including all metrics with the prefix
builtin:a2tm
. - Lima metrics, including all metrics with the prefix
builtin:lima
. - Classic Logs metrics, including all metrics with the prefix
builtin:log
. - NAM metrics, including all metrics with the prefix
builtin:nam
. - Span metrics, including all metrics with the prefix
builtin:span
.