• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

xapi-project / xen-api / 15469787255
80%

Build:
DEFAULT BRANCH: master
Ran 05 Jun 2025 02:33PM UTC
Jobs 1
Files 33
Run time 6min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 Jun 2025 02:12PM UTC coverage: 77.719%. Remained the same
15469787255

push

github

web-flow
CP-308049: rrdview tool (#6468)

I wrote this in ~2022, so I don't fully remember how it all works, but I
tried to document what I know in the commit message, in the CLI flag
docs and here:
```
scp -r root@$YOURBOX:/var/lib/xcp/blobs/rrds /tmp/rrds
dune exec ./rrdview.exe -- /tmp/rrds
bash /tmp/rrds/16db833b-7cd6-4b69-9037-144076c71033.cpu_avg.DERIVE.sh
```

![rrd](https://github.com/user-attachments/assets/b3c98936-cc29-4871-b4ea-1511853d623e)

Viewing RRDs produced by xcp-rrdd is difficult, because the format is
incompatible with rrdtool. rrdtool has a hardcoded limit of 20 char for
RRD names for backward compat with its binary format.

Steps:
* given a directory of xml .gz files containing xcp-rrdd produced rrds
* invokes itself recursively with each file in turn using xargs -P (easy
way to parallelize on OCaml 4)
* load all RRDs, and split them into separate files, allowing us to
shorten many of their names without conflicts
* some names are still too long, there is a builtin translation table to
shorten these
* once split an .rrd file is created using 'rrdtool restore'. This can
further be queried/inspected/transformed by rrdtool as needed
* a .sh script is produced that can plot the RRD if desired.

There are many RRDs so plotting isn't done automatically yet.

RRDs contain min/avg/max usually, so this is drawn as a strong line at
the average, and an area in a lighter color for min/max (especially
useful for historic data that has been aggregated).

Caveats:
* we don't know the unit name, that is part of the XAPI metadata, but
not the XML apparently?
* separate plots are generated for separate intervals, it'd be nice to
join all these into the same graph
* the visualization type is not the best for all RRDs, some might
benefit from a smoother line, etc.
* for now the tool is just built, but not installed (that'll require a
.spec change too and can be done later)
* there is some code there to start parsing the data source definitions,
eventually ... (continued)

3359 of 4322 relevant lines covered (77.72%)

0.78 hits per line

Jobs
ID Job ID Ran Files Coverage
1 python3.11 - 15469787255.1 05 Jun 2025 02:33PM UTC 33
77.72
GitHub Action Run
Source Files on build 15469787255
  • Tree
  • List 33
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #15469787255
  • 47d81330 on github
  • Prev Build on gh-readonly-queue/master/pr-6485-755d33bb168b426cb0a96e751f75c2ec5c326462 (#15469181348)
  • Next Build on master (#15471366998)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc