﻿---
title: Metrics UI in Elastic APM
description: The Metrics overview provides APM agent-specific metrics, which lets you perform more in-depth root cause analysis investigations within the Applications...
url: https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/6771/solutions/observability/apm/metrics-ui
products:
  - APM
  - Elastic Cloud Serverless
  - Elastic Observability
applies_to:
  - Elastic Cloud Serverless: Generally available
  - Elastic Stack: Generally available
---

# Metrics UI in Elastic APM
The **Metrics** overview provides APM agent-specific metrics, which lets you perform more in-depth root cause analysis investigations within the Applications UI.
If you’re experiencing a problem with your service, you can use this page to attempt to find the underlying cause. For example, you might be able to correlate a high number of errors with a long transaction duration, high CPU usage, or a memory leak.
![Example view of the Metrics overview in Applications UI in Kibana](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/6771/solutions/images/observability-apm-metrics.png)

<note>
  Dashboard resolution is version-aware: the Metrics tab uses the service’s runtime version — alongside data format, SDK name, and language — to load the correct dashboard. For example, .NET 9 and later services use a built-in runtime metrics dashboard, while .NET 8 and earlier services use a legacy contrib metrics dashboard. This ensures you always see the metrics that match your service’s runtime version.
</note>


## Instrumentation changes during migration

<applies-to>
  - Elastic Cloud Serverless: Generally available
  - Elastic Stack: Generally available since 9.3
</applies-to>

When migrating a service to OpenTelemetry instrumentation, you may have date ranges that contain both classic APM and OpenTelemetry data. The **Metrics** tab shows callouts to help you navigate this transition period.
<definitions>
  <definition term="Instrumentation change detected">
    When the **Metrics** tab detects a change in instrumentation, it shows: "We have detected a change on `<timestamp>` in the instrumentation of your service." It also shows the current instrumentation type and time period, and provides the date range for the previous instrumentation period so you can switch to it.
  </definition>
  <definition term="Overlapping instrumentation types">
    If classic APM and OpenTelemetry data overlap in the selected time range, the **Metrics** tab shows: "This service has overlapping data from multiple instrumentation types." It provides date ranges for each instrumentation type so you can click to switch to a specific period.
  </definition>
</definitions>


## JVM metrics

If you’re using the Java APM agent, you can view metrics for each JVM.
![Example view of the Metrics overview for the Java Agent](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/6771/solutions/images/observability-jvm-metrics-overview.png)

Breaking down metrics by JVM makes it much easier to analyze the provided metrics: CPU usage, memory usage, heap or non-heap memory, thread count, garbage collection rate, and garbage collection time spent per minute.
![Example view of the Metrics overview for the Java Agent](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/6771/solutions/images/observability-jvm-metrics.png)