Supported metrics for Microsoft.Devices/IotHubs
The following table lists the metrics available for the Microsoft.Devices/IotHubs resource type.
Table headings
Metric - The metric display name as it appears in the Azure portal.
Name in Rest API - Metric name as referred to in the REST API.
Unit - Unit of measure.
Aggregation - The default aggregation type. Valid values: Average, Minimum, Maximum, Total, Count.
Dimensions - Dimensions available for the metric.
Time Grains - Intervals at which the metric is sampled. For example, PT1M
indicates that the metric is sampled every minute, PT30M
every 30 minutes, PT1H
every hour, and so on.
DS Export- Whether the metric is exportable to Azure Monitor Logs via Diagnostic Settings.
For information on exporting metrics, see Create diagnostic settings in Azure Monitor.
For information on metric retention, see Azure Monitor Metrics overview.
For a list of supported logs, see Supported log categories - Microsoft.Devices/IotHubs
Metric | Name in REST API | Unit | Aggregation | Dimensions | Time Grains | DS Export |
---|---|---|---|---|---|---|
C2D messages abandoned Number of cloud-to-device messages abandoned by the device |
c2d.commands.egress.abandon.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
C2D message deliveries completed Number of cloud-to-device message deliveries completed successfully by the device |
c2d.commands.egress.complete.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
C2D messages rejected Number of cloud-to-device messages rejected by the device |
c2d.commands.egress.reject.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Failed direct method invocations The count of all failed direct method calls. |
c2d.methods.failure |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Request size of direct method invocations The average, min, and max of all successful direct method requests. |
c2d.methods.requestSize |
Bytes | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Response size of direct method invocations The average, min, and max of all successful direct method responses. |
c2d.methods.responseSize |
Bytes | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Successful direct method invocations The count of all successful direct method calls. |
c2d.methods.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Failed twin reads from back end The count of all failed back-end-initiated twin reads. |
c2d.twin.read.failure |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Response size of twin reads from back end The average, min, and max of all successful back-end-initiated twin reads. |
c2d.twin.read.size |
Bytes | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Successful twin reads from back end The count of all successful back-end-initiated twin reads. |
c2d.twin.read.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Failed twin updates from back end The count of all failed back-end-initiated twin updates. |
c2d.twin.update.failure |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Size of twin updates from back end The average, min, and max size of all successful back-end-initiated twin updates. |
c2d.twin.update.size |
Bytes | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Successful twin updates from back end The count of all successful back-end-initiated twin updates. |
c2d.twin.update.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
C2D Messages Expired Number of expired cloud-to-device messages |
C2DMessagesExpired |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Configuration Metrics Metrics for Configuration Operations |
configurations |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Connected devices Number of devices connected to your IoT hub |
connectedDeviceCount |
Count | Average, Maximum, Minimum | <none> | PT1M | No |
Routing: messages delivered to messages/events The number of times IoT Hub routing successfully delivered messages to the built-in endpoint (messages/events). |
d2c.endpoints.egress.builtIn.events |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Routing: messages delivered to Event Hub The number of times IoT Hub routing successfully delivered messages to Event Hub endpoints. |
d2c.endpoints.egress.eventHubs |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Routing: messages delivered to Service Bus Queue The number of times IoT Hub routing successfully delivered messages to Service Bus queue endpoints. |
d2c.endpoints.egress.serviceBusQueues |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Routing: messages delivered to Service Bus Topic The number of times IoT Hub routing successfully delivered messages to Service Bus topic endpoints. |
d2c.endpoints.egress.serviceBusTopics |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Routing: messages delivered to storage The number of times IoT Hub routing successfully delivered messages to storage endpoints. |
d2c.endpoints.egress.storage |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Routing: blobs delivered to storage The number of times IoT Hub routing delivered blobs to storage endpoints. |
d2c.endpoints.egress.storage.blobs |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Routing: data delivered to storage The amount of data (bytes) IoT Hub routing delivered to storage endpoints. |
d2c.endpoints.egress.storage.bytes |
Bytes | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Routing: message latency for messages/events The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into the built-in endpoint (messages/events). |
d2c.endpoints.latency.builtIn.events |
MilliSeconds | Average, Minimum, Maximum | <none> | PT1M | Yes |
Routing: message latency for Event Hub The average latency (milliseconds) between message ingress to IoT Hub and message ingress into an Event Hub endpoint. |
d2c.endpoints.latency.eventHubs |
MilliSeconds | Average, Minimum, Maximum | <none> | PT1M | Yes |
Routing: message latency for Service Bus Queue The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a Service Bus queue endpoint. |
d2c.endpoints.latency.serviceBusQueues |
MilliSeconds | Average, Minimum, Maximum | <none> | PT1M | Yes |
Routing: message latency for Service Bus Topic The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a Service Bus topic endpoint. |
d2c.endpoints.latency.serviceBusTopics |
MilliSeconds | Average, Minimum, Maximum | <none> | PT1M | Yes |
Routing: message latency for storage The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a storage endpoint. |
d2c.endpoints.latency.storage |
MilliSeconds | Average, Minimum, Maximum | <none> | PT1M | Yes |
Routing: telemetry messages dropped The number of times messages were dropped by IoT Hub routing due to dead endpoints. This value does not count messages delivered to fallback route as dropped messages are not delivered there. |
d2c.telemetry.egress.dropped |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Routing: messages delivered to fallback The number of times IoT Hub routing delivered messages to the endpoint associated with the fallback route. |
d2c.telemetry.egress.fallback |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Routing: telemetry messages incompatible The number of times IoT Hub routing failed to deliver messages due to an incompatibility with the endpoint. This value does not include retries. |
d2c.telemetry.egress.invalid |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Routing: telemetry messages orphaned The number of times messages were orphaned by IoT Hub routing because they didn't match any routing rules (including the fallback rule). |
d2c.telemetry.egress.orphaned |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Routing: telemetry messages delivered The number of times messages were successfully delivered to all endpoints using IoT Hub routing. If a message is routed to multiple endpoints, this value increases by one for each successful delivery. If a message is delivered to the same endpoint multiple times, this value increases by one for each successful delivery. |
d2c.telemetry.egress.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Telemetry message send attempts Number of device-to-cloud telemetry messages attempted to be sent to your IoT hub |
d2c.telemetry.ingress.allProtocol |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Number of throttling errors Number of throttling errors due to device throughput throttles |
d2c.telemetry.ingress.sendThrottle |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Telemetry messages sent Number of device-to-cloud telemetry messages sent successfully to your IoT hub |
d2c.telemetry.ingress.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Failed twin reads from devices The count of all failed device-initiated twin reads. |
d2c.twin.read.failure |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Response size of twin reads from devices The average, min, and max of all successful device-initiated twin reads. |
d2c.twin.read.size |
Bytes | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Successful twin reads from devices The count of all successful device-initiated twin reads. |
d2c.twin.read.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Failed twin updates from devices The count of all failed device-initiated twin updates. |
d2c.twin.update.failure |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Size of twin updates from devices The average, min, and max size of all successful device-initiated twin updates. |
d2c.twin.update.size |
Bytes | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Successful twin updates from devices The count of all successful device-initiated twin updates. |
d2c.twin.update.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Total number of messages used Number of total messages used today |
dailyMessageQuotaUsed |
Count | Average, Minimum, Maximum | <none> | PT1M | Yes |
Total device data usage Bytes transferred to and from any devices connected to IotHub |
deviceDataUsage |
Bytes | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Total device data usage (preview) Bytes transferred to and from any devices connected to IotHub |
deviceDataUsageV2 |
Bytes | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Connected devices (deprecated) Number of devices connected to your IoT hub |
devices.connectedDevices.allProtocol |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Total devices (deprecated) Number of devices registered to your IoT hub |
devices.totalDevices |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Event Grid deliveries The number of IoT Hub events published to Event Grid. Use the Result dimension for the number of successful and failed requests. EventType dimension shows the type of event (https://aka.ms/ioteventgrid). |
EventGridDeliveries |
Count | Average, Minimum, Maximum, Total (Sum) | Result , EventType |
PT1M | Yes |
Event Grid latency The average latency (milliseconds) from when the Iot Hub event was generated to when the event was published to Event Grid. This number is an average between all event types. Use the EventType dimension to see latency of a specific type of event. |
EventGridLatency |
MilliSeconds | Average, Minimum, Maximum | EventType |
PT1M | Yes |
Failed job cancellations The count of all failed calls to cancel a job. |
jobs.cancelJob.failure |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Successful job cancellations The count of all successful calls to cancel a job. |
jobs.cancelJob.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Completed jobs The count of all completed jobs. |
jobs.completed |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Failed creations of method invocation jobs The count of all failed creation of direct method invocation jobs. |
jobs.createDirectMethodJob.failure |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Successful creations of method invocation jobs The count of all successful creation of direct method invocation jobs. |
jobs.createDirectMethodJob.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Failed creations of twin update jobs The count of all failed creation of twin update jobs. |
jobs.createTwinUpdateJob.failure |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Successful creations of twin update jobs The count of all successful creation of twin update jobs. |
jobs.createTwinUpdateJob.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Failed jobs The count of all failed jobs. |
jobs.failed |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Failed calls to list jobs The count of all failed calls to list jobs. |
jobs.listJobs.failure |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Successful calls to list jobs The count of all successful calls to list jobs. |
jobs.listJobs.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Failed job queries The count of all failed calls to query jobs. |
jobs.queryJobs.failure |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Successful job queries The count of all successful calls to query jobs. |
jobs.queryJobs.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Routing Delivery Message Size in Bytes (preview) The total size in bytes of messages delivered by IoT hub to an endpoint. You can use the EndpointName and EndpointType dimensions to view the size of the messages in bytes delivered to your different endpoints. The metric value increases for every message delivered, including if the message is delivered to multiple endpoints or if the message is delivered to the same endpoint multiple times. |
RoutingDataSizeInBytesDelivered |
Bytes | Average, Minimum, Maximum, Total (Sum) | EndpointType , EndpointName , RoutingSource |
PT1M | Yes |
Routing Deliveries (preview) The number of times IoT Hub attempted to deliver messages to all endpoints using routing. To see the number of successful or failed attempts, use the Result dimension. To see the reason of failure, like invalid, dropped, or orphaned, use the FailureReasonCategory dimension. You can also use the EndpointName and EndpointType dimensions to understand how many messages were delivered to your different endpoints. The metric value increases by one for each delivery attempt, including if the message is delivered to multiple endpoints or if the message is delivered to the same endpoint multiple times. |
RoutingDeliveries |
Count | Average, Minimum, Maximum, Total (Sum) | EndpointType , EndpointName , FailureReasonCategory , Result , RoutingSource |
PT1M | Yes |
Routing Delivery Latency (preview) The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into an endpoint. You can use the EndpointName and EndpointType dimensions to understand the latency to your different endpoints. |
RoutingDeliveryLatency |
MilliSeconds | Average, Minimum, Maximum | EndpointType , EndpointName , RoutingSource |
PT1M | Yes |
Total devices Number of devices registered to your IoT hub |
totalDeviceCount |
Count | Average, Maximum, Minimum | <none> | PT1M | No |
Failed twin queries The count of all failed twin queries. |
twinQueries.failure |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Twin queries result size The average, min, and max of the result size of all successful twin queries. |
twinQueries.resultSize |
Bytes | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |
Successful twin queries The count of all successful twin queries. |
twinQueries.success |
Count | Average, Minimum, Maximum, Total (Sum) | <none> | PT1M | Yes |