locust 2.32.7.dev18__py3-none-any.whl → 2.32.8__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
locust/_version.py CHANGED
@@ -14,7 +14,7 @@ __version_tuple__: VERSION_TUPLE
14
14
  version_tuple: VERSION_TUPLE
15
15
 
16
16
 
17
- __version__ = "2.32.7.dev18"
17
+ __version__ = "2.32.8"
18
18
  version = __version__
19
- __version_tuple__ = (2, 32, 7, "dev18")
19
+ __version_tuple__ = (2, 32, 8)
20
20
  version_tuple = __version_tuple__
locust/runners.py CHANGED
@@ -1002,7 +1002,7 @@ class MasterRunner(DistributedRunner):
1002
1002
  elif msg.data != __version__ and msg.data != -1:
1003
1003
  if msg.data[0:4] == __version__[0:4]:
1004
1004
  logger.debug(
1005
- f"A worker ({client_id}) running a different patch version ({msg.data}) connected, master version is {__version__}"
1005
+ f"A worker ({client_id}) running a different patch version ({repr(msg.data)}) connected, master version is {repr(__version__)}"
1006
1006
  )
1007
1007
  else:
1008
1008
  logger.warning(
@@ -219,7 +219,7 @@ PERFORMANCE OF THIS SOFTWARE.
219
219
  ${v}:&nbsp${TRe({chartValueFormatter:i,value:g})}
220
220
  </span>
221
221
  `,""):"No data",borderWidth:0},xAxis:s||{type:"time",min:(e.time||[new Date().toISOString()])[0],startValue:(e.time||[])[0],axisLabel:{formatter:CRe}},grid:l||{left:60,right:40},yAxis:wRe({splitAxis:a,yAxisLabels:o}),series:O7({charts:e,lines:r,scatterplot:u}),color:n,toolbox:{right:10,feature:{dataZoom:{title:{zoom:"Zoom Select",back:"Zoom Reset"},yAxisIndex:!1},saveAsImage:{name:t.replace(/\s+/g,"_").toLowerCase()+"_"+new Date().getTime()/1e3,title:"Download as PNG",emphasis:{iconStyle:{textPosition:"left"}}}}}}),MRe=e=>({symbol:"none",label:{formatter:t=>`Run #${t.dataIndex+1}`,padding:[0,0,8,0]},data:(e.markers||[]).map(t=>({xAxis:t}))}),kRe=e=>t=>{const{batch:r}=t;if(!r)return;const[{start:n,startValue:i,end:a}]=r,o=n>0&&a<=100||i>0;e.setOption({dataZoom:[{type:"slider",show:o}]})};function IRe({charts:e,title:t,lines:r,colors:n,chartValueFormatter:i,splitAxis:a,yAxisLabels:o,xAxis:s,grid:l,scatterplot:u,shouldReplaceMergeLines:c=!1}){const[f,d]=$.useState(null),h=fi(({theme:{isDarkMode:g}})=>g),v=$.useRef(null);return $.useEffect(()=>{if(!v.current)return;const g=h1e(v.current);g.setOption(ARe({charts:e,title:t,lines:r,colors:n,chartValueFormatter:i,splitAxis:a,yAxisLabels:o,xAxis:s,grid:l,scatterplot:u})),g.on("datazoom",kRe(g));const y=()=>g.resize();return window.addEventListener("resize",y),g.group="swarmCharts",p1e("swarmCharts"),d(g),()=>{v1e(g),window.removeEventListener("resize",y)}},[v]),$.useEffect(()=>{const g=r.every(({key:y})=>!!e[y]);f&&g&&f.setOption({series:r.map(({key:y,yAxisIndex:x,...S},b)=>({...S,data:e[y],...a?{yAxisIndex:x||b}:{},...b===0?{markLine:MRe(e)}:{}}))})},[e,f,r]),$.useEffect(()=>{if(f){const{textColor:g,axisColor:y,backgroundColor:x,splitLine:S}=h?KF.DARK:KF.LIGHT;f.setOption({backgroundColor:x,textStyle:{color:g},title:{textStyle:{color:g}},legend:{icon:"circle",inactiveColor:g,textStyle:{color:g}},tooltip:{backgroundColor:x,textStyle:{color:g}},xAxis:{axisLine:{lineStyle:{color:y}}},yAxis:{axisLine:{lineStyle:{color:y}},splitLine:{lineStyle:{color:S}}}})}},[f,h]),$.useEffect(()=>{f&&f.setOption({series:O7({charts:e,lines:r,scatterplot:u})},c?{replaceMerge:["series"]}:void 0)},[r]),z.jsx("div",{ref:v,style:{width:"100%",height:"300px"}})}function PRe(){const{data:e,refetch:t}=Mde(),r=Xo(iv.setUi),n=fi(({swarm:a})=>a.state),i=n===bn.SPAWNING||n==bn.RUNNING;$.useEffect(()=>{e&&r({ratios:e})},[e]),Yx(t,5e3,{shouldRunInterval:i,immediate:!0})}const DRe=2e3;function RRe(){const e=Xo(pk.setSwarm),t=Xo(iv.setUi),r=Xo(iv.updateCharts),n=Xo(iv.updateChartMarkers),i=fi(({swarm:f})=>f),a=$.useRef(i.state),[o,s]=$.useState(!1),{data:l,refetch:u}=Ade(),c=i.state===bn.SPAWNING||i.state==bn.RUNNING;$.useEffect(()=>{if(!l)return;const{state:f,currentResponseTimePercentiles:d,extendedStats:h,stats:v,errors:g,totalRps:y,totalFailPerSec:x,failRatio:S,workers:b,userCount:w,totalAvgResponseTime:T}=l,C=new Date().toISOString();o&&(s(!1),n(C));const M=Ep(y,2),k=Ep(x,2),I=Ep(S*100),R={...Object.entries(d).reduce((L,[O,N])=>({...L,[O]:[C,N||0]}),{}),currentRps:[C,M],currentFailPerSec:[C,k],totalAvgResponseTime:[C,Ep(T,2)],userCount:[C,w],time:C};t({extendedStats:h,stats:v,errors:g,totalRps:M,failRatio:I,workers:b,userCount:w}),r(R),e({state:f})},[l]),Yx(u,DRe,{shouldRunInterval:c}),$.useEffect(()=>{i.state===bn.RUNNING&&a.current===bn.STOPPED&&s(!0),a.current=i.state},[i.state,a])}function ERe(){const{data:e,refetch:t}=kde(),r=Xo(iv.setUi),n=fi(({swarm:a})=>a.state),i=n===bn.SPAWNING||n==bn.RUNNING;$.useEffect(()=>{e&&r({exceptions:e.exceptions})},[e]),Yx(t,5e3,{shouldRunInterval:i,immediate:!0})}function LRe(){return ERe(),z.jsx(phe,{})}const ORe=[{key:"occurrences",title:"# Failures"},{key:"method",title:"Method"},{key:"name",title:"Name"},{key:"error",title:"Message",markdown:!0}];function NRe({errors:e}){return z.jsx(Tg,{rows:e,structure:ORe})}const zRe=({ui:{errors:e}})=>({errors:e}),BRe=Ii(zRe)(NRe),FRe=`
222
- Ready to take your load tests to the next level? With [Locust Cloud](locust.cloud), we take care of everything!
222
+ Ready to take your load tests to the next level? With [Locust Cloud](https://locust.cloud), we take care of everything!
223
223
 
224
224
 
225
225
  Whether your doing small load, or needing to generate millions of requests, we take care of the
@@ -8,7 +8,7 @@
8
8
  <meta name="theme-color" content="#000000" />
9
9
 
10
10
  <title>{{ auth_title | default("Locust") }}</title>
11
- <script type="module" crossorigin src="./assets/index-CmqwOkja.js"></script>
11
+ <script type="module" crossorigin src="./assets/index-DnScW665.js"></script>
12
12
  </head>
13
13
  <body>
14
14
  <div id="root"></div>
@@ -8,7 +8,7 @@
8
8
  <meta name="theme-color" content="#000000" />
9
9
 
10
10
  <title>Locust</title>
11
- <script type="module" crossorigin src="./assets/index-CmqwOkja.js"></script>
11
+ <script type="module" crossorigin src="./assets/index-DnScW665.js"></script>
12
12
  </head>
13
13
  <body>
14
14
  <div id="root"></div>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: locust
3
- Version: 2.32.7.dev18
3
+ Version: 2.32.8
4
4
  Summary: Developer-friendly load testing framework
5
5
  Home-page: https://locust.io/
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  locust/__init__.py,sha256=aWeuBPUxONjwNm1xp4v8L4BO14SuYLjscIiwJVX1Ui4,1746
2
2
  locust/__main__.py,sha256=vBQ82334kX06ImDbFlPFgiBRiLIinwNk3z8Khs6hd74,31
3
- locust/_version.py,sha256=R48Svevp0FRFvXMplx2z7mhqh8ymDrkCBMfIq2ZqRaE,460
3
+ locust/_version.py,sha256=RzZVGkA55ULWOWsiXj3UA89DUkxewkpy2RyfAMHBUos,445
4
4
  locust/argument_parser.py,sha256=7H95Bd9f9T3LisQDG6o_7XM1iG-ibpKpmhcPDHRW570,32475
5
5
  locust/clients.py,sha256=XK-xabq2_5GZKMEjebDobvEjeBTtCs8h2EelL7s68Qs,19346
6
6
  locust/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -20,7 +20,7 @@ locust/py.typed,sha256=gkWLl8yD4mIZnNYYAIRM8g9VarLvWmTAFeUfEbxJLBw,65
20
20
  locust/rpc/__init__.py,sha256=5YOu-58XSnt-oWWNATgXLTNdYoDkkngwHNXprxkWKSM,99
21
21
  locust/rpc/protocol.py,sha256=n-rb3GZQcAlldYDj4E4GuFGylYj_26GSS5U29meft5Y,1282
22
22
  locust/rpc/zmqrpc.py,sha256=tMeLQiLII8QP29lAHGZsj5Pf5FsTL-X4wM0DrtR3ALw,3214
23
- locust/runners.py,sha256=zWgnNrSfuNrsFd84WO7OKiwpE-Cd0wxyoIUI4hYxZhE,70603
23
+ locust/runners.py,sha256=6qmIl2eWOsx40Pf_xq0apR1XTKL1eGAZYTfvTHmYIvg,70615
24
24
  locust/shape.py,sha256=t-lwBS8LOjWcKXNL7j2U3zroIXJ1b0fazUwpRYQOKXw,1973
25
25
  locust/stats.py,sha256=Ylw-uyt3cpeqy0Oi5kvcloVWgjJm62lu9lbWJfq2lHU,46061
26
26
  locust/user/__init__.py,sha256=RgdRCflP2dIDcvwVMdhPQHAMhWVwQarQ9wWjF9HKk0w,151
@@ -44,15 +44,15 @@ locust/webui/dist/assets/favicon-dark.png,sha256=6zVkRtiRfU45qQGvEhf1cq2nNauFs_J
44
44
  locust/webui/dist/assets/favicon-light.png,sha256=VdG2GZyeTCOML7xfievupBP4EhmHoUqlVCw-tXqkvxU,2468
45
45
  locust/webui/dist/assets/graphs-dark.png,sha256=_nS7sWe2ozG1vb3Gy_3Qv6bE0-xxlAvnRlxvDyBCIR0,282277
46
46
  locust/webui/dist/assets/graphs-light.png,sha256=7L6pOehXqCojQclzeP91l-LskFQAw_nKbYOdFKvDWPQ,348913
47
- locust/webui/dist/assets/index-CmqwOkja.js,sha256=pUNAushGTzerIV4yVPj9o6YkIYvhRi7rhR3lD8J9VeY,1680687
47
+ locust/webui/dist/assets/index-DnScW665.js,sha256=wGpn9anGhaCOR9lDkKJtEvLqrNujbWOS31mlPdRsFhU,1680695
48
48
  locust/webui/dist/assets/testruns-dark.png,sha256=np6MvpgJ2gkKQ66SOmukLtjsMtHqTSr5dNfza-2XtCo,267621
49
49
  locust/webui/dist/assets/testruns-light.png,sha256=iLAxBZh3kRsfGkcB1-1KSAbFgGji43IqiUrYuJlUoPk,276839
50
- locust/webui/dist/auth.html,sha256=OjTZsBfY65snuLZEkQYMXPgEBH0lE3gTz_8IsqQZiQI,678
51
- locust/webui/dist/index.html,sha256=fNv3WMvZTNWQlt13m8T5EJu0qJjFArlrxz0buvmB5UQ,654
50
+ locust/webui/dist/auth.html,sha256=3oyTf_gQkVvdO2WHkjQm-x24iusdhgHo2-l50XvmF4g,678
51
+ locust/webui/dist/index.html,sha256=1cDsi3fre0ZDOftd58U2KGHALAhfXYaXQFpHufvUzO8,654
52
52
  locust/webui/dist/report.html,sha256=j-a-asUn3fP0Mz7-XFWpjqwjIZSaYWJpn8a2nk5wB0s,1474613
53
53
  poetry.lock,sha256=jpNQ61wRdb0aYe9pOanLK9xtROAx-nx7DVB_xlGqHeQ,214415
54
- locust-2.32.7.dev18.dist-info/LICENSE,sha256=5hnz-Vpj0Z3kSCQl0LzV2hT1TLc4LHcbpBp3Cy-EuyM,1110
55
- locust-2.32.7.dev18.dist-info/METADATA,sha256=WMnLd7jsUpYUG1kfOqOQUkwF8jrc265Q_0GWuXQShas,9990
56
- locust-2.32.7.dev18.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
57
- locust-2.32.7.dev18.dist-info/entry_points.txt,sha256=RhIxlLwU_Ae_WjimS5COUDLagdCh6IOMyLtgaQxNmlM,43
58
- locust-2.32.7.dev18.dist-info/RECORD,,
54
+ locust-2.32.8.dist-info/LICENSE,sha256=5hnz-Vpj0Z3kSCQl0LzV2hT1TLc4LHcbpBp3Cy-EuyM,1110
55
+ locust-2.32.8.dist-info/METADATA,sha256=3bnlRec9kKg0ITgyMr8qjZd086xpsiktZLcTZi1zBLk,9984
56
+ locust-2.32.8.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
57
+ locust-2.32.8.dist-info/entry_points.txt,sha256=RhIxlLwU_Ae_WjimS5COUDLagdCh6IOMyLtgaQxNmlM,43
58
+ locust-2.32.8.dist-info/RECORD,,