mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-27 15:57:09 +00:00
metrics: Add README for kata metrics report
This PR adds the README for kata metrics report. Fixes #7802 Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
This commit is contained in:
parent
aa2b51a831
commit
c0ed5ea0ad
64
tests/metrics/report/README.md
Normal file
64
tests/metrics/report/README.md
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# Kata Containers metrics report generator
|
||||||
|
|
||||||
|
The files within this directory can be used to generate a "metrics report" for Kata Containers. The
|
||||||
|
primary workflow consists of two stages:
|
||||||
|
1) Run the provided report metrics data gathering scripts on the system(s) you wish to analyze.
|
||||||
|
2) Run the provided report generation script to analyze the data and generate a report file.
|
||||||
|
|
||||||
|
## Data gathering
|
||||||
|
|
||||||
|
Data gathering is provided by the `grabdata.sh` script. When run, this script executes a set of
|
||||||
|
tests from the `tests/metrics` directory. The JSON results files will be placed into the
|
||||||
|
`tests/metrics/results` directory. Once the results are generated, create a suitably named
|
||||||
|
subdirectory of `tests/metrics/results`, and move the JSON files into it. Repeat this process if
|
||||||
|
you want to compare multiple sets of results. Note, the report generation scripts process all
|
||||||
|
subdirectories of `tests/metrics/results` when generating the report.
|
||||||
|
|
||||||
|
> **Note:** By default, the `grabdata.sh` script tries to launch some moderately large containers
|
||||||
|
> (i.e. 8Gbyte RAM) and may fail to produce some results on a memory constrained system.
|
||||||
|
|
||||||
|
You can restrict the subset of tests run by `grabdata.sh` via its commandline parameters:
|
||||||
|
|
||||||
|
| Option | Description |
|
||||||
|
| ------ | ------------------------|
|
||||||
|
| -a | Run all tests (default) |
|
||||||
|
| -d | Run the density tests |
|
||||||
|
| -h | Print this help |
|
||||||
|
| -s | Run the storage tests |
|
||||||
|
| -t | Run the time tests |
|
||||||
|
|
||||||
|
## Report generation
|
||||||
|
|
||||||
|
Report generation is provided by the `makereport.sh` script. By default this script processes all
|
||||||
|
subdirectories of the `tests/metrics/results` directory to generate the report. To run in the
|
||||||
|
default mode, execute the following:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ./makereport.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
The report generation tool uses [`Rmarkdown`](https://github.com/rstudio/rmarkdown), [R](https://www.r-project.org/about.html) and
|
||||||
|
[Pandoc](https://pandoc.org/) to produce a PDF report. To avoid the need for all users to set up a
|
||||||
|
working environment with all the necessary tooling, the `makereport.sh` script utilises a
|
||||||
|
`Dockerfile` with the environment pre-defined in order to produce the report. Thus, you need to
|
||||||
|
have Docker installed on your system in order to run the report generation. The resulting
|
||||||
|
`metrics_report.pdf` is generated into the `output` subdirectory of the `report` directory.
|
||||||
|
|
||||||
|
## Debugging and development
|
||||||
|
|
||||||
|
To aid in script development and debugging, the `makereport.sh` script offers a debug facility via
|
||||||
|
the `-d` command line option. Using this option will place you into a `bash` shell within the
|
||||||
|
running `Dockerfile` image used to generate the report, whilst also mapping your host side `R`
|
||||||
|
scripts from the `report_dockerfile` subdirectory into the container, thus facilitating a "live"
|
||||||
|
edit/reload/run development cycle. From there you can examine the Docker image environment, and
|
||||||
|
execute the generation scripts. E.g., to test the `scaling.R` script, you can execute:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ makereport.sh -d
|
||||||
|
# R
|
||||||
|
> source('/inputdir/Env.R')
|
||||||
|
> source('/scripts/lifecycle-time.R')
|
||||||
|
```
|
||||||
|
|
||||||
|
You can then edit the `report_dockerfile/lifecycle-time.R` file on the host, and re-run
|
||||||
|
the `source('/scripts/lifecycle-time.R')` command inside the still running `R` container.
|
Loading…
Reference in New Issue
Block a user