Supported metrics for Microsoft.AppPlatform/spring

The following table lists the metrics available for the Microsoft.AppPlatform/spring 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 - Metrics export using data collection rules and 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.AppPlatform/spring

Category Metric Name in REST API Unit Aggregation Dimensions Time Grains DS Export
Performance (.NET) active-timer-count

Number of timers that are currently active
active-timer-count Count Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) alloc-rate

Number of bytes allocated in the managed heap
alloc-rate Bytes Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Common App CPU Usage (Deprecated)

The recent CPU usage for the app. This metric is being deprecated. Please use "App CPU Usage" with metric id "PodCpuUsage".
AppCpuUsage Percent Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) assembly-count

Number of Assemblies Loaded
assembly-count Count Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) cpu-usage

% time the process has utilized the CPU
cpu-usage Percent Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Request (.NET) current-requests

Total number of requests in processing in the lifetime of the process
current-requests Count Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) exception-count

Number of Exceptions
exception-count Count Total (Sum), Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Request (.NET) failed-requests

Total number of failed requests in the lifetime of the process
failed-requests Count Average Deployment, AppName, Pod PT1M Yes
Gateway Max time of requests

The max time of requests
GatewayHttpServerRequestsMilliSecondsMax MilliSeconds Maximum, Average Pod, httpStatusCode, outcome, httpMethod PT1M Yes
Gateway Request count

The number of requests
GatewayHttpServerRequestsSecondsCount Count Total (Sum), Average Pod, httpStatusCode, outcome, httpMethod PT1M Yes
Gateway jvm.gc.live.data.size

Size of old generation memory pool after a full GC
GatewayJvmGcLiveDataSizeBytes Bytes Maximum, Average Pod PT1M Yes
Gateway jvm.gc.max.data.size

Max size of old generation memory pool
GatewayJvmGcMaxDataSizeBytes Bytes Maximum, Average Pod PT1M Yes
Gateway jvm.gc.memory.allocated

Incremented for an increase in the size of the young generation memory pool after one GC to before the next
GatewayJvmGcMemoryAllocatedBytesTotal Bytes Maximum, Average Pod PT1M Yes
Gateway jvm.gc.memory.promoted

Count of positive increases in the size of the old generation memory pool before GC to after GC
GatewayJvmGcMemoryPromotedBytesTotal Bytes Maximum, Average Pod PT1M Yes
Gateway jvm.gc.pause.total.count

GC Pause Count
GatewayJvmGcPauseSecondsCount Count Total (Sum), Average Pod PT1M Yes
Gateway jvm.gc.pause.max.time

GC Pause Max Time
GatewayJvmGcPauseSecondsMax Seconds Maximum, Average Pod PT1M Yes
Gateway jvm.gc.pause.total.time

GC Pause Total Time
GatewayJvmGcPauseSecondsSum Seconds Total (Sum), Average Pod PT1M Yes
Gateway jvm.memory.committed

Memory assigned to JVM in bytes
GatewayJvmMemoryCommittedBytes Bytes Maximum, Minimum, Average Pod PT1M Yes
Gateway jvm.memory.used

Memory Used in bytes
GatewayJvmMemoryUsedBytes Bytes Maximum, Minimum, Average Pod PT1M Yes
Gateway process.cpu.usage

The recent CPU usage for the JVM process
GatewayProcessCpuUsage Percent Maximum, Minimum, Average Pod PT1M Yes
Gateway Throttled requests count

The count of the throttled requests
GatewayRatelimitThrottledCount Count Total (Sum), Average Pod PT1M Yes
Gateway system.cpu.usage

The recent CPU usage for the whole system
GatewaySystemCpuUsage Percent Maximum, Minimum, Average Pod PT1M Yes
Performance (.NET) gc-heap-size

Total heap size reported by the GC (MB)
gc-heap-size Count Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) gen-0-gc-count

Number of Gen 0 GCs
gen-0-gc-count Count Total (Sum), Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) gen-0-size

Gen 0 Heap Size
gen-0-size Bytes Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) gen-1-gc-count

