diff --git a/artifacts/load-report.json b/artifacts/load-report.json index 557d68bc..6415cde4 100644 --- a/artifacts/load-report.json +++ b/artifacts/load-report.json @@ -1,1342 +1,77 @@ { - "timestamp": "2026-01-30T19:23:23.380Z", - "config": { - "duration": 600, + "meta": { "clients": 1000, - "rate": 0.1, - "relay": "ws://localhost:8889", - "force": false + "duration": 60, + "targetRatePerClient": 0.5 }, + "results": { + "totalSent": 9880, + "totalReceivedByObserver": 9212, + "totalErrors": 0, + "errorRate": 0, + "avgLatencyMs": 633.5714285714286, + "maxLatencyMs": 4352, + "avgSignTimeMs": 5.312883614738433 + }, + "bottlenecks": [ + "High Average Latency (>500ms)", + "Cryptographic Bottleneck (Avg Sign Time 5.31ms > 5ms)" + ], "metrics": { - "total_sent": 67937, - "total_received": 67937, - "errors": 0, - "throughput_sent": 113.22833333333334, - "throughput_recv": 113.22833333333334, - "latency_ms": { - "p50": 0.7058579999720678, - "p95": 10.000404999999773, - "p99": 17.838965999952052 - }, - "operation_times_ms": { - "build_avg": 0.05418018332126935, - "sign_avg": 5.689074433740087 - }, - "resource_usage": [ - { - "timestamp": 1769800408393, - "cpuPercent": 98.87, - "rss": 128929792, - "heapUsed": 27565784 - }, - { - "timestamp": 1769800413393, - "cpuPercent": 77.84, - "rss": 129880064, - "heapUsed": 34596048 - }, - { - "timestamp": 1769800418393, - "cpuPercent": 79.05, - "rss": 130666496, - "heapUsed": 24418720 - }, - { - "timestamp": 1769800423412, - "cpuPercent": 68.1, - "rss": 131616768, - "heapUsed": 26651824 - }, - { - "timestamp": 1769800428416, - "cpuPercent": 68.3, - "rss": 132272128, - "heapUsed": 32014632 - }, - { - "timestamp": 1769800433415, - "cpuPercent": 71.68, - "rss": 133439488, - "heapUsed": 39027624 - }, - { - "timestamp": 1769800438415, - "cpuPercent": 68.12, - "rss": 133963776, - "heapUsed": 31851440 - }, - { - "timestamp": 1769800443415, - "cpuPercent": 68.38, - "rss": 134881280, - "heapUsed": 30796224 - }, - { - "timestamp": 1769800448417, - "cpuPercent": 67.53, - "rss": 135467008, - "heapUsed": 37501864 - }, - { - "timestamp": 1769800453431, - "cpuPercent": 67.46, - "rss": 136384512, - "heapUsed": 30178232 - }, - { - "timestamp": 1769800458431, - "cpuPercent": 67.56, - "rss": 136908800, - "heapUsed": 35300656 - }, - { - "timestamp": 1769800463453, - "cpuPercent": 68.5, - "rss": 137564160, - "heapUsed": 40512944 - }, - { - "timestamp": 1769800468454, - "cpuPercent": 66.47, - "rss": 138350592, - "heapUsed": 34617536 - }, - { - "timestamp": 1769800473456, - "cpuPercent": 68.07, - "rss": 138874880, - "heapUsed": 34175320 - }, - { - "timestamp": 1769800478457, - "cpuPercent": 69.08, - "rss": 139206656, - "heapUsed": 43370360 - }, - { - "timestamp": 1769800483459, - "cpuPercent": 67.76, - "rss": 139993088, - "heapUsed": 31293608 - }, - { - "timestamp": 1769800488459, - "cpuPercent": 68.51, - "rss": 140517376, - "heapUsed": 39513552 - }, - { - "timestamp": 1769800493463, - "cpuPercent": 66.84, - "rss": 141565952, - "heapUsed": 44947080 - }, - { - "timestamp": 1769800498464, - "cpuPercent": 67.53, - "rss": 142221312, - "heapUsed": 40645208 - }, - { - "timestamp": 1769800503464, - "cpuPercent": 67.04, - "rss": 143007744, - "heapUsed": 34660104 - }, - { - "timestamp": 1769800508464, - "cpuPercent": 70.2, - "rss": 110510080, - "heapUsed": 19394888 - }, - { - "timestamp": 1769800513466, - "cpuPercent": 70.9, - "rss": 114966528, - "heapUsed": 22866984 - }, - { - "timestamp": 1769800518467, - "cpuPercent": 69.22, - "rss": 114900992, - "heapUsed": 21641624 - }, - { - "timestamp": 1769800523487, - "cpuPercent": 68.48, - "rss": 123289600, - "heapUsed": 21701520 - }, - { - "timestamp": 1769800528488, - "cpuPercent": 67.79, - "rss": 123289600, - "heapUsed": 21066832 - }, - { - "timestamp": 1769800533489, - "cpuPercent": 87.87, - "rss": 123453440, - "heapUsed": 24166680 - }, - { - "timestamp": 1769800538493, - "cpuPercent": 79.12, - "rss": 123715584, - "heapUsed": 20638592 - }, - { - "timestamp": 1769800543492, - "cpuPercent": 67.03, - "rss": 123715584, - "heapUsed": 21115008 - }, - { - "timestamp": 1769800548492, - "cpuPercent": 68.59, - "rss": 123846656, - "heapUsed": 26173776 - }, - { - "timestamp": 1769800553497, - "cpuPercent": 69.29, - "rss": 123977728, - "heapUsed": 21893240 - }, - { - "timestamp": 1769800558498, - "cpuPercent": 67.45, - "rss": 123977728, - "heapUsed": 23793616 - }, - { - "timestamp": 1769800563498, - "cpuPercent": 69.93, - "rss": 124370944, - "heapUsed": 24486152 - }, - { - "timestamp": 1769800568498, - "cpuPercent": 68.03, - "rss": 124497920, - "heapUsed": 28060720 - }, - { - "timestamp": 1769800573504, - "cpuPercent": 69.21, - "rss": 135639040, - "heapUsed": 19644112 - }, - { - "timestamp": 1769800578504, - "cpuPercent": 67.64, - "rss": 135753728, - "heapUsed": 23168840 - }, - { - "timestamp": 1769800583505, - "cpuPercent": 68.46, - "rss": 135753728, - "heapUsed": 23567648 - }, - { - "timestamp": 1769800588505, - "cpuPercent": 66.08, - "rss": 136015872, - "heapUsed": 30220536 - }, - { - "timestamp": 1769800593506, - "cpuPercent": 68.64, - "rss": 136146944, - "heapUsed": 29166240 - }, - { - "timestamp": 1769800598510, - "cpuPercent": 67.2, - "rss": 136278016, - "heapUsed": 31001224 - }, - { - "timestamp": 1769800603510, - "cpuPercent": 67.16, - "rss": 136916992, - "heapUsed": 27286488 - }, - { - "timestamp": 1769800608524, - "cpuPercent": 69.12, - "rss": 137011200, - "heapUsed": 27836360 - }, - { - "timestamp": 1769800613523, - "cpuPercent": 69.48, - "rss": 137089024, - "heapUsed": 29609712 - }, - { - "timestamp": 1769800618524, - "cpuPercent": 67.65, - "rss": 137318400, - "heapUsed": 31698560 - }, - { - "timestamp": 1769800623524, - "cpuPercent": 67.81, - "rss": 137449472, - "heapUsed": 35162608 - }, - { - "timestamp": 1769800628525, - "cpuPercent": 77.11, - "rss": 137572352, - "heapUsed": 24566720 - }, - { - "timestamp": 1769800633528, - "cpuPercent": 66.64, - "rss": 137572352, - "heapUsed": 31296984 - }, - { - "timestamp": 1769800638528, - "cpuPercent": 71.5, - "rss": 137633792, - "heapUsed": 33178264 - }, - { - "timestamp": 1769800643530, - "cpuPercent": 72.22, - "rss": 137555968, - "heapUsed": 29510312 - }, - { - "timestamp": 1769800648535, - "cpuPercent": 69.73, - "rss": 137687040, - "heapUsed": 20463504 - }, - { - "timestamp": 1769800653540, - "cpuPercent": 73.07, - "rss": 137482240, - "heapUsed": 22523016 - }, - { - "timestamp": 1769800658544, - "cpuPercent": 83.55, - "rss": 137613312, - "heapUsed": 21362464 - }, - { - "timestamp": 1769800663546, - "cpuPercent": 82.75, - "rss": 137613312, - "heapUsed": 30223376 - }, - { - "timestamp": 1769800668546, - "cpuPercent": 70.55, - "rss": 137613312, - "heapUsed": 23737448 - }, - { - "timestamp": 1769800673552, - "cpuPercent": 72.63, - "rss": 137646080, - "heapUsed": 28685832 - }, - { - "timestamp": 1769800678551, - "cpuPercent": 72.07, - "rss": 137760768, - "heapUsed": 29728088 - }, - { - "timestamp": 1769800683552, - "cpuPercent": 70.15, - "rss": 137883648, - "heapUsed": 26280344 - }, - { - "timestamp": 1769800688552, - "cpuPercent": 68.15, - "rss": 138022912, - "heapUsed": 23680208 - }, - { - "timestamp": 1769800693552, - "cpuPercent": 68.38, - "rss": 138059776, - "heapUsed": 35051736 - }, - { - "timestamp": 1769800698557, - "cpuPercent": 72.54, - "rss": 138141696, - "heapUsed": 22925320 - }, - { - "timestamp": 1769800703557, - "cpuPercent": 66.52, - "rss": 139005952, - "heapUsed": 25668264 - }, - { - "timestamp": 1769800708557, - "cpuPercent": 72.33, - "rss": 139034624, - "heapUsed": 29180936 - }, - { - "timestamp": 1769800713563, - "cpuPercent": 67.37, - "rss": 138342400, - "heapUsed": 19031016 - }, - { - "timestamp": 1769800718579, - "cpuPercent": 67.17, - "rss": 138051584, - "heapUsed": 23527264 - }, - { - "timestamp": 1769800723580, - "cpuPercent": 66.2, - "rss": 138063872, - "heapUsed": 19208208 - }, - { - "timestamp": 1769800728595, - "cpuPercent": 67.86, - "rss": 138063872, - "heapUsed": 29635016 - }, - { - "timestamp": 1769800733599, - "cpuPercent": 66.58, - "rss": 138063872, - "heapUsed": 29285568 - }, - { - "timestamp": 1769800738601, - "cpuPercent": 66.31, - "rss": 138063872, - "heapUsed": 18970344 - }, - { - "timestamp": 1769800743610, - "cpuPercent": 84.47, - "rss": 138162176, - "heapUsed": 30175352 - }, - { - "timestamp": 1769800748619, - "cpuPercent": 100.35, - "rss": 138162176, - "heapUsed": 31960160 - }, - { - "timestamp": 1769800753625, - "cpuPercent": 71.09, - "rss": 138162176, - "heapUsed": 19883048 - }, - { - "timestamp": 1769800758626, - "cpuPercent": 68.1, - "rss": 138162176, - "heapUsed": 32798488 - }, - { - "timestamp": 1769800763633, - "cpuPercent": 67.31, - "rss": 138043392, - "heapUsed": 33173864 - }, - { - "timestamp": 1769800768637, - "cpuPercent": 64.71, - "rss": 138436608, - "heapUsed": 21554176 - }, - { - "timestamp": 1769800773641, - "cpuPercent": 67.04, - "rss": 138457088, - "heapUsed": 28869680 - }, - { - "timestamp": 1769800778641, - "cpuPercent": 67.24, - "rss": 138457088, - "heapUsed": 23845072 - }, - { - "timestamp": 1769800783641, - "cpuPercent": 66.02, - "rss": 138457088, - "heapUsed": 35019256 - }, - { - "timestamp": 1769800788641, - "cpuPercent": 68.34, - "rss": 138178560, - "heapUsed": 18935936 - }, - { - "timestamp": 1769800793642, - "cpuPercent": 67.76, - "rss": 138178560, - "heapUsed": 28676728 - }, - { - "timestamp": 1769800798664, - "cpuPercent": 69.91, - "rss": 138178560, - "heapUsed": 30650856 - }, - { - "timestamp": 1769800803665, - "cpuPercent": 69.54, - "rss": 138280960, - "heapUsed": 22407576 - }, - { - "timestamp": 1769800808670, - "cpuPercent": 67.72, - "rss": 138178560, - "heapUsed": 26816608 - }, - { - "timestamp": 1769800813672, - "cpuPercent": 66.15, - "rss": 138178560, - "heapUsed": 31712016 - }, - { - "timestamp": 1769800818672, - "cpuPercent": 67.09, - "rss": 138293248, - "heapUsed": 29121264 - }, - { - "timestamp": 1769800823673, - "cpuPercent": 67.32, - "rss": 138293248, - "heapUsed": 29455488 - }, - { - "timestamp": 1769800828674, - "cpuPercent": 67.67, - "rss": 138293248, - "heapUsed": 23782504 - }, - { - "timestamp": 1769800833678, - "cpuPercent": 76.22, - "rss": 138293248, - "heapUsed": 30435008 - }, - { - "timestamp": 1769800838678, - "cpuPercent": 68.24, - "rss": 138178560, - "heapUsed": 22950416 - }, - { - "timestamp": 1769800843685, - "cpuPercent": 65.65, - "rss": 138178560, - "heapUsed": 32858264 - }, - { - "timestamp": 1769800848686, - "cpuPercent": 67.59, - "rss": 138178560, - "heapUsed": 32993384 - }, - { - "timestamp": 1769800853686, - "cpuPercent": 67.99, - "rss": 138588160, - "heapUsed": 20642960 - }, - { - "timestamp": 1769800858691, - "cpuPercent": 66.76, - "rss": 138588160, - "heapUsed": 17981320 - }, - { - "timestamp": 1769800863695, - "cpuPercent": 68.06, - "rss": 138850304, - "heapUsed": 24566168 - }, - { - "timestamp": 1769800868702, - "cpuPercent": 78.18, - "rss": 138850304, - "heapUsed": 25033424 - }, - { - "timestamp": 1769800873710, - "cpuPercent": 67.12, - "rss": 138850304, - "heapUsed": 23658768 - }, - { - "timestamp": 1769800878714, - "cpuPercent": 66.95, - "rss": 138850304, - "heapUsed": 22591632 - }, - { - "timestamp": 1769800883727, - "cpuPercent": 67.52, - "rss": 138870784, - "heapUsed": 29299880 - }, - { - "timestamp": 1769800888728, - "cpuPercent": 73.44, - "rss": 138870784, - "heapUsed": 33535984 - }, - { - "timestamp": 1769800893729, - "cpuPercent": 65.52, - "rss": 138870784, - "heapUsed": 33219584 - }, - { - "timestamp": 1769800898734, - "cpuPercent": 72.07, - "rss": 138870784, - "heapUsed": 27287960 - }, - { - "timestamp": 1769800903737, - "cpuPercent": 76.55, - "rss": 138870784, - "heapUsed": 33981696 - }, - { - "timestamp": 1769800908738, - "cpuPercent": 82.79, - "rss": 138870784, - "heapUsed": 21982736 - }, - { - "timestamp": 1769800913739, - "cpuPercent": 67.25, - "rss": 138870784, - "heapUsed": 34866968 - }, - { - "timestamp": 1769800918744, - "cpuPercent": 70.02, - "rss": 138870784, - "heapUsed": 32091032 - }, - { - "timestamp": 1769800923744, - "cpuPercent": 70.83, - "rss": 138870784, - "heapUsed": 33959656 - }, - { - "timestamp": 1769800928743, - "cpuPercent": 67.68, - "rss": 138870784, - "heapUsed": 31213960 - }, - { - "timestamp": 1769800933743, - "cpuPercent": 70.4, - "rss": 138870784, - "heapUsed": 21561336 - }, - { - "timestamp": 1769800938748, - "cpuPercent": 66.59, - "rss": 138870784, - "heapUsed": 24414992 - }, - { - "timestamp": 1769800943747, - "cpuPercent": 66.76, - "rss": 139395072, - "heapUsed": 20712904 - }, - { - "timestamp": 1769800948748, - "cpuPercent": 72.43, - "rss": 139489280, - "heapUsed": 20984928 - }, - { - "timestamp": 1769800953747, - "cpuPercent": 68.31, - "rss": 139489280, - "heapUsed": 25491832 - }, - { - "timestamp": 1769800958751, - "cpuPercent": 68.78, - "rss": 139489280, - "heapUsed": 26668904 - }, - { - "timestamp": 1769800963753, - "cpuPercent": 69.51, - "rss": 139489280, - "heapUsed": 27040168 - }, - { - "timestamp": 1769800968754, - "cpuPercent": 74.29, - "rss": 139489280, - "heapUsed": 24260336 - }, - { - "timestamp": 1769800973759, - "cpuPercent": 71.4, - "rss": 139489280, - "heapUsed": 26206168 - }, - { - "timestamp": 1769800978759, - "cpuPercent": 67.96, - "rss": 139489280, - "heapUsed": 25080296 - }, - { - "timestamp": 1769800983758, - "cpuPercent": 69.22, - "rss": 139489280, - "heapUsed": 33168920 - }, - { - "timestamp": 1769800988766, - "cpuPercent": 67.49, - "rss": 139489280, - "heapUsed": 28926152 - }, - { - "timestamp": 1769800993770, - "cpuPercent": 66.87, - "rss": 139489280, - "heapUsed": 35722208 - }, - { - "timestamp": 1769800998770, - "cpuPercent": 71.97, - "rss": 139489280, - "heapUsed": 29773024 - } + "timestamps": [ + "2026-02-02T19:20:53.413Z", + "2026-02-02T19:21:05.252Z", + "2026-02-02T19:21:09.391Z", + "2026-02-02T19:21:17.727Z", + "2026-02-02T19:21:25.657Z", + "2026-02-02T19:21:37.832Z", + "2026-02-02T19:21:46.152Z" ], - "relay_resource_usage": [ - { - "timestamp": 1769800408467, - "cpuPercent": 18.3, - "memPercent": 1 - }, - { - "timestamp": 1769800413413, - "cpuPercent": 13.1, - "memPercent": 1 - }, - { - "timestamp": 1769800418405, - "cpuPercent": 10.6, - "memPercent": 1 - }, - { - "timestamp": 1769800423424, - "cpuPercent": 9.1, - "memPercent": 1 - }, - { - "timestamp": 1769800428436, - "cpuPercent": 8.1, - "memPercent": 1 - }, - { - "timestamp": 1769800433435, - "cpuPercent": 7.7, - "memPercent": 1.2 - }, - { - "timestamp": 1769800438453, - "cpuPercent": 7.3, - "memPercent": 1.2 - }, - { - "timestamp": 1769800443444, - "cpuPercent": 6.8, - "memPercent": 1.3 - }, - { - "timestamp": 1769800448457, - "cpuPercent": 6.5, - "memPercent": 1.3 - }, - { - "timestamp": 1769800453452, - "cpuPercent": 6.1, - "memPercent": 1.3 - }, - { - "timestamp": 1769800458476, - "cpuPercent": 5.9, - "memPercent": 1.3 - }, - { - "timestamp": 1769800463467, - "cpuPercent": 5.7, - "memPercent": 1.3 - }, - { - "timestamp": 1769800468474, - "cpuPercent": 5.5, - "memPercent": 1.3 - }, - { - "timestamp": 1769800473485, - "cpuPercent": 5.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800478480, - "cpuPercent": 5.2, - "memPercent": 1.4 - }, - { - "timestamp": 1769800483478, - "cpuPercent": 5.1, - "memPercent": 1.4 - }, - { - "timestamp": 1769800488478, - "cpuPercent": 5, - "memPercent": 1.4 - }, - { - "timestamp": 1769800493485, - "cpuPercent": 4.9, - "memPercent": 1.4 - }, - { - "timestamp": 1769800498482, - "cpuPercent": 4.9, - "memPercent": 1.4 - }, - { - "timestamp": 1769800503490, - "cpuPercent": 4.8, - "memPercent": 1.4 - }, - { - "timestamp": 1769800508476, - "cpuPercent": 4.7, - "memPercent": 1.4 - }, - { - "timestamp": 1769800513479, - "cpuPercent": 4.6, - "memPercent": 1.4 - }, - { - "timestamp": 1769800518478, - "cpuPercent": 4.6, - "memPercent": 1.4 - }, - { - "timestamp": 1769800523499, - "cpuPercent": 4.6, - "memPercent": 1.4 - }, - { - "timestamp": 1769800528501, - "cpuPercent": 4.5, - "memPercent": 1.4 - }, - { - "timestamp": 1769800533512, - "cpuPercent": 4.5, - "memPercent": 1.4 - }, - { - "timestamp": 1769800538504, - "cpuPercent": 4.5, - "memPercent": 1.4 - }, - { - "timestamp": 1769800543504, - "cpuPercent": 4.5, - "memPercent": 1.4 - }, - { - "timestamp": 1769800548504, - "cpuPercent": 4.4, - "memPercent": 1.4 - }, - { - "timestamp": 1769800553509, - "cpuPercent": 4.4, - "memPercent": 1.4 - }, - { - "timestamp": 1769800558525, - "cpuPercent": 4.4, - "memPercent": 1.4 - }, - { - "timestamp": 1769800563510, - "cpuPercent": 4.4, - "memPercent": 1.4 - }, - { - "timestamp": 1769800568510, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800573524, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800578534, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800583517, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800588517, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800593518, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800598571, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800603521, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800608536, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800613550, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800618569, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800623536, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800628536, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800633542, - "cpuPercent": 4.2, - "memPercent": 1.4 - }, - { - "timestamp": 1769800638563, - "cpuPercent": 4.2, - "memPercent": 1.4 - }, - { - "timestamp": 1769800643557, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800648562, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800653556, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800658573, - "cpuPercent": 4.3, - "memPercent": 1.4 - }, - { - "timestamp": 1769800663568, - "cpuPercent": 4.4, - "memPercent": 1.4 - }, - { - "timestamp": 1769800668569, - "cpuPercent": 4.4, - "memPercent": 1.4 - }, - { - "timestamp": 1769800673573, - "cpuPercent": 4.4, - "memPercent": 1.4 - }, - { - "timestamp": 1769800678574, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800683577, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800688564, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800693579, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800698569, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800703568, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800708577, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800713575, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800718594, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800723592, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800728607, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800733626, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800738613, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800743664, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800748673, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800753638, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800758645, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800763644, - "cpuPercent": 4.4, - "memPercent": 1.5 - }, - { - "timestamp": 1769800768649, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800773659, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800778653, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800783652, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800788653, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800793669, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800798676, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800803677, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800808682, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800813714, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800818684, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800823691, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800828686, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800833690, - "cpuPercent": 4.3, - "memPercent": 1.5 - }, - { - "timestamp": 1769800838690, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800843697, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800848715, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800853711, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800858710, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800863714, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800868713, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800873722, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800878727, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800883745, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800888739, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800893742, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800898760, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800903760, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800908750, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800913750, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800918756, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800923771, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800928755, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800933755, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800938774, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800943759, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800948760, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800953760, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800958782, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800963766, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800968766, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800973787, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800978770, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800983770, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800988777, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800993784, - "cpuPercent": 4.2, - "memPercent": 1.5 - }, - { - "timestamp": 1769800998799, - "cpuPercent": 4.2, - "memPercent": 1.5 - } + "cpu": [ + 1.805, + 1131.911, + 420.9089, + 851.5216, + 798.2084, + 1222.0326, + 835.8484 ], - "error_breakdown": {} + "memory": [ + 17.17798614501953, + 27.51868438720703, + 19.160232543945312, + 23.5911865234375, + 19.544578552246094, + 33.026039123535156, + 20.853515625 + ], + "latency": [ + 14, + 4352, + 13, + 12, + 15, + 15, + 14 + ], + "throughput": [ + 1, + 1119, + 1257, + 1356, + 1330, + 1448, + 1345 + ], + "avgSignTime": [ + 0, + 6.01051988318584, + 5.731465363770286, + 5.82640474538752, + 5.684893507148126, + 8.042285998617778, + 5.894615805059483 + ] }, - "bottlenecks": [], - "remediation": [] + "requiresSecurityReview": true } \ No newline at end of file diff --git a/scripts/agent/load-test.mjs b/scripts/agent/load-test.mjs index 5540b7e2..2ce0087e 100644 --- a/scripts/agent/load-test.mjs +++ b/scripts/agent/load-test.mjs @@ -250,6 +250,7 @@ async function runLoadTest() { }; let prevRx = 0; + let prevCpuUsage = process.cpuUsage(); const monitorInterval = setInterval(async () => { const now = Date.now(); @@ -268,6 +269,10 @@ async function runLoadTest() { // Resources const mem = process.memoryUsage().heapUsed / 1024 / 1024; // MB + const cpuUsage = process.cpuUsage(prevCpuUsage); + prevCpuUsage = process.cpuUsage(); + const cpuPercent = (cpuUsage.user + cpuUsage.system) / 10000; // Microseconds to percent (approx for 1s interval) + // Crypto Stats const signTimes = bots.flatMap(b => b.signTimes); // Clear sign times to avoid memory leak and get instantaneous avg @@ -275,12 +280,13 @@ async function runLoadTest() { const avgSign = signTimes.length ? signTimes.reduce((a, b) => a + b, 0) / signTimes.length : 0; // Log - console.log(`[Monitor] Latency: ${latency ?? 'timeout'}ms | RX: ${rxDelta}/s | Mem: ${mem.toFixed(1)}MB | Sign: ${avgSign.toFixed(2)}ms`); + console.log(`[Monitor] Latency: ${latency ?? 'timeout'}ms | RX: ${rxDelta}/s | Mem: ${mem.toFixed(1)}MB | CPU: ${cpuPercent.toFixed(1)}% | Sign: ${avgSign.toFixed(2)}ms`); metrics.timestamps.push(new Date().toISOString()); metrics.latency.push(latency); metrics.throughput.push(rxDelta); metrics.memory.push(mem); + metrics.cpu.push(cpuPercent); metrics.avgSignTime.push(avgSign); }, 1000);