github.com/dmaizel/tests@v0.0.0-20210728163746-cae6a2d9cee8/metrics/report/report_dockerfile/metrics_report.Rmd (about)

     1  ---
     2  # Copyright (c) 2018-2019 Intel Corporation
     3  #
     4  # SPDX-License-Identifier: Apache-2.0
     5  ---
     6  \pagebreak
     7  
     8  # Introduction
     9  This report compares the metrics between multiple sets of data generated from
    10  the [Kata Containers report generation scripts](github.com/kata-containers/tests/metrics/report/README.md).
    11  
    12  This report was generated using the data from the **`r resultdirs`** results directories.
    13  
    14  \pagebreak
    15  
    16  # Container PSS footprint
    17  This [test](https://github.com/kata-containers/tests/blob/master/metrics/density/docker_memory_usage.sh)
    18  measures the PSS footprint of all the container runtime components whilst running a number
    19  of parallel containers. The results are the mean footprint proportion for a single
    20  container.
    21  
    22  ```{r memory-footprint, echo=FALSE, fig.cap="Memory PSS footprint"}
    23  source('memory-footprint.R')
    24  ```
    25  \pagebreak
    26  
    27  # Container scaling system footprint
    28  This [test](https://github.com/kata-containers/tests/blob/master/metrics/density/footprint_data.sh)
    29  measures the system memory footprint impact whilst running an increasing number
    30  of containers. For this test, [KSM](https://en.wikipedia.org/wiki/Kernel_same-page_merging)
    31   is enabled. The results show how system memory is consumed for different sized
    32  containers, and their average system memory footprint cost and density (how many
    33  containers you can fit per Gb) is calculated.
    34  
    35  ```{r footprint-density, echo=FALSE, fig.cap="System Memory density"}
    36  test_name_extra="-ksm"
    37  source('footprint-density.R')
    38  rm(test_name_extra)
    39  ```
    40  \pagebreak
    41  
    42  # Memory used inside container
    43  This [test](https://github.com/kata-containers/tests/blob/master/metrics/density/memory_usage_inside_container.sh)
    44  measures the memory inside a container taken by the container runtime. It shows the difference between the amount of memory requested for the container, and the amount the container can actually 'see'.
    45  
    46  The *% Consumed* is the key row in the table, which compares the *Requested* against *Total* values.
    47  
    48  
    49  ```{r mem-in-cont, echo=FALSE, fig.cap="System Memory density"}
    50  source('mem-in-cont.R')
    51  ```
    52  \pagebreak
    53  
    54  
    55  # Container Docker boot lifecycle times
    56  This [test](https://github.com/kata-containers/tests/blob/master/metrics/time/launch_times.sh)
    57  uses the `date` command on the host and in the container, as well as data from the container
    58  kernel `dmesg`, to ascertain how long different phases of the create/boot/run/delete
    59  Docker container lifecycle take for the first launched container.
    60  
    61  To decode the stats table, the prefixes are 'to(`2`)' and '`i`n'. The suffixes are '`k`ernel', '`w`orkload' and '`q`uit'. 'tot' is the total time for a complete container start-to-finished cycle.
    62  
    63  ```{r lifecycle-time, echo=FALSE, fig.cap="Execution lifecycle times"}
    64  source('lifecycle-time.R')
    65  ```
    66  \pagebreak
    67  
    68  # Storage I/O
    69  
    70  Measure storage I/O bandwidth, latency and IOPS using 
    71  this [test](https://github.com/kata-containers/tests/blob/master/metrics/storage/fio.sh).
    72  
    73  This test measures using separate random read and write tests.
    74  
    75  ## Reads
    76  
    77  ```{r fio-reads, echo=FALSE, fig.cap="Storage I/O Reads", results='asis'}
    78  source('fio-reads.R')
    79  ```
    80  
    81  \pagebreak
    82  
    83  ## Writes
    84  
    85  ```{r fio-writes, echo=FALSE, fig.cap="Storage I/O Writes", results='asis'}
    86  source('fio-writes.R')
    87  ```
    88  \pagebreak
    89  
    90  # Network CPU costs
    91  
    92  Measure CPU costs whilst performing a fixed bandwidth container
    93  to container network test using
    94  this [test](https://github.com/kata-containers/tests/blob/master/metrics/network/cpu_statistics_iperf.sh).
    95  As local container-to-container networking is a pure local software activity, this test
    96  is a reasonable way to show changes in network stack processing costs.
    97  
    98  ```{r network-cpu, echo=FALSE, fig.cap="Storage I/O Writes", results='asis'}
    99  source('network-cpu.R')
   100  ```
   101  \pagebreak
   102  
   103  # Test setup details
   104  
   105  This table describes the test system details, as derived from the information contained
   106  in the test results files.
   107  
   108  
   109  ```{r dut, echo=FALSE, fig.cap="System configuration details"}
   110  source('dut-details.R')
   111  ```