Number of Gen 1 GCs
gen-1-gc-count Count Total (Sum), Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) gen-1-size

Gen 1 Heap Size
gen-1-size Bytes Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) gen-2-gc-count

Number of Gen 2 GCs
gen-2-gc-count Count Total (Sum), Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) gen-2-size

Gen 2 Heap Size
gen-2-size Bytes Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Ingress Bytes Received

Count of bytes received by Azure Spring Apps from the clients
IngressBytesReceived Bytes Maximum, Minimum, Average Hostname, HttpStatus PT1M Yes
Ingress Throughput In (bytes/s)

Bytes received per second by Azure Spring Apps from the clients
IngressBytesReceivedRate BytesPerSecond Maximum, Minimum, Average Hostname, HttpStatus PT1M Yes
Ingress Bytes Sent

Count of bytes sent by Azure Spring Apps to the clients
IngressBytesSent Bytes Maximum, Minimum, Average Hostname, HttpStatus PT1M Yes
Ingress Throughput Out (bytes/s)

Bytes sent per second by Azure Spring Apps to the clients
IngressBytesSentRate BytesPerSecond Maximum, Minimum, Average Hostname, HttpStatus PT1M Yes
Ingress Failed Requests

Count of failed requests by Azure Spring Apps from the clients
IngressFailedRequests Count Maximum, Minimum, Average Hostname, HttpStatus PT1M Yes
Ingress Requests

Count of requests by Azure Spring Apps from the clients
IngressRequests Count Maximum, Minimum, Average Hostname, HttpStatus PT1M Yes
Ingress Response Status

HTTP response status returned by Azure Spring Apps. The response status code distribution can be further categorized to show responses in 2xx, 3xx, 4xx, and 5xx categories
IngressResponseStatus Count Maximum, Minimum, Average Hostname, HttpStatus PT1M Yes
Ingress Response Time

Http response time return by Azure Spring Apps
IngressResponseTime Seconds Maximum, Minimum, Average Hostname, HttpStatus PT1M Yes
Performance (Java) jvm.gc.live.data.size

Size of old generation memory pool after a full GC
jvm.gc.live.data.size Bytes Maximum, Average Deployment, AppName, Pod PT1M Yes
Performance (Java) jvm.gc.max.data.size

Max size of old generation memory pool
jvm.gc.max.data.size Bytes Maximum, Average Deployment, AppName, Pod PT1M Yes
Performance (Java) jvm.gc.memory.allocated

Incremented for an increase in the size of the young generation memory pool after one GC to before the next
jvm.gc.memory.allocated Bytes Maximum, Average Deployment, AppName, Pod PT1M Yes
Performance (Java) jvm.gc.memory.promoted

Count of positive increases in the size of the old generation memory pool before GC to after GC
jvm.gc.memory.promoted Bytes Maximum, Average Deployment, AppName, Pod PT1M Yes
Performance (Java) jvm.gc.pause.total.count

GC Pause Count
jvm.gc.pause.total.count Count Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Performance (Java) jvm.gc.pause.total.time

GC Pause Total Time
jvm.gc.pause.total.time MilliSeconds Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Performance (Java) jvm.memory.committed

Memory assigned to JVM in bytes
jvm.memory.committed Bytes Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (Java) jvm.memory.max

The maximum amount of memory in bytes that can be used for memory management
jvm.memory.max Bytes Maximum Deployment, AppName, Pod PT1M Yes
Performance (Java) jvm.memory.used

App Memory Used in bytes
jvm.memory.used Bytes Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) loh-size

LOH Heap Size
loh-size Bytes Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) monitor-lock-contention-count

Number of times there were contention when trying to take the monitor lock
monitor-lock-contention-count Count Total (Sum), Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Common App CPU Usage

The recent CPU usage for the app
PodCpuUsage Percent Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Common App Memory Usage

The recent Memory usage for the app
PodMemoryUsage Percent Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Common App Network In

Cumulative count of bytes received in the app
PodNetworkIn Bytes Total (Sum), Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Common App Network Out

Cumulative count of bytes sent from the app
PodNetworkOut Bytes Total (Sum), Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (Java) process.cpu.usage

