Re: Compilation errors, how skip autostyle check ?
>How skip the autostyle check ? Please use -PskipAutostyle An alternative option is to download the sources via git clone ... Or execute ./gradlew autostyleApply (from within buildSrc directory first) to fix line endings. Vladimir
Compilation errors, how skip autostyle check ?
Hi, I download the current version of JMeter (the 16 april 2020) in a zip file format from github master. How skip the autostyle check ? When i try to compile with gradle tool, i have this errors : D:\usr\vdaburon\dev\github\jmeter_pacing\jmeter-master>gradlew.bat runGui > Task :buildSrc:autostyleKotlinGradleCheck FAILED > Task :buildSrc:batchtest:autostyleKotlinCheck FAILED checksum-dependency elapsed time: 2410ms, configurations processed: 14 (add -PchecksumTimingsPrint to print detailed timings) FAILURE: Build completed with 2 failures. 1: Task failed with an exception. --- * What went wrong: Execution failed for task ':buildSrc:autostyleKotlinGradleCheck'. > The following files have format violations: build.gradle.kts @@ -1,77 +1,77 @@ -/*\n - * Licensed to the Apache Software Foundation (ASF) under one or more\n - * contributor license agreements. See the NOTICE file distributed with\n - * this work for additional information regarding copyright ownership.\n - * The ASF licenses this file to You under the Apache License, Version 2.0\n - * (the "License"); you may not use this file except in compliance with\n - * the License. You may obtain a copy of the License at\n ... -\n -@Input\n -val testName = objects.property()\n ... (378 more lines that didn't fit) Violations also present in: subprojects\batchtest\src\main\kotlin\org\apache\jmeter\buildtools\batchtest\BatchtestPlugin.kt subprojects\batchtest\src\main\kotlin\org\apache\jmeter\buildtools\batchtest\BatchTestServer.kt subprojects\batchtest\src\main\kotlin\org\apache\jmeter\buildtools\batchtest\WriterExtensions.kt You might want to adjust -PmaxCheckMessageLines=50 -PmaxFilesToList=10 -PminLinesPerFile=4 to see more violations Run './gradlew autostyleApply' to fix the violations. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. == * Get more help at https://help.gradle.org Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/6.3/userguide/command_line_interface.html#sec:command_line_warnings BUILD FAILED in 8s Regards. Vincent DAB.
Re: Add pacing feature
Hi, I put images on this topic https://groups.google.com/forum/#!topic/ptgram24/f2OVAIWazl8 Regards. Vincent DAB. Le jeu. 16 avr. 2020 à 14:45, Vincent Daburon a écrit : > Hi, > When you make load test with load steps, the pacing is useful. > 1st step 50% of the load > 2sd step 100% of the load > 3thd step 150% of the load > > [image: Active_Threads_ALL_Over_Time.png] > > The pacing for an iteration is constant and the number of samplers is > proportional to the number of threads even with a response time degradation. > > The degradation in response times by the increase in the number of people > is normal but the rhythm (pacing) is always constant and therefore the > number of iterations per thread is constant. > > It's more easy to response to the question : > Does the system could accept 1000 functional actions by hour (2sd step > 100% load) ? > > Currently i use groovy script to compute a pacing. > > First sampler in the scenario a groovy script : > vars.put("V_PACING_START_ITER_MILLISEC","" + System.currentTimeMillis()); > > at the end of the scenario a groovy script with a parameter > ${K_PACING_ITER_SEC} ex : 60 sec > String sPACING_ITER_SEC = args[0]; > long lParcingIterSec = Long.parseLong(sPACING_ITER_SEC); > String sPACING_START_ITER_MILLISEC = > vars.get("V_PACING_START_ITER_MILLISEC"); > long lStartIter = Long.parseLong(sPACING_START_ITER_MILLISEC); > > long lCurrentTime = System.currentTimeMillis(); > long lDurationIter = lCurrentTime - lStartIter; > > long lWaitPacing = (lParcingIterSec * 1000) - lDurationIter; > > if (lWaitPacing <= 0) { > lWaitPacing = 0; > } > vars.put("V_PACING_ITER_WAIT", "" + lWaitPacing); > > and > Flow Control Action Pause with > pause : ${V_PACING_ITER_WAIT} > > but when an errror is detected if the thead group is configured with > "start nex thread loop" the pacing is not compute. > > Regards. > Vincent DAB. > > Le jeu. 16 avr. 2020 à 13:54, Vincent Daburon a > écrit : > >> Hi >> a little schema to explain the pacing for an iteration for 1 thread >> The waiting time to complete the pacing is a dynamic waiting time. >> [image: schema_pacing_v1.png] >> >> Regards. >> Vincent DAB. >> >> Le jeu. 16 avr. 2020 à 13:32, Vladimir Sitnikov < >> sitnikov.vladi...@gmail.com> a écrit : >> >>> Philippe>- you don’t have a requirement of number of execution per minute >>> >>> How do you compute "pacing" then? :) >>> I guess you almost always have something on the number of scenarios per >>> hour :) >>> >>> Philippe>How do you avoid a burst in the first steps (the one before >>> failure) of >>> Philippe>your scenario when errors start to happen, ie abnormal increase >>> of >>> Home >>> Philippe>Page calls or login process? >>> >>> If you configure Precise Throughput Timer, then it would ensure the >>> scenarios are not launched more often >>> than the configured throughput. >>> For instance, if you configure PTT rate == 10 per hour, then it would not >>> allow threads to pass the timer more >>> often than 10 per hour no matter if the new iteration is caused by error >>> or >>> not. >>> >>> Philippe>If we had notion of try/finally >>> >>> That is a slightly different topic, and I agree it would be great to add >>> something for try-catch. >>> >>> Vladimir >>> >>
Re: Add pacing feature
Hi, When you make load test with load steps, the pacing is useful. 1st step 50% of the load 2sd step 100% of the load 3thd step 150% of the load [image: Active_Threads_ALL_Over_Time.png] The pacing for an iteration is constant and the number of samplers is proportional to the number of threads even with a response time degradation. The degradation in response times by the increase in the number of people is normal but the rhythm (pacing) is always constant and therefore the number of iterations per thread is constant. It's more easy to response to the question : Does the system could accept 1000 functional actions by hour (2sd step 100% load) ? Currently i use groovy script to compute a pacing. First sampler in the scenario a groovy script : vars.put("V_PACING_START_ITER_MILLISEC","" + System.currentTimeMillis()); at the end of the scenario a groovy script with a parameter ${K_PACING_ITER_SEC} ex : 60 sec String sPACING_ITER_SEC = args[0]; long lParcingIterSec = Long.parseLong(sPACING_ITER_SEC); String sPACING_START_ITER_MILLISEC = vars.get("V_PACING_START_ITER_MILLISEC"); long lStartIter = Long.parseLong(sPACING_START_ITER_MILLISEC); long lCurrentTime = System.currentTimeMillis(); long lDurationIter = lCurrentTime - lStartIter; long lWaitPacing = (lParcingIterSec * 1000) - lDurationIter; if (lWaitPacing <= 0) { lWaitPacing = 0; } vars.put("V_PACING_ITER_WAIT", "" + lWaitPacing); and Flow Control Action Pause with pause : ${V_PACING_ITER_WAIT} but when an errror is detected if the thead group is configured with "start nex thread loop" the pacing is not compute. Regards. Vincent DAB. Le jeu. 16 avr. 2020 à 13:54, Vincent Daburon a écrit : > Hi > a little schema to explain the pacing for an iteration for 1 thread > The waiting time to complete the pacing is a dynamic waiting time. > [image: schema_pacing_v1.png] > > Regards. > Vincent DAB. > > Le jeu. 16 avr. 2020 à 13:32, Vladimir Sitnikov < > sitnikov.vladi...@gmail.com> a écrit : > >> Philippe>- you don’t have a requirement of number of execution per minute >> >> How do you compute "pacing" then? :) >> I guess you almost always have something on the number of scenarios per >> hour :) >> >> Philippe>How do you avoid a burst in the first steps (the one before >> failure) of >> Philippe>your scenario when errors start to happen, ie abnormal increase >> of >> Home >> Philippe>Page calls or login process? >> >> If you configure Precise Throughput Timer, then it would ensure the >> scenarios are not launched more often >> than the configured throughput. >> For instance, if you configure PTT rate == 10 per hour, then it would not >> allow threads to pass the timer more >> often than 10 per hour no matter if the new iteration is caused by error >> or >> not. >> >> Philippe>If we had notion of try/finally >> >> That is a slightly different topic, and I agree it would be great to add >> something for try-catch. >> >> Vladimir >> >
Re: Add pacing feature
>[image: schema_pacing_v1.png] Unfortunately, the images are not yet enabled in this mailing list. I've filed https://issues.apache.org/jira/browse/INFRA-20125 to fix that. Could you please upload the image to gist.github.com or something like that in the mean time? Vladimir
Re: Add pacing feature
Hi a little schema to explain the pacing for an iteration for 1 thread The waiting time to complete the pacing is a dynamic waiting time. [image: schema_pacing_v1.png] Regards. Vincent DAB. Le jeu. 16 avr. 2020 à 13:32, Vladimir Sitnikov a écrit : > Philippe>- you don’t have a requirement of number of execution per minute > > How do you compute "pacing" then? :) > I guess you almost always have something on the number of scenarios per > hour :) > > Philippe>How do you avoid a burst in the first steps (the one before > failure) of > Philippe>your scenario when errors start to happen, ie abnormal increase of > Home > Philippe>Page calls or login process? > > If you configure Precise Throughput Timer, then it would ensure the > scenarios are not launched more often > than the configured throughput. > For instance, if you configure PTT rate == 10 per hour, then it would not > allow threads to pass the timer more > often than 10 per hour no matter if the new iteration is caused by error or > not. > > Philippe>If we had notion of try/finally > > That is a slightly different topic, and I agree it would be great to add > something for try-catch. > > Vladimir >
Re: Add pacing feature
Philippe>- you don’t have a requirement of number of execution per minute How do you compute "pacing" then? :) I guess you almost always have something on the number of scenarios per hour :) Philippe>How do you avoid a burst in the first steps (the one before failure) of Philippe>your scenario when errors start to happen, ie abnormal increase of Home Philippe>Page calls or login process? If you configure Precise Throughput Timer, then it would ensure the scenarios are not launched more often than the configured throughput. For instance, if you configure PTT rate == 10 per hour, then it would not allow threads to pass the timer more often than 10 per hour no matter if the new iteration is caused by error or not. Philippe>If we had notion of try/finally That is a slightly different topic, and I agree it would be great to add something for try-catch. Vladimir
Re: Add pacing feature
Hello, What about following use case: - You have a number of virtual users running a scenario which is composed of 30 steps related through correlation of ids - You set thread group to Start next thread loop on error - you don’t have a requirement of number of execution per minute How do you avoid a burst in the first steps (the one before failure) of your scenario when errors start to happen, ie abnormal increase of Home Page calls or login process? If we had notion of try/finally, it could be doable and solve also other requirements like ensuring a session is disconnected even if error occurs Regards On Thursday, April 16, 2020, Antonio Gomes Rodrigues wrote: > Hi, > > Pacing is used in Neoload, Loadruner... > > But I am agree with Vladimir, we can use "Precise Throughput Timer" and > "Constant Throughput Timer" > > > Le jeu. 16 avr. 2020 à 12:53, Vladimir Sitnikov < > sitnikov.vladi...@gmail.com> > a écrit : > > > Hi, > > > > >For 3 years I have been using the notion of Pacing an iteration to > > >facilitate the modeling of the load and also because it is very > practical > > >when we are doing loads with load steps > > > > Can you please clarify how pacing makes it practical? > > > > For instance, I have never faced a case when the non-functional > > requirements are expressed in terms of "pacing". > > > > I often see non-functional requirements like "100 requests per hour", > > "200 concurrent users, each making requests as fast as possible", > > "300 concurrent users producing 50 requests per hour", and so on. > > However, none of the above is like "5sec pacing". > > > > >The pacing could be declare in a new Thread Group field and/or in a new > > >component > > > > Have you checked "Precise Throughput Timer" and "Constant Throughput > Timer" > > ? > > A single timer like that at the beginning of the plan could be used to > > emulate "pacing". > > > > Vladimir > > > -- Cordialement. Philippe Mouawad.
Re: Add pacing feature
Hi, Pacing is used in Neoload, Loadruner... But I am agree with Vladimir, we can use "Precise Throughput Timer" and "Constant Throughput Timer" Le jeu. 16 avr. 2020 à 12:53, Vladimir Sitnikov a écrit : > Hi, > > >For 3 years I have been using the notion of Pacing an iteration to > >facilitate the modeling of the load and also because it is very practical > >when we are doing loads with load steps > > Can you please clarify how pacing makes it practical? > > For instance, I have never faced a case when the non-functional > requirements are expressed in terms of "pacing". > > I often see non-functional requirements like "100 requests per hour", > "200 concurrent users, each making requests as fast as possible", > "300 concurrent users producing 50 requests per hour", and so on. > However, none of the above is like "5sec pacing". > > >The pacing could be declare in a new Thread Group field and/or in a new > >component > > Have you checked "Precise Throughput Timer" and "Constant Throughput Timer" > ? > A single timer like that at the beginning of the plan could be used to > emulate "pacing". > > Vladimir >
Re: Add pacing feature
Hi, >For 3 years I have been using the notion of Pacing an iteration to >facilitate the modeling of the load and also because it is very practical >when we are doing loads with load steps Can you please clarify how pacing makes it practical? For instance, I have never faced a case when the non-functional requirements are expressed in terms of "pacing". I often see non-functional requirements like "100 requests per hour", "200 concurrent users, each making requests as fast as possible", "300 concurrent users producing 50 requests per hour", and so on. However, none of the above is like "5sec pacing". >The pacing could be declare in a new Thread Group field and/or in a new >component Have you checked "Precise Throughput Timer" and "Constant Throughput Timer" ? A single timer like that at the beginning of the plan could be used to emulate "pacing". Vladimir