nix: better monitoring loadtest report readability
This commit is contained in:
@@ -231,6 +231,9 @@ let
|
|||||||
|
|
||||||
echo -e '\n\n## Process monitoring results\n'
|
echo -e '\n\n## Process monitoring results\n'
|
||||||
|
|
||||||
|
echo 'Tracks the memory and CPU usage in 1 second intervals for the duration of the loadtest.'
|
||||||
|
echo -e 'If a branch finishes its loadtest in less seconds than another branch, it will have blank cells for the missing seconds.\n'
|
||||||
|
|
||||||
find loadtest -type f -iname '*.csv' \
|
find loadtest -type f -iname '*.csv' \
|
||||||
| sort -nr \
|
| sort -nr \
|
||||||
| ${mergeMonitorResults}
|
| ${mergeMonitorResults}
|
||||||
|
|||||||
@@ -9,16 +9,16 @@ merged = None
|
|||||||
paths = [p.strip() for p in sys.stdin.read().split() if p.strip()]
|
paths = [p.strip() for p in sys.stdin.read().split() if p.strip()]
|
||||||
|
|
||||||
for csv_path in paths:
|
for csv_path in paths:
|
||||||
# pfix is prefix (variable shortened to pass linter)
|
# br is branch (variable shortened to pass linter)
|
||||||
pfix = os.path.splitext(os.path.basename(csv_path))[0]
|
br = os.path.splitext(os.path.basename(csv_path))[0]
|
||||||
|
|
||||||
df = pd.read_csv(csv_path)
|
df = pd.read_csv(csv_path)
|
||||||
|
|
||||||
if KEY not in df.columns:
|
if KEY not in df.columns:
|
||||||
sys.exit(f"{csv_path} is missing the {KEY} column")
|
sys.exit(f"{csv_path} is missing the {KEY} column")
|
||||||
|
|
||||||
# add prefix to every metric column
|
# add branch marker to every metric column
|
||||||
df = df.rename(columns={c: f"{pfix} {c}" for c in df.columns if c != KEY})
|
df = df.rename(columns={c: f"{c} [{br}]" for c in df.columns if c != KEY})
|
||||||
|
|
||||||
# outer join so missing rows appear
|
# outer join so missing rows appear
|
||||||
merged = df if merged is None else merged.merge(df, on=KEY, how="outer")
|
merged = df if merged is None else merged.merge(df, on=KEY, how="outer")
|
||||||
|
|||||||
Reference in New Issue
Block a user