Add concurrent agent limiting to kugetsu CLI
- Add MAX_CONCURRENT_AGENTS (default: 3) to limit concurrent agents - Implement acquire_agent_slot() and release_agent_slot() with flock - Wrap cmd_start, cmd_continue, and cmd_delegate with slot management - cmd_delegate holds slot until background task completes (fire-and-forget + blocking) - Add basic concurrency tests to test suite
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
[
|
||||
{
|
||||
"agent_count": 1,
|
||||
"total_duration": 1.0171289443969727,
|
||||
"success_count": 0,
|
||||
"failed_count": 1,
|
||||
"timeout_count": 0,
|
||||
"avg_response_time": 0.005397796630859375,
|
||||
"stddev_response_time": 0,
|
||||
"min_response_time": 0.005397796630859375,
|
||||
"max_response_time": 0.005397796630859375,
|
||||
"peak_cpu_percent": 0.0,
|
||||
"avg_cpu_percent": 0.0,
|
||||
"peak_memory_mb": 2460.7001953125,
|
||||
"avg_memory_mb": 2459.75439453125,
|
||||
"peak_memory_percent": 0.0,
|
||||
"avg_memory_percent": 0.0,
|
||||
"peak_opencode_procs": 0,
|
||||
"baseline_memory_mb": 2458.80859375,
|
||||
"memory_per_agent_mb": 1.8916015625,
|
||||
"total_cost_score": 0.001924002700485289
|
||||
},
|
||||
{
|
||||
"agent_count": 2,
|
||||
"total_duration": 1.0177080631256104,
|
||||
"success_count": 0,
|
||||
"failed_count": 2,
|
||||
"timeout_count": 0,
|
||||
"avg_response_time": 0.004194378852844238,
|
||||
"stddev_response_time": 0.0005352649760883542,
|
||||
"min_response_time": 0.003815889358520508,
|
||||
"max_response_time": 0.004572868347167969,
|
||||
"peak_cpu_percent": 0.0,
|
||||
"avg_cpu_percent": 0.0,
|
||||
"peak_memory_mb": 2464.1708984375,
|
||||
"avg_memory_mb": 2463.69287109375,
|
||||
"peak_memory_percent": 0.0,
|
||||
"avg_memory_percent": 0.0,
|
||||
"peak_opencode_procs": 0,
|
||||
"baseline_memory_mb": 2463.21484375,
|
||||
"memory_per_agent_mb": 0.47802734375,
|
||||
"total_cost_score": 0.0009729845642577857
|
||||
},
|
||||
{
|
||||
"agent_count": 3,
|
||||
"total_duration": 1.016812801361084,
|
||||
"success_count": 0,
|
||||
"failed_count": 3,
|
||||
"timeout_count": 0,
|
||||
"avg_response_time": 0.00549777348836263,
|
||||
"stddev_response_time": 0.0004058027330303703,
|
||||
"min_response_time": 0.0052263736724853516,
|
||||
"max_response_time": 0.0059642791748046875,
|
||||
"peak_cpu_percent": 0.0,
|
||||
"avg_cpu_percent": 0.0,
|
||||
"peak_memory_mb": 2443.9794921875,
|
||||
"avg_memory_mb": 2443.8232421875,
|
||||
"peak_memory_percent": 0.0,
|
||||
"avg_memory_percent": 0.0,
|
||||
"peak_opencode_procs": 0,
|
||||
"baseline_memory_mb": 2443.6669921875,
|
||||
"memory_per_agent_mb": 0.10416666666666667,
|
||||
"total_cost_score": 0.00031775400042533875
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user