con / duct

A helper to run a command, capture stdout/stderr and details about running
MIT License
1 stars 1 forks source link

Track spikes, bugfixes, test execution, and enable osx #37

Closed asmacdo closed 3 weeks ago

asmacdo commented 4 weeks ago

{output_prefix}usage.json now includes "totals". {"183380": {"pcpu": 101.0, "pmem": 0.0, "rss": 11104, "vsz": 232924, "timestamp": "2024-06-04T10:26:59.614005-05:00"}, "totals": {"pmem": 0.0, "pcpu": 101.0}}

A run now looks like:

duct is executing ./test_script.py --duration 3 --memory-size 10000...
Log files will be written to .duct/logs/2024.06.04T10.42.58-185114_
this is of test of STDERR: ERRRRRRRRRRRRRRR
Test completed. Consumed 10000 MB for 3 seconds with CPU load factor 10000.

Exit Code: 0
Command: ./test_script.py --duration 3 --memory-size 10000
Log files location: .duct/logs/2024.06.04T10.42.58-185114_
Wall Clock Time: 8.781145811080933
Memory Peak Usage: 30.9%
CPU Peak Usage: 141.0%

with memory peak usage and cpu peak usage added, and number of pids and pid info now left out of the final report

Fixes: https://github.com/con/duct/issues/22 Fixes: https://github.com/con/duct/issues/39 Fixes: https://github.com/con/duct/issues/36 Fixes: https://github.com/con/duct/issues/6 Fixes: https://github.com/con/duct/issues/15

asmacdo commented 3 weeks ago

Could be merged like this (it gets the job done) but test_execution probably should be refactored to be DRYer, ie use pytest parameters and a couple test utils. (Doing now)