Skip to content

feat(openmetrics): add 9 missing host RRD metrics#9696

Open
mpiton wants to merge 1 commit intomasterfrom
feat/add-missing-host-rrd-metrics
Open

feat(openmetrics): add 9 missing host RRD metrics#9696
mpiton wants to merge 1 commit intomasterfrom
feat/add-missing-host-rrd-metrics

Conversation

@mpiton
Copy link
Copy Markdown
Collaborator

@mpiton mpiton commented Apr 10, 2026

Description

Add 9 missing host RRD metrics to the OpenMetrics plugin and synchronize them in xapi-stats (legacy).

New host metrics exposed:

Metric Type Description
xcp_host_load gauge Normalized host load
xcp_host_memory_reclaimed_bytes gauge Reclaimed host memory
xcp_host_memory_reclaimed_max_bytes gauge Maximum reclaimable host memory
xcp_host_running_vcpus gauge Total number of running vCPUs
xcp_host_network_aggregated_receive_bytes gauge Aggregated PIF received bytes/s
xcp_host_network_aggregated_transmit_bytes gauge Aggregated PIF transmitted bytes/s
xcp_host_disk_iops_total gauge Total IOPS (read + write) per SR
xcp_host_disk_throughput_total_bytes gauge Total I/O throughput per SR
xcp_host_disk_latency_seconds gauge Combined I/O latency per SR

Unit conversions:

  • OpenMetrics: µs → seconds (Prometheus convention)
  • xapi-stats: µs → ms (xo-web formatTime convention)
  • KiB → bytes, MiB/s → bytes/s (both systems)

Tested against live XOA endpoint : all 9 metrics return valid data on a 3-host pool.

Fixes XO-2227

Capture d’écran du 2026-04-10 10-14-17 Capture d’écran du 2026-04-10 10-13-49 Capture d’écran du 2026-04-10 10-13-21 Capture d’écran du 2026-04-10 10-12-51 Capture d’écran du 2026-04-10 10-12-25 Capture d’écran du 2026-04-10 10-11-53 Capture d’écran du 2026-04-10 10-11-10 Capture d’écran du 2026-04-10 10-10-40 Capture d’écran du 2026-04-10 10-09-52

Checklist

  • Commit
    • Title follows commit conventions
    • Reference the relevant issue (Fixes XO-2227)
    • If bug fix, add Introduced by — N/A (new feature)
  • Changelog
    • If visible by XOA users, add changelog entry
    • Update "Packages to release" in CHANGELOG.unreleased.md
  • PR
    • If UI changes, add screenshots
    • If not finished or not tested, open as Draft

Changes

File Change
packages/xo-server-openmetrics/src/openmetric-formatter.mts +9 MetricDefinition entries in HOST_METRICS
packages/xo-server-openmetrics/src/openmetric-formatter.test.mts +11 unit tests (match, transform, labels, non-collision)
packages/xo-server/src/xapi-stats.mjs +9 host metrics in STATS.host, clarified latency comments
docs/docs/advanced.md Updated host metrics table (18 → 27 metrics), simplified PromQL example
CHANGELOG.unreleased.md Added enhancement entry + xo-server minor + xo-server-openmetrics minor

Review process

If you are an external contributor, you can skip this part. Simply create the pull request, and we'll get back to you as soon as possible.

This 2-passes review process aims to:

  • develop skills of junior reviewers
  • limit the workload for senior reviewers
  • limit the number of unnecessary changes by the author
  1. The author creates a PR.
  2. Review process:
    1. The author assigns the junior reviewer.
    2. The junior reviewer conducts their review:
      • Resolves their comments if they are addressed.
      • Adds comments if necessary or approves the PR.
    3. The junior reviewer assigns the senior reviewer.
    4. The senior reviewer conducts their review:
      • If there are no unresolved comments on the PR → merge.
      • Otherwise, we continue with 3.
  3. The author responds to comments and/or makes corrections, and we go back to 2.

Notes:

  1. The author can request a review at any time, even if the PR is still a Draft.
  2. In theory, there should not be more than one reviewer at a time.
  3. The author should not make any changes:
    • When a reviewer is assigned.
    • Between the junior and senior reviews.

@plane-sync-vates
Copy link
Copy Markdown

Linked to Plane Work Item(s)

This comment was auto-generated by Plane

@mpiton mpiton force-pushed the feat/add-missing-host-rrd-metrics branch from 050cfa7 to 9623dee Compare April 10, 2026 08:19
@mpiton mpiton marked this pull request as ready for review April 10, 2026 12:44
@mpiton mpiton requested a review from spacotte-vates April 10, 2026 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant