# PCD Metrics Reference

Each <code class="expression">space.vars.product\_name</code> hypervisor host exposes metrics through two <code class="expression">page.vars.metrics\_name</code> compatible exporters:

* **node-exporter:** host-level infrastructure metrics, available at `<host-ip>:9388/metrics`.
* **libvirt-exporter:** VM-level metrics for each virtual machine running on the host, available at `<host-ip>:9177/metrics`.

The <code class="expression">page.vars.metrics\_name</code> agent on each host applies recording rules to these raw metrics and remotely writes the processed output to <code class="expression">page.vars.metrics\_name</code> on PCD every 5 minutes. Labels identifying the originating host and VM are added during remote write.

For information on how to consume these metrics in your own observability stack, see [exporting-pcd-metrics](https://docs.platform9.com/private-cloud-director/monitoring-and-observability/monitoring/exporting-pcd-metrics "mention")

### Hypervisor metrics

These metrics reflect the physical host and are identified by a `host` label containing the host UUID.

<table><thead><tr><th width="424.40625">Metric</th><th>Description</th></tr></thead><tbody><tr><td><code>pcd:hyp_cpu_total{host="&#x3C;host-uuid>", job="ne"}</code></td><td>Total CPU capacity of the hypervisor.</td></tr><tr><td><code>pcd:hyp_cpu_usage{host="&#x3C;host-uuid>", job="ne"}</code></td><td>CPU usage of the hypervisor, expressed as number of cores consumed.</td></tr><tr><td><code>pcd:hyp_mem_total{host="&#x3C;host-uuid>", job="ne"}</code></td><td>Total memory capacity of the hypervisor, in bytes.</td></tr><tr><td><code>pcd:hyp_mem_usage{host="&#x3C;host-uuid>", job="ne"}</code></td><td>Memory currently in use on the hypervisor, in bytes.</td></tr><tr><td><code>pcd:hyp_disk_space{fstype="ext4", host="&#x3C;host-uuid>"}</code></td><td>Total storage capacity of the hypervisor by filesystem type, in bytes.</td></tr><tr><td><code>pcd:hyp_disk_usage{fstype="ext4", host="&#x3C;host-uuid>"}</code></td><td>Storage used on the hypervisor by filesystem type, in bytes.</td></tr><tr><td><code>pcd:hyp_disk_read_throughput{device="&#x3C;device>", host="&#x3C;host-uuid>"}</code></td><td>Disk read throughput by device, in bytes per second.</td></tr><tr><td><code>pcd:hyp_disk_write_throughput{device="&#x3C;device>", host="&#x3C;host-uuid>"}</code></td><td>Disk write throughput by device, in bytes per second.</td></tr><tr><td><code>pcd:hyp_net_rx_throughput{host="&#x3C;host-uuid>"}</code></td><td>Rate of bytes received over the network for the entire host. Not broken down by interface.</td></tr><tr><td><code>pcd:hyp_net_tx_throughput{host="&#x3C;host-uuid>"}</code></td><td>Rate of bytes transmitted over the network for the entire host. Not broken down by interface.</td></tr><tr><td><code>pcd:hyp_total{host="&#x3C;host-uuid>"}</code></td><td>Total count of hypervisors.</td></tr></tbody></table>

### Virtual machine metrics

These metrics reflect individual virtual machines and are identified by a `domain` label containing the VM UUID and a `host` label containing the host's UUID that the VM runs on.

| Metric                                                                                      | Description                                                                            |
| ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `pcd:vm_cpu_total{domain="<vm-uuid>", host="<host-uuid>"}`                                  | Total CPU capacity allocated to the VM.                                                |
| `pcd:vm_cpu_usage{domain="<vm-uuid>", host="<host-uuid>"}`                                  | CPU usage of the VM.                                                                   |
| `pcd:vm_cpu_throttling_percentage{domain="<vm-uuid>", host="<host-uuid>", vcpu="0"}`        | CPU throttling percentage for the VM, broken down by vCPU core.                        |
| `pcd:vm_mem_total{domain="<vm-uuid>", host="<host-uuid>"}`                                  | Total memory allocated to the VM, in bytes.                                            |
| `pcd:vm_mem_allocated{domain="<vm-uuid>", host="<host-uuid>"}`                              | Memory available inside the VM. Slightly less than `pcd:vm_mem_total` due to overhead. |
| `pcd:vm_mem_usage{domain="<vm-uuid>", host="<host-uuid>"}`                                  | Memory currently in use by the VM, in bytes.                                           |
| `pcd:vm_mem_usage_percent{host="<host-uuid>"}`                                              | Memory usage of the VM as a percentage of allocated memory.                            |
| `pcd:vm_total_storage{domain="<vm-uuid>", host="<host-uuid>"}`                              | Total storage capacity across all disks for the VM, in bytes.                          |
| `pcd:vm_allocated_storage{domain="<vm-uuid>", host="<host-uuid>"}`                          | Storage allocated to the VM, in bytes.                                                 |
| `pcd:vm_used_storage{domain="<vm-uuid>", host="<host-uuid>"}`                               | Storage currently used by the VM, in bytes.                                            |
| `pcd:vm_read_iops{domain="<vm-uuid>", host="<host-uuid>", target_device="<device>"}`        | Read IOPS for the VM, per disk device.                                                 |
| `pcd:vm_write_iops{domain="<vm-uuid>", host="<host-uuid>", target_device="<device>"}`       | Write IOPS for the VM, per disk device.                                                |
| `pcd:vm_read_throughput{domain="<vm-uuid>", host="<host-uuid>", target_device="<device>"}`  | Read throughput for the VM, per disk device, in bytes per second.                      |
| `pcd:vm_write_throughput{domain="<vm-uuid>", host="<host-uuid>", target_device="<device>"}` | Write throughput for the VM, per disk device, in bytes per second.                     |
| `pcd:vm_read_latency{domain="<vm-uuid>", host="<host-uuid>", target_device="<device>"}`     | Read latency for the VM, per disk device.                                              |
| `pcd:vm_write_latency{domain="<vm-uuid>", host="<host-uuid>", target_device="<device>"}`    | Write latency for the VM, per disk device.                                             |
| `pcd:vm_rx_bytes{domain="<vm-uuid>", host="<host-uuid>"}`                                   | Rate of bytes received over the network for the VM.                                    |
| `pcd:vm_tx_bytes{domain="<vm-uuid>", host="<host-uuid>"}`                                   | Rate of bytes transmitted over the network for the VM.                                 |
| `pcd:vm_rx_packets_drop{domain="<vm-uuid>", host="<host-uuid>"}`                            | Rate of inbound packets dropped for the VM.                                            |
| `pcd:vm_tx_packets_drop{domain="<vm-uuid>", host="<host-uuid>"}`                            | Rate of outbound packets dropped for the VM.                                           |
| `pcd:vm_total{host="<host-uuid>"}`                                                          | Total number of VMs running on the host.                                               |

The `<host-uuid>` and `<vm-uuid>` placeholders represent the UUID values assigned to each host and VM in your environment. These correspond to the Host ID and VM UUID shown in the <code class="expression">space.vars.product\_name</code> UI.