The recent CPU usage for the JVM process
process.cpu.usage Percent Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Core Requests

Requests processed
Requests Count Total (Sum), Maximum, Minimum, Average containerAppName, podName, statusCodeCategory, statusCode PT1M Yes
Request (.NET) requests-rate

Request rate
requests-per-second Count Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Core Restart Count

Restart count of Spring App
RestartCount Count Total (Sum), Maximum, Minimum, Average containerAppName, podName PT1M Yes
Core Network In Bytes

Network received bytes
RxBytes Bytes Total (Sum), Maximum, Minimum, Average containerAppName, podName PT1M Yes
Performance (Java) system.cpu.usage

The recent CPU usage for the whole system
system.cpu.usage Percent Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) threadpool-completed-items-count

ThreadPool Completed Work Items Count
threadpool-completed-items-count Count Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) threadpool-queue-length

ThreadPool Work Items Queue Length
threadpool-queue-length Count Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) threadpool-thread-count

Number of ThreadPool Threads
threadpool-thread-count Count Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Performance (.NET) time-in-gc

% time in GC since the last GC
time-in-gc Percent Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Error (Java) tomcat.global.error

Tomcat Global Error
tomcat.global.error Count Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Request (Java) tomcat.global.received

Tomcat Total Received Bytes
tomcat.global.received Bytes Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Request (Java) tomcat.global.request.avg.time

Tomcat Request Average Time
tomcat.global.request.avg.time MilliSeconds Maximum, Average Deployment, AppName, Pod PT1M Yes
Request (Java) tomcat.global.request.max

Tomcat Request Max Time
tomcat.global.request.max MilliSeconds Maximum Deployment, AppName, Pod PT1M Yes
Request (Java) tomcat.global.request.total.count

Tomcat Request Total Count
tomcat.global.request.total.count Count Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Request (Java) tomcat.global.request.total.time

Tomcat Request Total Time
tomcat.global.request.total.time MilliSeconds Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Request (Java) tomcat.global.sent

Tomcat Total Sent Bytes
tomcat.global.sent Bytes Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Session (Java) tomcat.sessions.active.current

Tomcat Session Active Count
tomcat.sessions.active.current Count Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Session (Java) tomcat.sessions.active.max

Tomcat Session Max Active Count
tomcat.sessions.active.max Count Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Session (Java) tomcat.sessions.alive.max

Tomcat Session Max Alive Time
tomcat.sessions.alive.max MilliSeconds Maximum Deployment, AppName, Pod PT1M Yes
Session (Java) tomcat.sessions.created

Tomcat Session Created Count
tomcat.sessions.created Count Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Session (Java) tomcat.sessions.expired

Tomcat Session Expired Count
tomcat.sessions.expired Count Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Session (Java) tomcat.sessions.rejected

Tomcat Session Rejected Count
tomcat.sessions.rejected Count Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Request (Java) tomcat.threads.config.max

Tomcat Config Max Thread Count
tomcat.threads.config.max Count Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Request (Java) tomcat.threads.current

Tomcat Current Thread Count
tomcat.threads.current Count Total (Sum), Average Deployment, AppName, Pod PT1M Yes
Request (.NET) total-requests

Total number of requests in the lifetime of the process
total-requests Count Average Deployment, AppName, Pod PT1M Yes
Core Network Out Bytes

Network transmitted bytes
TxBytes Bytes Total (Sum), Maximum, Minimum, Average containerAppName, podName PT1M Yes
Core CPU Usage

CPU consumed by Spring App, in nano cores. 1,000,000,000 nano cores = 1 core
UsageNanoCores NanoCores Total (Sum), Maximum, Minimum, Average containerAppName, podName PT1M Yes
Performance (.NET) working-set

Amount of working set used by the process (MB)
working-set Count Maximum, Minimum, Average Deployment, AppName, Pod PT1M Yes
Core Memory Working Set Bytes

Spring App working set memory used in bytes.
WorkingSetBytes Bytes Total (Sum), Maximum, Minimum, Average containerAppName, podName PT1M Yes

Next steps