85 Commits

Author SHA1 Message Date
0xFugue
1e18d72de4 removes containers that "contain" the names to be excluded (#136) 2023-08-17 23:55:10 +05:30
0xFugue
451c0f0510 MiB to MegaBytes renaming and the "divide" option (#132)
* MiB to Mega Bytes renaming

* remove fifo explicitly

* modify the fifo name

* added the per-container "divide"; configurable
2023-08-17 21:34:29 +05:30
Alberto Soutullo Rendo
6f7e960362 Solved conflicts with prometheus dump 2023-07-15 12:52:17 +02:00
Alberto
92439bf18b Disabled by_simulation plotting configuration 2023-06-13 11:27:15 +02:00
Alberto Soutullo
3f09c5fc95 Resolved conflicts with main 2023-06-09 17:38:49 +02:00
Alberto Soutullo
d014ba2713 Cleaned files after cleaning git cache 2023-06-09 13:19:27 +02:00
0xFugue
996b7323f4 dstats/host-proc analysis (#125)
* cli scaffolding for processings metrics

* pandas description: dstats

* added dstats columns

* added procfs columns

* prune procfs/dstats columns

* sanitize, convert dstats

* re-write dstats and size conversion

* faster Human2ByteConveter

* dstats violin plots

* dstats, all plots, cdf

* all plots, pdf

* added prefix option

* option for cdf/pdf plots

* add jordis propagation delay calc - partial

* dstats takes only one arg now

* refactor jordis module

* added file check to dstats

* make analysis classes singleton

* ProcFS read/processing

* refactoring; added Plot baseclass

* added TODO

* Plot, violin_plots_helper()

* added ContainerID

* procfs plots - v0

* add rpc/metrics and update config.json

* added settling time plots

* setting labels

* added InOctets/OutOctets

* procfs plots - v1

* MiBs

* TODO

* change perms for prometheus and grafana configs

* conditional import tomli/tomllib

* BLKR/BLKW in MiB

* grafana dashboard

* run.sh refactoring

* dstats is now a standalone module

* added dstats dir

* bug fix

* fast pid2node_name

* kurtosis version check

* dstats bug fix

* bug fix

* dstats analysis - v2

* container2node_name via kurtosis inspect

* added dstats to cleanup

* dstats - container2name - v3

* dstats - v3

* host-proc - v2

* delete old host-proc launcher

* host-proc - v2: inline cpu stats

* host proc v2 : analysis : cpu stats

* add kinspect to host-proc

* host-proc-helper.sh

* host-proc v4

* plots 4 total and avg metrics

* clusters: kmeans

* per container clusters

* panelling is now class-wide

* per container clusters

* take care of incomplete samples

* extract the maximal, complete sample set

* grouping is now done by Key + removed HWM

* host-proc bug fix

* uniformise run.sh conditionals

* bug fix run.sh

* --full-uuids

* remove kurtosis inspect altogether

* cleanup run.sh

* kurtosis run cleanup

* added container size

* host-proc-helper.py

* run.sh

* incorporated config.json

* run.sh

* analysis.py

* config.json .plotting.host-proc

* conditional histograms - v0

* host-proc-helper.py omit fields

* conditional histograms

* compare plots done

* config.json dstats/host-proc

* config.json dstats/host-proc

* dstats/host-proc plotting run.sh

* run.sh

* cmd_helper

* analysis requirements.txt

* monitoring/host-proc/analysis.py -> analysis-module/src/hproc.py

* run.sh

* make top_plot strict

* remove/modify prints

* cleanup the old dockers

* set default to compare plots

* hproc.py

* src/main.py

* Dockerfile main.py

* plot_compare_panel

* set common --out-prefix

* build.sh

* work around ifindex issues

* run.sh: synchronous sudo and supressed analysis output

* run.sh

* venv for host-proc

* cleanup container-proc outputs

* add run summary to plot titles

* delete monitoring/host-proc/analysis.py

* remove log.info()

* host-proc: profile only wakunodes with config

* col rename, output plot dir, medians

* CPU % fixed

* export all plots to wakurtosis_log

* setting defaults to config.json

* config.json: num_nodes >= fanout

* run.sh plot dirs

* MemUse to VmPeak/VmSize is now configurable

* install python3-venv

* K -> KiB; i -> fo in summary
2023-06-08 14:11:36 +05:30
Daimakaimura
3db85b3d82 Fixed wrong parameter function call 2023-05-22 13:08:08 +01:00
Daimakaimura
5deab3b34d Merge remote-tracking branch 'origin/master' into AnalysisMasterMerge 2023-05-22 07:49:52 +01:00
Alberto
d21242868e Updated README.md 2023-05-17 17:02:03 +02:00
Alberto
8fafb3a847 Modified tests 2023-05-17 17:01:22 +02:00
Alberto
ea9b8d1d2b Now plots are correctly plotted 2023-05-17 17:01:17 +02:00
Alberto
ef71404111 Corrected plotting configurations 2023-05-17 17:00:44 +02:00
Daimakaimura
349d17cae6 Typo 2023-05-16 13:26:53 +01:00
Daimakaimura
f3c991ddc7 Fixed unused imports 2023-05-16 13:26:11 +01:00
Daimakaimura
57f59117a5 Fixed imports 2023-05-16 13:24:46 +01:00
Daimakaimura
608e6b4e6d Refactored main and added cproc and cadvisor helpers 2023-05-16 13:20:45 +01:00
Daimakaimura
90e16f5f44 Added container-prioc run example 2023-05-16 09:45:35 +01:00
Daimakaimura
c65af20ccc Added -i arg to the test 2023-05-16 09:42:44 +01:00
Daimakaimura
49b9436fc2 Added container-prioc analysis logic 2023-05-16 09:38:51 +01:00
Daimakaimura
466e458952 Added plotting function for cproc 2023-05-16 09:03:39 +01:00
Daimakaimura
855500318a Fixed master merge issues 2023-05-16 08:59:34 +01:00
Daimakaimura
e9fc710137 Merge branch 'master' into AnalysisMasterMerge 2023-05-16 08:35:55 +01:00
Alberto Soutullo
967e6b8fdc Added extra information in README.md 2023-05-15 17:37:50 +02:00
Alberto Soutullo
e539a2846b Changed plotting.py to match latest changes 2023-05-15 17:37:39 +02:00
Alberto Soutullo
ec84d1edba Created file to save metrics plot configuration 2023-05-15 17:37:20 +02:00
Alberto Soutullo
ce33e9ec3b Changed prometheus to deal with changes in config.json 2023-05-15 17:36:47 +02:00
Daimakaimura
db834cf2af Switched to default probe 2023-05-15 12:07:21 +01:00
Daimakaimura
91dead2485 Added tests 2023-05-15 12:07:02 +01:00
Daimakaimura
2026527cb5 Fixed tests 2023-05-15 12:06:38 +01:00
Daimakaimura
d223ca8b40 Removed rounding from latencies 2023-05-11 09:43:16 +01:00
Daimakaimura
96638c8745 Refactoring 2023-05-11 09:42:32 +01:00
Daimakaimura
fe823290f4 Updated test_parse_args to test all args 2023-05-11 07:53:59 +01:00
Daimakaimura
4611bc356e Added docker imgae build script 2023-05-11 07:46:47 +01:00
Daimakaimura
330a91103b Cleanup commented function 2023-05-11 07:16:50 +01:00
Alberto
4a676abdec Added tests for new functions in prometheus.py 2023-05-10 19:23:05 +02:00
Alberto Soutullo
a6d36d04da Analysis multinode refactor (#113)
* Savd rpc and metrics by default in config

* More flags true by default

* Added disk usage and refactored plot

* Set metrics back to "good ones"

* Added summary to plot

* Added analysis to build

* Fixed wrong function refactor

* Now just one mount is needed

* Cleaned main

* Prepared prometheus script to handle list of given metrics

* Deleted old plotting function

* Converted data to megabytes with flag, and fixed bug in continue when fetching metrics

* Added continue back to fix bug

* Now prometheus can accept a variable number of metrics to gather

* Modified plotting function to accept a variable number of metrics

* wip in main to work with variable number of metrics

* Plotting is now read in config.json

* Cleaned main

* Cleaned plotting file

* Created function to put custom metrics inside metrics dict

* Fixed error when having multiple metrics in same plot

* Updated config to have plotting information as example

* Updated dockerfile

* Updated README.md

* Renamed variable and function

* Deleted toml folder from arg parser

* Deleted print in plotting.py

* Deleted toml path from vars file

* Deleted unnused functions in prometheus.py

* updated main to not use tomls folder

* Added more tests in test_analysis.py

* refactored arg_parser.py test

* Added more tests in log_parser

* Created prometheus tests

* Finalized prometheus tests

* Fixed bug in prometheus, if data does not exists (yet, like could be container_fs_writes_bytes_total), we add a zero.

* Added xticks in plots

* Typo

* Updated readme
2023-05-09 21:55:49 +02:00
Alberto
3d93bc371f Changed plotting to match config changes 2023-05-09 17:28:56 +02:00
Alberto
7ee98fbf15 Changed prometheus.py to match config changes 2023-05-09 17:28:48 +02:00
Alberto
122d345190 Updated readme 2023-05-08 12:46:07 +02:00
Alberto
46a7370e77 Typo 2023-05-08 12:38:20 +02:00
Alberto
ed1c04c089 Added xticks in plots 2023-05-08 12:38:20 +02:00
Alberto
0d51afbc8e Fixed bug in prometheus, if data does not exists (yet, like could be container_fs_writes_bytes_total), we add a zero. 2023-05-08 12:38:20 +02:00
Alberto
c0b6bdef01 Finalized prometheus tests 2023-05-08 12:38:20 +02:00
Alberto
0c5d1f115b Created prometheus tests 2023-05-08 12:38:20 +02:00
Alberto
c2302392f0 Added more tests in log_parser 2023-05-08 12:38:20 +02:00
Alberto
2b2f534feb refactored arg_parser.py test 2023-05-08 12:38:20 +02:00
Alberto
4e7c9c8999 Added more tests in test_analysis.py 2023-05-08 12:38:20 +02:00
Alberto
a912ddc91d updated main to not use tomls folder 2023-05-08 12:38:20 +02:00
Alberto
2e793fd524 Deleted unnused functions in prometheus.py 2023-05-08 12:38:20 +02:00