diff options
| author | Paul Buetow <paul@buetow.org> | 2023-03-30 02:20:49 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2023-03-30 02:20:49 +0300 |
| commit | 62470cb8c324aef7669f187e11da6c1b15d9c857 (patch) | |
| tree | 353b5f7c616ea7fe057e04a1a0eb1014dc22fdbe | |
| parent | fc4425721294e40c25ef6cc2c980dd661a061d88 (diff) | |
add description outputs
55 files changed, 384 insertions, 192 deletions
diff --git a/fixtures/Host.Boots.Gemtext.expected b/fixtures/Host.Boots.Gemtext.expected index 232726d..b8139c2 100644 --- a/fixtures/Host.Boots.Gemtext.expected +++ b/fixtures/Host.Boots.Gemtext.expected @@ -1,4 +1,6 @@ -# Top 3 Boots's by Host: +# Top 3 Boots's by Host + +Boots is the total number of host boots over the entire lifespan. ``` +-----+----------------+-------+ diff --git a/fixtures/Host.Boots.Markdown.expected b/fixtures/Host.Boots.Markdown.expected index 232726d..b8139c2 100644 --- a/fixtures/Host.Boots.Markdown.expected +++ b/fixtures/Host.Boots.Markdown.expected @@ -1,4 +1,6 @@ -# Top 3 Boots's by Host: +# Top 3 Boots's by Host + +Boots is the total number of host boots over the entire lifespan. ``` +-----+----------------+-------+ diff --git a/fixtures/Host.Boots.Plaintext.expected b/fixtures/Host.Boots.Plaintext.expected index 9792c32..d3b3174 100644 --- a/fixtures/Host.Boots.Plaintext.expected +++ b/fixtures/Host.Boots.Plaintext.expected @@ -1,4 +1,8 @@ -Top 3 Boots's by Host: +Top 3 Boots's by Host + + Boots is the total number of +host boots over the entire +lifespan. +-----+----------------+-------+ | Pos | Host | Boots | diff --git a/fixtures/Host.Downtime.Gemtext.expected b/fixtures/Host.Downtime.Gemtext.expected index ec6303f..9b72e07 100644 --- a/fixtures/Host.Downtime.Gemtext.expected +++ b/fixtures/Host.Downtime.Gemtext.expected @@ -1,4 +1,6 @@ -# Top 3 Downtime's by Host: +# Top 3 Downtime's by Host + +Downtime is the total downtime of a host over the entire lifespan. ``` +-----+----------------+-----------------------------+ diff --git a/fixtures/Host.Downtime.Markdown.expected b/fixtures/Host.Downtime.Markdown.expected index ec6303f..9b72e07 100644 --- a/fixtures/Host.Downtime.Markdown.expected +++ b/fixtures/Host.Downtime.Markdown.expected @@ -1,4 +1,6 @@ -# Top 3 Downtime's by Host: +# Top 3 Downtime's by Host + +Downtime is the total downtime of a host over the entire lifespan. ``` +-----+----------------+-----------------------------+ diff --git a/fixtures/Host.Downtime.Plaintext.expected b/fixtures/Host.Downtime.Plaintext.expected index aa48cca..5f069cb 100644 --- a/fixtures/Host.Downtime.Plaintext.expected +++ b/fixtures/Host.Downtime.Plaintext.expected @@ -1,4 +1,7 @@ -Top 3 Downtime's by Host: +Top 3 Downtime's by Host + + Downtime is the total downtime of a host over the +entire lifespan. +-----+----------------+-----------------------------+ | Pos | Host | Downtime | diff --git a/fixtures/Host.Lifespan.Gemtext.expected b/fixtures/Host.Lifespan.Gemtext.expected index b5d69e8..8d1b85f 100644 --- a/fixtures/Host.Lifespan.Gemtext.expected +++ b/fixtures/Host.Lifespan.Gemtext.expected @@ -1,4 +1,6 @@ -# Top 3 Lifespan's by Host: +# Top 3 Lifespan's by Host + +Lifespan is the total uptime + the total downtime of a host. ``` +-----+----------------+----------------------------+ diff --git a/fixtures/Host.Lifespan.Markdown.expected b/fixtures/Host.Lifespan.Markdown.expected index b5d69e8..8d1b85f 100644 --- a/fixtures/Host.Lifespan.Markdown.expected +++ b/fixtures/Host.Lifespan.Markdown.expected @@ -1,4 +1,6 @@ -# Top 3 Lifespan's by Host: +# Top 3 Lifespan's by Host + +Lifespan is the total uptime + the total downtime of a host. ``` +-----+----------------+----------------------------+ diff --git a/fixtures/Host.Lifespan.Plaintext.expected b/fixtures/Host.Lifespan.Plaintext.expected index 523cf68..b10430b 100644 --- a/fixtures/Host.Lifespan.Plaintext.expected +++ b/fixtures/Host.Lifespan.Plaintext.expected @@ -1,4 +1,7 @@ -Top 3 Lifespan's by Host: +Top 3 Lifespan's by Host + + Lifespan is the total uptime + the total downtime of +a host. +-----+----------------+----------------------------+ | Pos | Host | Lifespan | diff --git a/fixtures/Host.MetaScore.Gemtext.expected b/fixtures/Host.MetaScore.Gemtext.expected deleted file mode 100644 index c38364e..0000000 --- a/fixtures/Host.MetaScore.Gemtext.expected +++ /dev/null @@ -1,11 +0,0 @@ -# Top 3 MetaScore's by Host: - -``` -+-----+----------------+-----------+ -| Pos | Host | MetaScore | -+-----+----------------+-----------+ -| 1. | uranus | 360 | -| 2. | alphacentauri | 294 | -| 3. | dionysus | 285 | -+-----+----------------+-----------+ -``` diff --git a/fixtures/Host.MetaScore.Markdown.expected b/fixtures/Host.MetaScore.Markdown.expected deleted file mode 100644 index c38364e..0000000 --- a/fixtures/Host.MetaScore.Markdown.expected +++ /dev/null @@ -1,11 +0,0 @@ -# Top 3 MetaScore's by Host: - -``` -+-----+----------------+-----------+ -| Pos | Host | MetaScore | -+-----+----------------+-----------+ -| 1. | uranus | 360 | -| 2. | alphacentauri | 294 | -| 3. | dionysus | 285 | -+-----+----------------+-----------+ -``` diff --git a/fixtures/Host.MetaScore.Plaintext.expected b/fixtures/Host.MetaScore.Plaintext.expected deleted file mode 100644 index 25cc930..0000000 --- a/fixtures/Host.MetaScore.Plaintext.expected +++ /dev/null @@ -1,9 +0,0 @@ -Top 3 MetaScore's by Host: - -+-----+----------------+-----------+ -| Pos | Host | MetaScore | -+-----+----------------+-----------+ -| 1. | uranus | 360 | -| 2. | alphacentauri | 294 | -| 3. | dionysus | 285 | -+-----+----------------+-----------+ diff --git a/fixtures/Host.Score.Gemtext.expected b/fixtures/Host.Score.Gemtext.expected new file mode 100644 index 0000000..50c57c2 --- /dev/null +++ b/fixtures/Host.Score.Gemtext.expected @@ -0,0 +1,13 @@ +# Top 3 Score's by Host + +Score is calculated by combining all other metrics. + +``` ++-----+----------------+-------+ +| Pos | Host | Score | ++-----+----------------+-------+ +| 1. | uranus | 360 | +| 2. | alphacentauri | 294 | +| 3. | dionysus | 285 | ++-----+----------------+-------+ +``` diff --git a/fixtures/Host.Score.Markdown.expected b/fixtures/Host.Score.Markdown.expected new file mode 100644 index 0000000..50c57c2 --- /dev/null +++ b/fixtures/Host.Score.Markdown.expected @@ -0,0 +1,13 @@ +# Top 3 Score's by Host + +Score is calculated by combining all other metrics. + +``` ++-----+----------------+-------+ +| Pos | Host | Score | ++-----+----------------+-------+ +| 1. | uranus | 360 | +| 2. | alphacentauri | 294 | +| 3. | dionysus | 285 | ++-----+----------------+-------+ +``` diff --git a/fixtures/Host.Score.Plaintext.expected b/fixtures/Host.Score.Plaintext.expected new file mode 100644 index 0000000..320820f --- /dev/null +++ b/fixtures/Host.Score.Plaintext.expected @@ -0,0 +1,12 @@ +Top 3 Score's by Host + + Score is calculated by combining +all other metrics. + ++-----+----------------+-------+ +| Pos | Host | Score | ++-----+----------------+-------+ +| 1. | uranus | 360 | +| 2. | alphacentauri | 294 | +| 3. | dionysus | 285 | ++-----+----------------+-------+ diff --git a/fixtures/Host.Uptime.Gemtext.expected b/fixtures/Host.Uptime.Gemtext.expected index 08ddfdb..45fde9c 100644 --- a/fixtures/Host.Uptime.Gemtext.expected +++ b/fixtures/Host.Uptime.Gemtext.expected @@ -1,4 +1,6 @@ -# Top 3 Uptime's by Host: +# Top 3 Uptime's by Host + +Uptime is the total uptime of a host over the entire lifespan. ``` +-----+---------+-----------------------------+ diff --git a/fixtures/Host.Uptime.Markdown.expected b/fixtures/Host.Uptime.Markdown.expected index 08ddfdb..45fde9c 100644 --- a/fixtures/Host.Uptime.Markdown.expected +++ b/fixtures/Host.Uptime.Markdown.expected @@ -1,4 +1,6 @@ -# Top 3 Uptime's by Host: +# Top 3 Uptime's by Host + +Uptime is the total uptime of a host over the entire lifespan. ``` +-----+---------+-----------------------------+ diff --git a/fixtures/Host.Uptime.Plaintext.expected b/fixtures/Host.Uptime.Plaintext.expected index e1cbf5b..da9937e 100644 --- a/fixtures/Host.Uptime.Plaintext.expected +++ b/fixtures/Host.Uptime.Plaintext.expected @@ -1,4 +1,7 @@ -Top 3 Uptime's by Host: +Top 3 Uptime's by Host + + Uptime is the total uptime of a host over the +entire lifespan. +-----+---------+-----------------------------+ | Pos | Host | Uptime | diff --git a/fixtures/OS.Boots.Markdown.expected b/fixtures/Kernel.Boots.Gemtext.expected index 4a85c75..4d797c5 100644 --- a/fixtures/OS.Boots.Markdown.expected +++ b/fixtures/Kernel.Boots.Gemtext.expected @@ -1,8 +1,10 @@ -# Top 3 Boots's by OS: +# Top 3 Boots's by Kernel + +Boots is the total number of host boots over the entire lifespan. ``` +-----+------------------------------+-------+ -| Pos | OS | Boots | +| Pos | Kernel | Boots | +-----+------------------------------+-------+ | 1. | Linux 3.2.0-4-amd64 | 321 | | 2. | Linux 4.0.4-303.fc22.x86_64 | 103 | diff --git a/fixtures/OS.Boots.Gemtext.expected b/fixtures/Kernel.Boots.Markdown.expected index 4a85c75..4d797c5 100644 --- a/fixtures/OS.Boots.Gemtext.expected +++ b/fixtures/Kernel.Boots.Markdown.expected @@ -1,8 +1,10 @@ -# Top 3 Boots's by OS: +# Top 3 Boots's by Kernel + +Boots is the total number of host boots over the entire lifespan. ``` +-----+------------------------------+-------+ -| Pos | OS | Boots | +| Pos | Kernel | Boots | +-----+------------------------------+-------+ | 1. | Linux 3.2.0-4-amd64 | 321 | | 2. | Linux 4.0.4-303.fc22.x86_64 | 103 | diff --git a/fixtures/OS.Boots.Plaintext.expected b/fixtures/Kernel.Boots.Plaintext.expected index 8ae9d04..5486ec8 100644 --- a/fixtures/OS.Boots.Plaintext.expected +++ b/fixtures/Kernel.Boots.Plaintext.expected @@ -1,7 +1,10 @@ -Top 3 Boots's by OS: +Top 3 Boots's by Kernel + + Boots is the total number of host boots over +the entire lifespan. +-----+------------------------------+-------+ -| Pos | OS | Boots | +| Pos | Kernel | Boots | +-----+------------------------------+-------+ | 1. | Linux 3.2.0-4-amd64 | 321 | | 2. | Linux 4.0.4-303.fc22.x86_64 | 103 | diff --git a/fixtures/Kernel.Score.Gemtext.expected b/fixtures/Kernel.Score.Gemtext.expected new file mode 100644 index 0000000..3a8d853 --- /dev/null +++ b/fixtures/Kernel.Score.Gemtext.expected @@ -0,0 +1,13 @@ +# Top 3 Score's by Kernel + +Score is calculated by combining all other metrics. + +``` ++-----+------------------------------------+-------+ +| Pos | Kernel | Score | ++-----+------------------------------------+-------+ +| 1. | Linux 3.2.0-4-amd64 | 241 | +| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 126 | +| 3. | Linux 3.10.0-957.21.3.el7.x86_64 | 96 | ++-----+------------------------------------+-------+ +``` diff --git a/fixtures/Kernel.Score.Markdown.expected b/fixtures/Kernel.Score.Markdown.expected new file mode 100644 index 0000000..3a8d853 --- /dev/null +++ b/fixtures/Kernel.Score.Markdown.expected @@ -0,0 +1,13 @@ +# Top 3 Score's by Kernel + +Score is calculated by combining all other metrics. + +``` ++-----+------------------------------------+-------+ +| Pos | Kernel | Score | ++-----+------------------------------------+-------+ +| 1. | Linux 3.2.0-4-amd64 | 241 | +| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 126 | +| 3. | Linux 3.10.0-957.21.3.el7.x86_64 | 96 | ++-----+------------------------------------+-------+ +``` diff --git a/fixtures/Kernel.Score.Plaintext.expected b/fixtures/Kernel.Score.Plaintext.expected new file mode 100644 index 0000000..d953d0f --- /dev/null +++ b/fixtures/Kernel.Score.Plaintext.expected @@ -0,0 +1,11 @@ +Top 3 Score's by Kernel + +Score is calculated by combining all other metrics. + ++-----+------------------------------------+-------+ +| Pos | Kernel | Score | ++-----+------------------------------------+-------+ +| 1. | Linux 3.2.0-4-amd64 | 241 | +| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 126 | +| 3. | Linux 3.10.0-957.21.3.el7.x86_64 | 96 | ++-----+------------------------------------+-------+ diff --git a/fixtures/OS.Uptime.Gemtext.expected b/fixtures/Kernel.Uptime.Gemtext.expected index c7ecf26..47d9d69 100644 --- a/fixtures/OS.Uptime.Gemtext.expected +++ b/fixtures/Kernel.Uptime.Gemtext.expected @@ -1,8 +1,10 @@ -# Top 3 Uptime's by OS: +# Top 3 Uptime's by Kernel + +Uptime is the total uptime of a host over the entire lifespan. ``` +-----+------------------------------------+-----------------------------+ -| Pos | OS | Uptime | +| Pos | Kernel | Uptime | +-----+------------------------------------+-----------------------------+ | 1. | Linux 3.2.0-4-amd64 | 3 years, 5 months, 23 days | | 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 1 years, 12 months, 15 days | diff --git a/fixtures/OS.Uptime.Markdown.expected b/fixtures/Kernel.Uptime.Markdown.expected index c7ecf26..47d9d69 100644 --- a/fixtures/OS.Uptime.Markdown.expected +++ b/fixtures/Kernel.Uptime.Markdown.expected @@ -1,8 +1,10 @@ -# Top 3 Uptime's by OS: +# Top 3 Uptime's by Kernel + +Uptime is the total uptime of a host over the entire lifespan. ``` +-----+------------------------------------+-----------------------------+ -| Pos | OS | Uptime | +| Pos | Kernel | Uptime | +-----+------------------------------------+-----------------------------+ | 1. | Linux 3.2.0-4-amd64 | 3 years, 5 months, 23 days | | 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 1 years, 12 months, 15 days | diff --git a/fixtures/OS.Uptime.Plaintext.expected b/fixtures/Kernel.Uptime.Plaintext.expected index 1abf9e0..5c5eb52 100644 --- a/fixtures/OS.Uptime.Plaintext.expected +++ b/fixtures/Kernel.Uptime.Plaintext.expected @@ -1,7 +1,9 @@ -Top 3 Uptime's by OS: +Top 3 Uptime's by Kernel + +Uptime is the total uptime of a host over the entire lifespan. +-----+------------------------------------+-----------------------------+ -| Pos | OS | Uptime | +| Pos | Kernel | Uptime | +-----+------------------------------------+-----------------------------+ | 1. | Linux 3.2.0-4-amd64 | 3 years, 5 months, 23 days | | 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 1 years, 12 months, 15 days | diff --git a/fixtures/OSMajor.Boots.Gemtext.expected b/fixtures/KernelMajor.Boots.Gemtext.expected index 821d037..a629b9f 100644 --- a/fixtures/OSMajor.Boots.Gemtext.expected +++ b/fixtures/KernelMajor.Boots.Gemtext.expected @@ -1,8 +1,10 @@ -# Top 3 Boots's by OSMajor: +# Top 3 Boots's by KernelMajor + +Boots is the total number of host boots over the entire lifespan. ``` +-----+----------------+-------+ -| Pos | OSMajor | Boots | +| Pos | KernelMajor | Boots | +-----+----------------+-------+ | 1. | FreeBSD 10... | 551 | | 2. | *Linux 3... | 410 | diff --git a/fixtures/OSMajor.Boots.Markdown.expected b/fixtures/KernelMajor.Boots.Markdown.expected index 821d037..a629b9f 100644 --- a/fixtures/OSMajor.Boots.Markdown.expected +++ b/fixtures/KernelMajor.Boots.Markdown.expected @@ -1,8 +1,10 @@ -# Top 3 Boots's by OSMajor: +# Top 3 Boots's by KernelMajor + +Boots is the total number of host boots over the entire lifespan. ``` +-----+----------------+-------+ -| Pos | OSMajor | Boots | +| Pos | KernelMajor | Boots | +-----+----------------+-------+ | 1. | FreeBSD 10... | 551 | | 2. | *Linux 3... | 410 | diff --git a/fixtures/OSMajor.Boots.Plaintext.expected b/fixtures/KernelMajor.Boots.Plaintext.expected index 6e05f99..89bb3ec 100644 --- a/fixtures/OSMajor.Boots.Plaintext.expected +++ b/fixtures/KernelMajor.Boots.Plaintext.expected @@ -1,7 +1,11 @@ -Top 3 Boots's by OSMajor: +Top 3 Boots's by KernelMajor + + Boots is the total number of +host boots over the entire +lifespan. +-----+----------------+-------+ -| Pos | OSMajor | Boots | +| Pos | KernelMajor | Boots | +-----+----------------+-------+ | 1. | FreeBSD 10... | 551 | | 2. | *Linux 3... | 410 | diff --git a/fixtures/KernelMajor.Score.Gemtext.expected b/fixtures/KernelMajor.Score.Gemtext.expected new file mode 100644 index 0000000..4d55121 --- /dev/null +++ b/fixtures/KernelMajor.Score.Gemtext.expected @@ -0,0 +1,13 @@ +# Top 3 Score's by KernelMajor + +Score is calculated by combining all other metrics. + +``` ++-----+----------------+-------+ +| Pos | KernelMajor | Score | ++-----+----------------+-------+ +| 1. | *Linux 3... | 739 | +| 2. | FreeBSD 10... | 406 | +| 3. | Linux 5... | 268 | ++-----+----------------+-------+ +``` diff --git a/fixtures/KernelMajor.Score.Markdown.expected b/fixtures/KernelMajor.Score.Markdown.expected new file mode 100644 index 0000000..4d55121 --- /dev/null +++ b/fixtures/KernelMajor.Score.Markdown.expected @@ -0,0 +1,13 @@ +# Top 3 Score's by KernelMajor + +Score is calculated by combining all other metrics. + +``` ++-----+----------------+-------+ +| Pos | KernelMajor | Score | ++-----+----------------+-------+ +| 1. | *Linux 3... | 739 | +| 2. | FreeBSD 10... | 406 | +| 3. | Linux 5... | 268 | ++-----+----------------+-------+ +``` diff --git a/fixtures/KernelMajor.Score.Plaintext.expected b/fixtures/KernelMajor.Score.Plaintext.expected new file mode 100644 index 0000000..2e41512 --- /dev/null +++ b/fixtures/KernelMajor.Score.Plaintext.expected @@ -0,0 +1,12 @@ +Top 3 Score's by KernelMajor + + Score is calculated by combining +all other metrics. + ++-----+----------------+-------+ +| Pos | KernelMajor | Score | ++-----+----------------+-------+ +| 1. | *Linux 3... | 739 | +| 2. | FreeBSD 10... | 406 | +| 3. | Linux 5... | 268 | ++-----+----------------+-------+ diff --git a/fixtures/OSMajor.Uptime.Gemtext.expected b/fixtures/KernelMajor.Uptime.Gemtext.expected index eb1e2ac..2b2da6a 100644 --- a/fixtures/OSMajor.Uptime.Gemtext.expected +++ b/fixtures/KernelMajor.Uptime.Gemtext.expected @@ -1,8 +1,10 @@ -# Top 3 Uptime's by OSMajor: +# Top 3 Uptime's by KernelMajor + +Uptime is the total uptime of a host over the entire lifespan. ``` +-----+----------------+-----------------------------+ -| Pos | OSMajor | Uptime | +| Pos | KernelMajor | Uptime | +-----+----------------+-----------------------------+ | 1. | *Linux 3... | 11 years, 2 months, 11 days | | 2. | FreeBSD 10... | 5 years, 9 months, 9 days | diff --git a/fixtures/OSMajor.Uptime.Markdown.expected b/fixtures/KernelMajor.Uptime.Markdown.expected index eb1e2ac..2b2da6a 100644 --- a/fixtures/OSMajor.Uptime.Markdown.expected +++ b/fixtures/KernelMajor.Uptime.Markdown.expected @@ -1,8 +1,10 @@ -# Top 3 Uptime's by OSMajor: +# Top 3 Uptime's by KernelMajor + +Uptime is the total uptime of a host over the entire lifespan. ``` +-----+----------------+-----------------------------+ -| Pos | OSMajor | Uptime | +| Pos | KernelMajor | Uptime | +-----+----------------+-----------------------------+ | 1. | *Linux 3... | 11 years, 2 months, 11 days | | 2. | FreeBSD 10... | 5 years, 9 months, 9 days | diff --git a/fixtures/OSMajor.Uptime.Plaintext.expected b/fixtures/KernelMajor.Uptime.Plaintext.expected index 8addd79..a075ef7 100644 --- a/fixtures/OSMajor.Uptime.Plaintext.expected +++ b/fixtures/KernelMajor.Uptime.Plaintext.expected @@ -1,7 +1,10 @@ -Top 3 Uptime's by OSMajor: +Top 3 Uptime's by KernelMajor + + Uptime is the total uptime of a host over the entire +lifespan. +-----+----------------+-----------------------------+ -| Pos | OSMajor | Uptime | +| Pos | KernelMajor | Uptime | +-----+----------------+-----------------------------+ | 1. | *Linux 3... | 11 years, 2 months, 11 days | | 2. | FreeBSD 10... | 5 years, 9 months, 9 days | diff --git a/fixtures/KernelName.Boots.Gemtext.expected b/fixtures/KernelName.Boots.Gemtext.expected new file mode 100644 index 0000000..70aa723 --- /dev/null +++ b/fixtures/KernelName.Boots.Gemtext.expected @@ -0,0 +1,13 @@ +# Top 3 Boots's by KernelName + +Boots is the total number of host boots over the entire lifespan. + +``` ++-----+------------+-------+ +| Pos | KernelName | Boots | ++-----+------------+-------+ +| 1. | *FreeBSD | 872 | +| 2. | *Linux | 867 | +| 3. | *OpenBSD | 44 | ++-----+------------+-------+ +``` diff --git a/fixtures/KernelName.Boots.Markdown.expected b/fixtures/KernelName.Boots.Markdown.expected new file mode 100644 index 0000000..70aa723 --- /dev/null +++ b/fixtures/KernelName.Boots.Markdown.expected @@ -0,0 +1,13 @@ +# Top 3 Boots's by KernelName + +Boots is the total number of host boots over the entire lifespan. + +``` ++-----+------------+-------+ +| Pos | KernelName | Boots | ++-----+------------+-------+ +| 1. | *FreeBSD | 872 | +| 2. | *Linux | 867 | +| 3. | *OpenBSD | 44 | ++-----+------------+-------+ +``` diff --git a/fixtures/KernelName.Boots.Plaintext.expected b/fixtures/KernelName.Boots.Plaintext.expected new file mode 100644 index 0000000..69ffcd9 --- /dev/null +++ b/fixtures/KernelName.Boots.Plaintext.expected @@ -0,0 +1,13 @@ +Top 3 Boots's by KernelName + + Boots is the total number of +host boots over the entire +lifespan. + ++-----+------------+-------+ +| Pos | KernelName | Boots | ++-----+------------+-------+ +| 1. | *FreeBSD | 872 | +| 2. | *Linux | 867 | +| 3. | *OpenBSD | 44 | ++-----+------------+-------+ diff --git a/fixtures/KernelName.Score.Gemtext.expected b/fixtures/KernelName.Score.Gemtext.expected new file mode 100644 index 0000000..e60d12b --- /dev/null +++ b/fixtures/KernelName.Score.Gemtext.expected @@ -0,0 +1,13 @@ +# Top 3 Score's by KernelName + +Score is calculated by combining all other metrics. + +``` ++-----+------------+-------+ +| Pos | KernelName | Score | ++-----+------------+-------+ +| 1. | *Linux | 1295 | +| 2. | *FreeBSD | 703 | +| 3. | *OpenBSD | 198 | ++-----+------------+-------+ +``` diff --git a/fixtures/KernelName.Score.Markdown.expected b/fixtures/KernelName.Score.Markdown.expected new file mode 100644 index 0000000..e60d12b --- /dev/null +++ b/fixtures/KernelName.Score.Markdown.expected @@ -0,0 +1,13 @@ +# Top 3 Score's by KernelName + +Score is calculated by combining all other metrics. + +``` ++-----+------------+-------+ +| Pos | KernelName | Score | ++-----+------------+-------+ +| 1. | *Linux | 1295 | +| 2. | *FreeBSD | 703 | +| 3. | *OpenBSD | 198 | ++-----+------------+-------+ +``` diff --git a/fixtures/KernelName.Score.Plaintext.expected b/fixtures/KernelName.Score.Plaintext.expected new file mode 100644 index 0000000..021f7e8 --- /dev/null +++ b/fixtures/KernelName.Score.Plaintext.expected @@ -0,0 +1,12 @@ +Top 3 Score's by KernelName + + Score is calculated by +combining all other metrics. + ++-----+------------+-------+ +| Pos | KernelName | Score | ++-----+------------+-------+ +| 1. | *Linux | 1295 | +| 2. | *FreeBSD | 703 | +| 3. | *OpenBSD | 198 | ++-----+------------+-------+ diff --git a/fixtures/KernelName.Uptime.Gemtext.expected b/fixtures/KernelName.Uptime.Gemtext.expected new file mode 100644 index 0000000..c3ce21a --- /dev/null +++ b/fixtures/KernelName.Uptime.Gemtext.expected @@ -0,0 +1,13 @@ +# Top 3 Uptime's by KernelName + +Uptime is the total uptime of a host over the entire lifespan. + +``` ++-----+------------+-----------------------------+ +| Pos | KernelName | Uptime | ++-----+------------+-----------------------------+ +| 1. | *Linux | 19 years, 4 months, 18 days | +| 2. | *FreeBSD | 9 years, 11 months, 29 days | +| 3. | *OpenBSD | 3 years, 1 months, 18 days | ++-----+------------+-----------------------------+ +``` diff --git a/fixtures/KernelName.Uptime.Markdown.expected b/fixtures/KernelName.Uptime.Markdown.expected new file mode 100644 index 0000000..c3ce21a --- /dev/null +++ b/fixtures/KernelName.Uptime.Markdown.expected @@ -0,0 +1,13 @@ +# Top 3 Uptime's by KernelName + +Uptime is the total uptime of a host over the entire lifespan. + +``` ++-----+------------+-----------------------------+ +| Pos | KernelName | Uptime | ++-----+------------+-----------------------------+ +| 1. | *Linux | 19 years, 4 months, 18 days | +| 2. | *FreeBSD | 9 years, 11 months, 29 days | +| 3. | *OpenBSD | 3 years, 1 months, 18 days | ++-----+------------+-----------------------------+ +``` diff --git a/fixtures/KernelName.Uptime.Plaintext.expected b/fixtures/KernelName.Uptime.Plaintext.expected new file mode 100644 index 0000000..a64c609 --- /dev/null +++ b/fixtures/KernelName.Uptime.Plaintext.expected @@ -0,0 +1,12 @@ +Top 3 Uptime's by KernelName + + Uptime is the total uptime of a host over the +entire lifespan. + ++-----+------------+-----------------------------+ +| Pos | KernelName | Uptime | ++-----+------------+-----------------------------+ +| 1. | *Linux | 19 years, 4 months, 18 days | +| 2. | *FreeBSD | 9 years, 11 months, 29 days | +| 3. | *OpenBSD | 3 years, 1 months, 18 days | ++-----+------------+-----------------------------+ diff --git a/fixtures/OS.MetaScore.Gemtext.expected b/fixtures/OS.MetaScore.Gemtext.expected deleted file mode 100644 index ee5f9a8..0000000 --- a/fixtures/OS.MetaScore.Gemtext.expected +++ /dev/null @@ -1,11 +0,0 @@ -# Top 3 MetaScore's by OS: - -``` -+-----+------------------------------------+-----------+ -| Pos | OS | MetaScore | -+-----+------------------------------------+-----------+ -| 1. | Linux 3.2.0-4-amd64 | 241 | -| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 126 | -| 3. | Linux 3.10.0-957.21.3.el7.x86_64 | 96 | -+-----+------------------------------------+-----------+ -``` diff --git a/fixtures/OS.MetaScore.Markdown.expected b/fixtures/OS.MetaScore.Markdown.expected deleted file mode 100644 index ee5f9a8..0000000 --- a/fixtures/OS.MetaScore.Markdown.expected +++ /dev/null @@ -1,11 +0,0 @@ -# Top 3 MetaScore's by OS: - -``` -+-----+------------------------------------+-----------+ -| Pos | OS | MetaScore | -+-----+------------------------------------+-----------+ -| 1. | Linux 3.2.0-4-amd64 | 241 | -| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 126 | -| 3. | Linux 3.10.0-957.21.3.el7.x86_64 | 96 | -+-----+------------------------------------+-----------+ -``` diff --git a/fixtures/OS.MetaScore.Plaintext.expected b/fixtures/OS.MetaScore.Plaintext.expected deleted file mode 100644 index c65f4b5..0000000 --- a/fixtures/OS.MetaScore.Plaintext.expected +++ /dev/null @@ -1,9 +0,0 @@ -Top 3 MetaScore's by OS: - -+-----+------------------------------------+-----------+ -| Pos | OS | MetaScore | -+-----+------------------------------------+-----------+ -| 1. | Linux 3.2.0-4-amd64 | 241 | -| 2. | *Linux 3.10.0-1160.15.2.el7.x86_64 | 126 | -| 3. | Linux 3.10.0-957.21.3.el7.x86_64 | 96 | -+-----+------------------------------------+-----------+ diff --git a/fixtures/OSMajor.MetaScore.Gemtext.expected b/fixtures/OSMajor.MetaScore.Gemtext.expected deleted file mode 100644 index a6eb546..0000000 --- a/fixtures/OSMajor.MetaScore.Gemtext.expected +++ /dev/null @@ -1,11 +0,0 @@ -# Top 3 MetaScore's by OSMajor: - -``` -+-----+----------------+-----------+ -| Pos | OSMajor | MetaScore | -+-----+----------------+-----------+ -| 1. | *Linux 3... | 739 | -| 2. | FreeBSD 10... | 406 | -| 3. | Linux 5... | 268 | -+-----+----------------+-----------+ -``` diff --git a/fixtures/OSMajor.MetaScore.Markdown.expected b/fixtures/OSMajor.MetaScore.Markdown.expected deleted file mode 100644 index a6eb546..0000000 --- a/fixtures/OSMajor.MetaScore.Markdown.expected +++ /dev/null @@ -1,11 +0,0 @@ -# Top 3 MetaScore's by OSMajor: - -``` -+-----+----------------+-----------+ -| Pos | OSMajor | MetaScore | -+-----+----------------+-----------+ -| 1. | *Linux 3... | 739 | -| 2. | FreeBSD 10... | 406 | -| 3. | Linux 5... | 268 | -+-----+----------------+-----------+ -``` diff --git a/fixtures/OSMajor.MetaScore.Plaintext.expected b/fixtures/OSMajor.MetaScore.Plaintext.expected deleted file mode 100644 index a1e68d6..0000000 --- a/fixtures/OSMajor.MetaScore.Plaintext.expected +++ /dev/null @@ -1,9 +0,0 @@ -Top 3 MetaScore's by OSMajor: - -+-----+----------------+-----------+ -| Pos | OSMajor | MetaScore | -+-----+----------------+-----------+ -| 1. | *Linux 3... | 739 | -| 2. | FreeBSD 10... | 406 | -| 3. | Linux 5... | 268 | -+-----+----------------+-----------+ diff --git a/fixtures/Uname.MetaScore.Gemtext.expected b/fixtures/Uname.MetaScore.Gemtext.expected deleted file mode 100644 index a859ae6..0000000 --- a/fixtures/Uname.MetaScore.Gemtext.expected +++ /dev/null @@ -1,11 +0,0 @@ -# Top 3 MetaScore's by Uname: - -``` -+-----+----------+-----------+ -| Pos | Uname | MetaScore | -+-----+----------+-----------+ -| 1. | *Linux | 1295 | -| 2. | *FreeBSD | 703 | -| 3. | *OpenBSD | 198 | -+-----+----------+-----------+ -``` diff --git a/fixtures/Uname.MetaScore.Markdown.expected b/fixtures/Uname.MetaScore.Markdown.expected deleted file mode 100644 index a859ae6..0000000 --- a/fixtures/Uname.MetaScore.Markdown.expected +++ /dev/null @@ -1,11 +0,0 @@ -# Top 3 MetaScore's by Uname: - -``` -+-----+----------+-----------+ -| Pos | Uname | MetaScore | -+-----+----------+-----------+ -| 1. | *Linux | 1295 | -| 2. | *FreeBSD | 703 | -| 3. | *OpenBSD | 198 | -+-----+----------+-----------+ -``` diff --git a/fixtures/Uname.MetaScore.Plaintext.expected b/fixtures/Uname.MetaScore.Plaintext.expected deleted file mode 100644 index edebbd0..0000000 --- a/fixtures/Uname.MetaScore.Plaintext.expected +++ /dev/null @@ -1,9 +0,0 @@ -Top 3 MetaScore's by Uname: - -+-----+----------+-----------+ -| Pos | Uname | MetaScore | -+-----+----------+-----------+ -| 1. | *Linux | 1295 | -| 2. | *FreeBSD | 703 | -| 3. | *OpenBSD | 198 | -+-----+----------+-----------+ diff --git a/guprecords.raku b/guprecords.raku index d7f925e..646ec11 100644 --- a/guprecords.raku +++ b/guprecords.raku @@ -2,11 +2,19 @@ use v6.d; -enum Category <Host OS OSMajor Uname>; -enum Metric <Boots Uptime MetaScore Downtime Lifespan>; +enum Category <Host Kernel KernelMajor KernelName>; +enum Metric <Boots Uptime Score Downtime Lifespan>; enum OutputFormat <Plaintext Markdown Gemtext>; subset MetricSubset of Metric where * ne any (Downtime, Lifespan); +our constant %DESCRIPTION = { + Boots => 'Boots is the total number of host boots over the entire lifespan.', + Uptime => 'Uptime is the total uptime of a host over the entire lifespan.', + Downtime => 'Downtime is the total downtime of a host over the entire lifespan.', + Lifespan => 'Lifespan is the total uptime + the total downtime of a host.', + Score => 'Score is calculated by combining all other metrics.', +}; + our UInt constant DAY = 1 * 24 * 3600; our UInt constant MONTH = 30 * DAY; @@ -63,7 +71,7 @@ class HostAggregate is Aggregate { } class Aggregator { - has Hash %!aggregates = { Host => {}, OS => {}, Uname => {}, OSMajor => {} } + has Hash %!aggregates = { Host => {}, Kernel => {}, KernelName => {}, KernelMajor => {} } has Str $.stats-dir is required; submethod new (Str:D $stats-dir) { self.bless(:$stats-dir) } @@ -88,36 +96,65 @@ class Aggregator { my $uname = $os.split(' ').first; my $os-major = "$uname {$os.split(' ')[1].split('.').first}..."; - %!aggregates<OS>{$os} //= Aggregate.new($os); - %!aggregates<Uname>{$uname} //= Aggregate.new($uname); - %!aggregates<OSMajor>{$os-major} //= Aggregate.new($os-major); + %!aggregates<Kernel>{$os} //= Aggregate.new($os); + %!aggregates<KernelName>{$uname} //= Aggregate.new($uname); + %!aggregates<KernelMajor>{$os-major} //= Aggregate.new($os-major); - for %!aggregates<Host>{$host}, %!aggregates<OS>{$os}, - %!aggregates<Uname>{$uname}, %!aggregates<OSMajor>{$os-major} { + for %!aggregates<Host>{$host}, %!aggregates<Kernel>{$os}, + %!aggregates<KernelName>{$uname}, %!aggregates<KernelMajor>{$os-major} { .add-record(:$uptime, :$boot-time); } } } -class Reporter { - has Hash %.aggregates is required; +role OutputHelper { has OutputFormat $.output-format is required; - has UInt $.limit is required; has UInt $.header-indent = 1; + + method output-header { + ($.output-format ~~ any (Markdown, Gemtext)) ?? '#' x $.header-indent ~ ' ' !! '' + } + + method output-trim(Str \str, UInt \line-limit) returns Str { + if $.output-format ~~ Plaintext and str.chars > line-limit { + return join '', gather { + my $chars = 0; + for str.split(' ') -> \word { + if ($chars += (word.chars + 1)) > line-limit { + take "\n" ~ word; + $chars = word.chars; + } else { + take ' ' ~ word; + } + } + } + } + return str; + } + + method output-block { + ($.output-format ~~ any (Markdown, Gemtext)) ?? "```\n" !! '' + } +} + +class Reporter does OutputHelper { + has Hash %.aggregates is required; + has UInt $.limit is required; has Category $.category = Host; has Metric $.metric is required; method report returns Str { join '', gather { - take "{self!output-header}Top {$.limit} {$.metric}'s by {$.category}:\n\n"; - with self!table -> (@table, %size) { my \format = '|' ~ join '|', " %{%size<count>}s ", " %{%size<name>}s ", " %{%size<value>}s ", "\n"; my \border = '+' ~ join '+', '-' x (2+%size<count>), '-' x (2+%size<name>), '-' x (2+%size<value>), "\n"; - take self!output-block; + take "{self.output-header}Top {$.limit} {$.metric}'s by {$.category}\n\n"; + take self.output-trim(%DESCRIPTION{$.metric}, border.chars), "\n\n"; + + take self.output-block; take border; take sprintf format, 'Pos', $.category, $.metric; take border; @@ -127,13 +164,13 @@ class Reporter { } take border; - take self!output-block; + take self.output-block; } } } method !table returns List { - my UInt $count = 0; + my $count = 0; my @table; # Initial table size @@ -156,18 +193,9 @@ class Reporter { return @table, %size; } - - method !output-header { - ($.output-format ~~ any (Markdown, Gemtext)) ?? '#' x $.header-indent ~ ' ' !! '' - } - - method !output-block { - ($.output-format ~~ any (Markdown, Gemtext)) ?? "```\n" !! '' - } - multi method sort-by(Uptime) { self.sort-by: *.uptime } multi method sort-by(Boots) { self.sort-by: *.boots } - multi method sort-by(MetaScore) { self.sort-by: *.meta-score } + multi method sort-by(Score) { self.sort-by: *.meta-score } multi method sort-by(Code:D $sort-by) { %!aggregates{$!category}.values.sort(&$sort-by).reverse; @@ -175,7 +203,7 @@ class Reporter { multi method human-str(Uptime, Aggregate:D $what) { Epoch.new($what.uptime).human-duration } multi method human-str(Boots, Aggregate:D $what) { $what.boots } - multi method human-str(MetaScore, Aggregate:D $what) { $what.meta-score } + multi method human-str(Score, Aggregate:D $what) { $what.meta-score } } class HostReporter is Reporter { @@ -186,10 +214,10 @@ class HostReporter is Reporter { multi method human-str(Lifespan, Aggregate:D $what) { Epoch.new($what.lifespan).human-duration } } -multi sub MAIN( +multi MAIN( Str :$stats-dir is required, #= The uptimed raw record input dir. - Category :$category = Host, #= The category, one of Host, OS, OSMajor, Uname [default: 'Host'] - Metric :$metric = Uptime, #= The metric, one of Boots, Uptime, MetaScore, Downtime, Lifespan + Category :$category = Host, #= The category, one of Host, Kernel, KernelMajor, KernelName [default: 'Host'] + Metric :$metric = Uptime, #= The metric, one of Boots, Uptime, Score, Downtime, Lifespan UInt :$limit = 20, #= Limit output to num of entries. OutputFormat :$output-format = Plaintext, #= Output format. ) { @@ -204,7 +232,7 @@ multi sub MAIN( } } -multi sub MAIN( +multi MAIN( Str :$stats-dir is required, Bool :$all, #= Generate all possible stats UInt :$limit = 20, @@ -224,7 +252,7 @@ multi sub MAIN( } } -multi sub MAIN('test') { +multi MAIN('test') { use Test; my @combs = gather { @@ -243,6 +271,9 @@ multi sub MAIN('test') { my \reporter = $category ~~ Host ?? HostReporter.new(:%aggregates, :$metric, :$limit, :$output-format) !! Reporter.new(:%aggregates, :$category, :$metric, :$limit, :$output-format); + #my $fh = open "./fixtures/$category.$metric.$output-format.expected", :w; + #$fh.print(reporter.report); + #$fh.close; is reporter.report, "./fixtures/$category.$metric.$output-format.expected".IO.slurp; } |
