[GitHub] jmeter issue #439: Fix 63055
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/439 Hello @artem-fedorov , Can you provide a documentation of new property, it's in properties_reference.xml and we also usually add it commented to jmeter.properties. Thanks ---
[GitHub] jmeter issue #429: Fix 62887. Customized SampleLabel is ignored and overwrit...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/429 Hello @artem-fedorov , There seem to be a place for this PR amended for users that use JMeter for functional testing as per the 2 last comments in: - https://bz.apache.org/bugzilla/show_bug.cgi?id=63055 Would you be ready to amend your PR to have old behaviour only if: - Test Plan has checked "Functional Test Mode" - There is a property "functional_mode=true" Thanks ---
[GitHub] jmeter issue #438: Try running on java-ea for travis builds.
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/438 Hi Felix, Since you're working on this. I see that when when we use openjdk11, we have those warnings: warning: [options] bootstrap class path not set in conjunction with -source 8 Shouldn't we set source and target to 11 ? Regards ---
[GitHub] jmeter issue #438: Try running on java-ea for travis builds.
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/438 +1 ---
[GitHub] jmeter issue #437: Native properties
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/437 +1, Thanks ---
[GitHub] jmeter pull request #436: Bug 62959 - Ability to create a Test plan from a c...
GitHub user pmouawad opened a pull request: https://github.com/apache/jmeter/pull/436 Bug 62959 - Ability to create a Test plan from a cURL command POC contributed by https://ubikloadpack.com ## Description This is a POC for Bug 62959 - Ability to create a Test plan from a Curl command ## Motivation and Context See: - https://bz.apache.org/bugzilla/show_bug.cgi?id=62959 ## How Has This Been Tested? Unit test included + Manual testing. Still it's not intended to be merged unless marked as alpha ## Screenshots (if appropriate): Copy to clipboard this or use any URL in FF or Chrome and in network panel select export to cURL : ` curl 'http://jmeter.apache.org/' -H 'Proxy-Connection: keep-alive' -H 'Proxy-Authorization: Basic X/' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Mobile Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.9,fr;q=0.8' --compressed ` Then select Help > Import from cURL: https://user-images.githubusercontent.com/3127467/49117269-6e0f8480-f2a0-11e8-923a-9a3da56da3f8.png";> A Test plan for HTTP is created: https://user-images.githubusercontent.com/3127467/49117312-867f9f00-f2a0-11e8-9acb-8f80ff460225.png";> Note that this is a POC, possible changes: - Propose an text area where use can paste cURL command and then import - If Test plan is empty a new one is created - Otherwise, if it contains a Thread Group, the HTTP Request will be created under the selected element if Controller or Thread Group ## Types of changes - New feature (non-breaking change which adds functionality) ## Checklist: - [x ] My code follows the [code style][style-guide] of this project. - [ ] I have updated the documentation accordingly => Will do in future [style-guide]: https://wiki.apache.org/jmeter/CodeStyleGuidelines You can merge this pull request into a Git repository by running: $ git pull https://github.com/ubikloadpack/jmeter BUG-62959 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/jmeter/pull/436.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #436 commit e2a2fd8c625b789908e3bcf12c1c753753326375 Author: pmouawad Date: 2018-11-27T22:53:52Z Bug 62959 - Ability to create a Test plan from a cURL command POC contributed by https://ubikloadpack.com ---
[GitHub] jmeter issue #432: Bug 62870 / Templates : Add ability to provide parameters
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/432 Hello, I'll be merging it today. Regards ---
[GitHub] jmeter issue #434: Truncate response message to avoid too large udp package ...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/434 agreed ---
[GitHub] jmeter issue #432: Bug 62870 / Templates : Add ability to provide parameters
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/432 Hello Felix, I have committed the fixes following your review. Let me know if you will commit the PR (which I would prefer), otherwise I'll do it. Thanks Regards ---
[GitHub] jmeter issue #429: Fix 62887. Customized SampleLabel is ignored and overwrit...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/429 @artem-fedorov , Yes if the are in the test plan. No guarantee if they are automatically handled by resources download and it is done in parallel, but since 5.0, we add the URL in the CSV to disambiguate ---
[GitHub] jmeter pull request #434: Truncate response message to avoid too large udp p...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/434#discussion_r235892281 --- Diff: src/components/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbBackendListenerClient.java --- @@ -196,12 +196,18 @@ private void addMetrics(String transaction, SamplerMetric metric) { } private void addErrorMetric(String transaction, String responseCode, String responseMessage, long count) { +final int MAX_RES_CODE_LENGTH_FOR_UDP = 50; --- End diff -- I think this should be a property. Can you point me to the reference that mentions 50 ? Thank you ---
[GitHub] jmeter issue #429: Fix 62887. Customized SampleLabel is ignored and overwrit...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/429 Hi @artem-fedorov, Is it ok if we stay as we are ? Reporter of issue says itâs ok for him. Do you see any issue on your side that would need a fix ? Thanks ---
[GitHub] jmeter issue #433: Bug 62935. Pass custom 'mail.*' properties to Mail Reader...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/433 Iâll try to merge it this evening. So hopefully yes Thanks for your patience and contribution ---
[GitHub] jmeter issue #432: Bug 62870 / Templates : Add ability to provide parameters
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/432 Hi Felix, Youâre right. Take your time Sorry, I am always impatient guy :) Regards ---
[GitHub] jmeter issue #432: Bug 62870 / Templates : Add ability to provide parameters
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/432 Hello Team, The PR looks good to me, tested on Mac OSX. Anybody willing to commit it ? I can take in charge , but I would prefer somebody else reviewing it. If no feedback by tomorrow evening, I'll commit it. Thanks ---
[GitHub] jmeter pull request #413: Enhancement 62829 - Allow specifying proxy scheme ...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/413#discussion_r23521 --- Diff: docs/usermanual/get-started.html --- @@ -930,6 +930,11 @@ 1.4.3 Using JMeter behind a proxy + --- End diff -- To update documentation, update xdocs/usermanual/get-started.xml as html are generated from xml, thanks ---
[GitHub] jmeter pull request #413: Enhancement 62829 - Allow specifying proxy scheme ...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/413#discussion_r23500 --- Diff: src/core/org/apache/jmeter/JMeter.java --- @@ -746,13 +751,15 @@ private void setProxy(CLArgsParser parser) throws IllegalUserActionException { } } if (parser.getArgumentById(PROXY_HOST) != null && parser.getArgumentById(PROXY_PORT) != null) { +String scheme = parser.getArgumentById(PROXY_SCHEME).getArgument(); String h = parser.getArgumentById(PROXY_HOST).getArgument(); String p = parser.getArgumentById(PROXY_PORT).getArgument(); +System.setProperty("http.proxyScheme", scheme );// $NON-NLS-1$ --- End diff -- Should be set only if not blank/null ---
[GitHub] jmeter issue #413: Enhancement 62829 - Allow specifying proxy scheme to use
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/413 Thanks for updating your PR to add the cmd line option. Yes french labels are also mandatory, can you update it (I would correct it if needed) so that we see if all tests pass. Once done, weâll merge it. Thanks for contributing ! ---
[GitHub] jmeter issue #431: Class#newInstance deprecation with Java 9
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/431 Hello Felix, I guess this is a first step before generalization ? As I see other places in code where newInstance() is used. Regards ---
[GitHub] jmeter issue #429: Fix 62887. Customized SampleLabel is ignored and overwrit...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/429 Thanks Artem for the PR, but I don't understand it. It seems to me it breaks what has been modified in 5.0. ---
[GitHub] jmeter pull request #429: Fix 62887. Customized SampleLabel is ignored and o...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/429#discussion_r232387245 --- Diff: bin/testfiles/HTMLParserTestFile_2.xml --- @@ -10,7 +10,7 @@ file:testfiles/HTMLParserTestFile_2.html - --- End diff -- Same note here ---
[GitHub] jmeter pull request #429: Fix 62887. Customized SampleLabel is ignored and o...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/429#discussion_r232387123 --- Diff: bin/testfiles/Bug52310.xml --- @@ -2,16 +2,16 @@ - --- End diff -- I don't understand why this test result is modified. The result should be numbered sub results no ? ---
[GitHub] jmeter pull request #429: Fix 62887. Customized SampleLabel is ignored and o...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/429#discussion_r232387286 --- Diff: bin/testfiles/HTMLParserTestFile_2.xml --- @@ -10,7 +10,7 @@ file:testfiles/HTMLParserTestFile_2.html - + --- End diff -- Same note here ---
[GitHub] jmeter pull request #429: Fix 62887. Customized SampleLabel is ignored and o...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/429#discussion_r232387592 --- Diff: bin/testfiles/TEST_HTTP_HttpClient4.xml --- @@ -144,7 +144,7 @@ - --- End diff -- I don't understand this modification. Why 20 instead of 21 ? ---
[GitHub] jmeter pull request #429: Fix 62887. Customized SampleLabel is ignored and o...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/429#discussion_r232387619 --- Diff: bin/testfiles/TEST_HTTP_Java.xml --- @@ -120,7 +120,7 @@ - --- End diff -- Same note here ---
[GitHub] jmeter issue #397: fix double requests when configure proxy with authenticat...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/397 Hi Team, Anybody had a chance to test this behind a proxy and under regular conditions ? Thanks ---
[GitHub] jmeter issue #413: Enhancement 62829 - Allow specifying proxy scheme to use
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/413 Thanks for patch update. Thinking more about it **and to be coherent** we should also add this as a command line option as per: - http://jmeter.apache.org/usermanual/get-started.html#proxy_server Do you think you can update your PR ? Thanks ---
[GitHub] jmeter pull request #413: Enhancement 62829 - Allow specifying proxy scheme ...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/413#discussion_r228741947 --- Diff: src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java --- @@ -1037,7 +1044,7 @@ private CloseableHttpClient setupClient(JMeterVariables jMeterVariables, URL url // Set up proxy details if(useProxy) { -HttpHost proxy = new HttpHost(proxyHost, proxyPort); +HttpHost proxy = new HttpHost(proxyHost, proxyPort, proxyScheme); --- End diff -- If proxyScheme is empty, then it should be passed as null so that default (HTTP) is used. ---
[GitHub] jmeter issue #406: Document usage of a security manager for remote tests
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/406 +1 Thanks ---
[GitHub] jmeter issue #409: Cleanup saveservice
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/409 +1 Thanks ---
[GitHub] jmeter issue #408: Display an info message, when no JavaFX is found and Rend...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/408 +1 Should you test «.javafx. » instead of only javafx? Thanks ---
[GitHub] jmeter issue #405: Use SHA-512 checksums instead of MD5 to verify jar downlo...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/405 +1 Thanks ---
[GitHub] jmeter issue #399: Fix undefined disabled icon
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/399 Thanks for PR. We'll merge it once version 5.0 is released. Regards ---
[GitHub] jmeter pull request #397: fix double requests when configure proxy with auth...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/397#discussion_r214180268 --- Diff: src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java --- @@ -574,10 +574,12 @@ protected HTTPSampleResult sample(URL url, String method, handleMethod(method, res, httpRequest, localContext); // store the SampleResult in LocalContext to compute connect time localContext.setAttribute(CONTEXT_ATTRIBUTE_SAMPLER_RESULT, res); +Object proxy = jMeterVariables.getObject(HttpClientContext.PROXY_AUTH_STATE + this); --- End diff -- When recording , jMeterVariables is null. So this code would trigger NPE ---
[GitHub] jmeter pull request #397: fix double requests when configure proxy with auth...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/397#discussion_r213465187 --- Diff: src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java --- @@ -574,10 +574,12 @@ protected HTTPSampleResult sample(URL url, String method, handleMethod(method, res, httpRequest, localContext); // store the SampleResult in LocalContext to compute connect time localContext.setAttribute(CONTEXT_ATTRIBUTE_SAMPLER_RESULT, res); +Object proxy = jMeterVariables.getObject("http.auth.proxy-scope" + this); --- End diff -- It would be better to use HttpClientContext.PROXY_AUTH_STATE ---
[GitHub] jmeter issue #389: Open different RemoteObjects on different ports.
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/389 This looks good to me. Thanks ---
[GitHub] jmeter issue #393: Jmeter 2.4.x
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/393 Hello, What is the purpose of this Pr ? It looks like itâs empty. Can you close it please ? Thank you ---
[GitHub] jmeter issue #390: Update mongo-java-driver version
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/390 Hi Felix, My opinion is that if you did the upgrade itâs ok to break old plan provided we clearly state we did this. It is fair that we upgrade now a very old version of MongoDB API and drop deprecated code. I think we had some complaints about this very old driver version, missing new auth methods both on mailing list and surely on stackoverflow. So it will be a good thing to upgrade. Regards ---
[GitHub] jmeter issue #356: Sonar fixes
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/356 Hello @ham1 , I hope you're fine. Thanks for this PR which took some time to be taken into account. It now conflicts with a lot of files so it would be nice if you could rebase it. Anyway, I suggest for easier& faster integration, that similar PRs never touch more than 10 files. I'll be happy to merge them very fastly. But whenever it exceeds such number it becomes harder to merge rapidly and the conflict risk is higher. Thank you ---
[GitHub] jmeter issue #233: Bug 60274
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/233 It appears similar feature is now available a 3rd party plugin : * https://jmeter-plugins.org/?search=Weighted So I propose to close this one. ---
[GitHub] jmeter issue #72: MQTT plugin for Jmeter
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/72 It appears that you have made this a 3rd party plugin for MQTT. So we'll close this PR as WONTFIX. Thank you anyway for your contribution. ---
[GitHub] jmeter issue #387: Add delegation for SPNEGO back to JMeter
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/387 Hi Felix, Did you have time to check the changes are working ? If yes, +1 for committing it. ---
[GitHub] jmeter issue #385: jMeter threads implemented using CachedThreadPool
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/385 Thanks for PR and contribution. Still as answered by Felix, this PR is too simple and would break a lot of things in JMeter and important data are stored in ThreadLocal. Thank you to close it. ---
[GitHub] jmeter issue #384: Minor wording correction
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/384 Thanks for PR, still I think the initial phrase is correct without comma: - Load test functional behaviour Unless I misunderstand, can you close your PR ? Thank you ---
[GitHub] jmeter issue #387: Add delegation for SPNEGO back to JMeter
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/387 Thanks Felix ---
[GitHub] jmeter issue #387: Add delegation for SPNEGO back to JMeter
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/387 Thanks for PR. Just wondering, why do we use httpcomponents package ? - org.apache.http.impl.auth.DelegatingKerberosScheme - org.apache.http.impl.auth.DelegatingSPNegoScheme Thanks ---
[GitHub] jmeter issue #380: Hdrhistogram
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/380 Hello, Thanks @FSchumacher , looks like a good start. @vlsi , looks interesting . Can you help on integrating it ? Thanks ---
[GitHub] jmeter issue #378: Fix 43612
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/378 Hello @artem-fedorov , Is your PR for the bug you indicate which is supposed to be fixed long time ago or for this one: - https://bz.apache.org/bugzilla/show_bug.cgi?id=60782 See those discussions: - http://mail-archives.apache.org/mod_mbox/jmeter-dev/201702.mbox/%3CCAH9fUpZ6dKz4f4DFuVU56qc5cC0PkfCT3Qxq1r38_UbNmsiruA%40mail.gmail.com%3E - http://mail-archives.apache.org/mod_mbox/jmeter-dev/201702.mbox/%3CCAH9fUpbSfK95m2ZYQwRJqEN%3D4NBmfSzqY3-FqNpSc2xz2hDD%2BA%40mail.gmail.com%3E Regards ---
dev@jmeter.apache.org
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/320 Merged: - http://svn.apache.org/viewvc?rev=1825269&view=rev ---
[GitHub] jmeter issue #374: Add a 'go to top' button that gets shown, when page is sc...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/374 Hi Felix, Why not commit this before release ? Do you have a doubt about it ? Thanks ---
[GitHub] jmeter issue #374: Add a 'go to top' button that gets shown, when page is sc...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/374 Very good idea ---
[GitHub] jmeter issue #369: docs: document Precise Throughput Timer
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/369 ÐолÑÑое ÑпаÑибо!! ---
[GitHub] jmeter issue #231: WIP: timer that produces poisson arrivals with given cons...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/231 Hi @vsi, When do you think youâll be able to provide a documentation PR ? Thanks ---
[GitHub] jmeter issue #231: WIP: timer that produces poisson arrivals with given cons...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/231 @vlsi , What about: - Poisson Arrivals timer ? - Precise Throughput Timer ? ---
[GitHub] jmeter issue #231: WIP: timer that produces poisson arrivals with given cons...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/231 Hi @vsi, It looks ok to me, if you can add doc as separate PR it would be great ! Thanks ---
[GitHub] jmeter issue #231: WIP: timer that produces poisson arrivals with given cons...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/231 Hi @vlsi , Thanks for your clarifications. It is just that as per your confirmation, one of the aims of this new component was: **"The very basic requirement is to ensure you end up exactly 50 iterations per hour. Business customers would not understand if you report load test results with 47 executions "just because the random was random"."** That's why I tested such things, so I think it needs to be mitigated a bit. I tested with 1000 hits for 2 minutes and I get 1002 hits so ok. Now regarding "Repeatable test profile", for 2 runs, I don't see "similar test profile", but it is maybe just a matter of interpretation, what is exactly expected in your aim for "Repeatable test profile" Finally regarding Batched Departures, I am not sure to understand how it is supposed to influence load and if it is supposed to work correctly with First part in GUI. Thanks for clarifications. Regards ---
[GitHub] jmeter issue #231: WIP: timer that produces poisson arrivals with given cons...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/231 Hi @vlsi , Thanks for your feedback. I tried many configurations including thread delay to 0, and I never really reach exact sampling on duration. Is it really supposed to be exact ? https://user-images.githubusercontent.com/3127467/34321041-0999c088-e806-11e7-9409-657186ef92ba.png";> https://user-images.githubusercontent.com/3127467/34321042-09b21da4-e806-11e7-980f-0d8f0f9c15fc.png";> https://user-images.githubusercontent.com/3127467/34321043-09ca845c-e806-11e7-81c1-e92f53677bf5.png";> ---
[GitHub] jmeter issue #231: WIP: timer that produces poisson arrivals with given cons...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/231 Hi @vlsi , I tried the component and if I have this: https://user-images.githubusercontent.com/3127467/34276777-3096e68e-e6a3-11e7-9726-759d086d11d2.png";> https://user-images.githubusercontent.com/3127467/34276778-30b9f2dc-e6a3-11e7-83f2-67eb531e3a1d.png";> https://user-images.githubusercontent.com/3127467/34276779-30dab562-e6a3-11e7-9163-0b79dab1b2c8.png";> https://user-images.githubusercontent.com/3127467/34276780-30f9df50-e6a3-11e7-99e5-ce4b372a643b.png";> AS you can see I don't get exact executions. So am I missing something ? Thanks ---
[GitHub] jmeter issue #231: WIP: timer that produces poisson arrivals with given cons...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/231 Hi @vlsi , Could you confirm your component implements the following features: 1) "Specific number of iterations per hour". The very basic requirement is to ensure you end up exactly 50 iterations per hour. Business customers would not understand if you report load test results with 47 executions "just because the random was random". All timers except "Constant" can easily send excessive requests or send less requests than required. There is no way to control it. 2) "Bursty load" simulation. There is no easy way to test "50 iterations per hour as 10 bursts of 5 items". 3) "Repeatable test profile". All the random timers produce different pattern on each test run. This is not good for low-level analysis (e.g. compare of CPU% charts, etc). 4) "Avoid all thread groups" to fire at 00:00:00. By default, all thread groups would fire at 0, so there would be noticeable spike at the start of the test. Thanks ---
[GitHub] jmeter issue #343: Reduced the size of all screenshots.
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/343 Hi Team, if there are volunteer to merge this one, thanks in advance. Regards ---
[GitHub] jmeter issue #358: Checkstyle: LineLength max 165, AnonInnerLength 45 and ot...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/358 Hi @ham1 , Thanks for this PR. Unfortunately I am not very comfortable with PR that touch a lot of file and where the code modification may touch more things than what the PR describes. Would it be possible to rebase your PR and split it into at max 10 files ? It is easier to review and merging is faster for me, which will mean I'll merge it earlier and you won't have to rebase. Also if possible, try to make the PR really only touch what it pretends to. Sonar fixes might sometimes break existing code so they need careful review and merge. Thanks a lot again for all your work ! Regards ---
[GitHub] jmeter issue #356: Sonar fixes
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/356 Hi @ham1 , Thanks for this PR. Unfortunately I am not very comfortable with PR that touch a lot of file and where the code modification may touch more things than what the PR describes. Would it be possible to rebase your PR and split it into at max 10 files ? It is easier to review and merging is faster for me, which will mean I'll merge it earlier and you won't have to rebase. Also if possible, try to make the PR really only touch what it pretends to. Sonar fixes might sometimes break existing code so they need careful review and merge. Thanks a lot again for all your work ! Regards ---
[GitHub] jmeter issue #355: BoundaryExtractor refactor
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/355 Hi Graham, Thanks for the PR. would it be possible to update it with last trunk as there has been an intermediate commit which changes things a bit. Thanks ---
[GitHub] jmeter issue #350: Parallelised unit tests
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/350 Hi @ham1 , It seems there are issues in headless mode following my merge of this PR. See https://travis-ci.org/apache/jmeter/jobs/313214205 I'll have a look this week-end but if you have an idea before, feel free to propose a PR. Regards ---
[GitHub] jmeter issue #345: Checkstyle
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/345 Hi team, anybody wants to merge this one ? if not Iâll do it this week-end. Thanks ---
[GitHub] jmeter issue #341: Test isIgnore after post processor and assertions
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/341 Hi @FSchumacher , Good idea. Is this in relation with https://github.com/apache/jmeter/pull/313 ? Thanks ---
[GitHub] jmeter issue #348: Removed LogFilter and associated uses.
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/348 Hi @ham1 , I never used this Access log sampler in JMeter . But I think the classes you removed are used as possible implementations for filtering. See: - http://jmeter.apache.org/images/screenshots/accesslogsampler.png So I think the class must be kept Regards ---
[GitHub] jmeter issue #342: More edge cases for changeCase function and slight behavi...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/342 Hi Felix, It seems there is a consensus to drop CamelCase from function. I agree also with it as I have never really needed in all my tests camel case nor any member of our team. So I have a doubt whether it would be useful. ---
[GitHub] jmeter issue #344: Migrate JSON Path Assertion into JMeter core
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/344 Hi @artem-fedorov , Thanks for the PR Regarding build: - You might have to merge the trunk as I made a fix in JMS few minutes ago. Regarding PR itself: - Package for assertions is org.apache.jmeter.assertions , so I think you should move the class to it - I don't see JUnit tests for JSONAssertion , only for GUI, am I missing something ? If they are really missing it would be nice if you could add some possibly spock / groovy based or Junit only Regards ---
[GitHub] jmeter issue #342: More edge cases for changeCase function and slight behavi...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/342 +1 for trim Ok for me to merge. ---
[GitHub] jmeter issue #341: Test isIgnore after post processor and assertions
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/341 Hi @max3163 , 0/ In order to justify the user case, can you illustrate your use case ? 1/ I think we should add a log in debug level when we ignore a SampleResult 2/ Could you also add either a JUnit or an integration test (jmx test) that tests different cases: - ignore only in JSR223Sampler - ignore only in Assertion - ignore only in PostProcessor 3/ Can you add a comment on the reason for the multiple test ? when reading the code, I forgot for few minutes the initial intent ,and it was not clear for me. Comment like: "setIgnore can be called in Assertion or PostProcessors so test again" Thanks ---
[GitHub] jmeter issue #332: Added Spock framework and some tests, both old and new
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/332 Thanks @ham1 , I will have some time next week to merge it or this week-end. If anybody wants to do that before he's welcome. Thanks ---
[GitHub] jmeter issue #321: [Influxdb] Allow users to add theirs owns tags
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/321 Resolved by commit: http://svn.apache.org/viewvc?rev=1815893&view=rev @max3163 , can you close this one please ? Thank you ---
[GitHub] jmeter issue #332: Added Spock framework and some tests, both old and new
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/332 Hi @ham1 , Thanks for this interesting PR. There is a conflict in it, could you rebase it as you proposed. Also, there is something I don't understand, I see coverage has decreased while you modified some existing tests and added new ones. Maybe as a first step, you could only add new tests and not impact existing ones ? Thank you Regards ---
[GitHub] jmeter issue #329: Expansion of "Add expand/collapse all menu in render XML ...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/329 Hi @ham1 , Thanks for PR. As commented on @max3163 PR, I feel this renderer is not very useful. I think improving more the XPath Tester and removing this one would bring a better UX ? Because usually, you 'll use the XXX Tester to test extractions (XPath, JSON, CSS/JQuery, Regexp). For XML it would be XPath, in this case a formatted and foldable/unfoldable document would be more helpful no ? Regards ---
[GitHub] jmeter issue #324: Save backup refactor
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/324 Thanks @ham1 , Could you review my commit as your PR had a conflict after merging of Workbench before it. I think I didn't miss anything but another eye is welcome. Regards ---
[GitHub] jmeter issue #325: 61544 - Added read, browse and clear as communication sty...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/325 Hello @bennyvw , Thanks for updating PR. It seems the changes have introduced an issue in JMS_TESTS.jmx which is located in source files on github/svn (only, not in binary) in bin/testfiles: https://github.com/apache/jmeter/blob/trunk/bin/testfiles/JMS_TESTS.jmx To debug the issue, put activemq-all.jar in lib folder and run the test. Thanks ---
[GitHub] jmeter issue #321: [Influxdb] Allow users to add theirs owns tags
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/321 @max3163 , thanks for updating your PR. It is ok for me now. Regards ---
[GitHub] jmeter pull request #325: 61544 - Added read, browse and clear as communicat...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/325#discussion_r150327668 --- Diff: src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java --- @@ -142,48 +173,244 @@ public SampleResult sample(Entry entry) { res.sampleStart(); try { -TextMessage msg = createMessage(); -if (isOneway()) { -int deliveryMode = isNonPersistent() ? - DeliveryMode.NON_PERSISTENT:DeliveryMode.PERSISTENT; -producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -res.setResponseOK(); -res.setResponseData("Oneway request has no response data", null); +LOGGER.debug("Point-to-point mode: " + getCommunicationstyle()); +if (isBrowse()) { +handleBrowse(res); +} else if (isClearQueue()) { +handleClearQueue(res); +} else if (isOneway()) { +handleOneWay(res); +} else if (isRead()) { +handleRead(context, res); } else { -if (!useTemporyQueue()) { -msg.setJMSReplyTo(receiveQueue); -} -Message replyMsg = executor.sendAndReceive(msg, -isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT, -Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -if (replyMsg == null) { -res.setResponseMessage("No reply message received"); -} else { -if (replyMsg instanceof TextMessage) { -res.setResponseData(((TextMessage) replyMsg).getText(), null); -} else { -res.setResponseData(replyMsg.toString(), null); -} - res.setResponseHeaders(Utils.messageProperties(replyMsg)); -res.setResponseOK(); -} +handleRequestResponse(res); } } catch (Exception e) { LOGGER.warn(e.getLocalizedMessage(), e); -if (thrown != null){ +if (thrown != null) { res.setResponseMessage(thrown.toString()); -} else { +} else { res.setResponseMessage(e.getLocalizedMessage()); } } res.sampleEnd(); return res; } +private void handleBrowse(SampleResult res) throws JMSException { +LOGGER.debug("isBrowseOnly"); +StringBuffer sb = new StringBuffer(""); --- End diff -- StringBuilder would be better here, and wherever StringBuffer is used ---
[GitHub] jmeter pull request #325: 61544 - Added read, browse and clear as communicat...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/325#discussion_r150327166 --- Diff: docs/usermanual/component_reference.html --- @@ -4276,10 +4289,32 @@ temporary queues will be used for the communication between the requestor and the server. This is very different from the fixed reply queue. With temporary queues the sending thread will block until the reply message has been received. With Request Response mode, you need to have a Server that listens to messages sent to Request Queue and sends replies to -queue referenced by message.getJMSReplyTo(). - +queue referenced by message.getJMSReplyTo(). + + + +Read + + will read a message from an outgoing queue which has no listeners attached. This can be convenient for testing purposes. + This method can be used if you need to handle queues without a binding file (in case the jmeter-jms-skip-jndi library is used), + which only works with the JMS Point-to-Point sampler. + In case binding files are used, one can also use the JMS Subscriber Sampler for reading from a queue. + + + +Browse + + will determine the current queue depth without removing messages from the queue, returning the number of messages on the queue. --- End diff -- Would it be possible to provide screenshots as it makes documentation much clearer ---
[GitHub] jmeter pull request #325: 61544 - Added read, browse and clear as communicat...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/325#discussion_r150328441 --- Diff: src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java --- @@ -142,48 +173,244 @@ public SampleResult sample(Entry entry) { res.sampleStart(); try { -TextMessage msg = createMessage(); -if (isOneway()) { -int deliveryMode = isNonPersistent() ? - DeliveryMode.NON_PERSISTENT:DeliveryMode.PERSISTENT; -producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -res.setResponseOK(); -res.setResponseData("Oneway request has no response data", null); +LOGGER.debug("Point-to-point mode: " + getCommunicationstyle()); +if (isBrowse()) { +handleBrowse(res); +} else if (isClearQueue()) { +handleClearQueue(res); +} else if (isOneway()) { +handleOneWay(res); +} else if (isRead()) { +handleRead(context, res); } else { -if (!useTemporyQueue()) { -msg.setJMSReplyTo(receiveQueue); -} -Message replyMsg = executor.sendAndReceive(msg, -isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT, -Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -if (replyMsg == null) { -res.setResponseMessage("No reply message received"); -} else { -if (replyMsg instanceof TextMessage) { -res.setResponseData(((TextMessage) replyMsg).getText(), null); -} else { -res.setResponseData(replyMsg.toString(), null); -} - res.setResponseHeaders(Utils.messageProperties(replyMsg)); -res.setResponseOK(); -} +handleRequestResponse(res); } } catch (Exception e) { LOGGER.warn(e.getLocalizedMessage(), e); -if (thrown != null){ +if (thrown != null) { res.setResponseMessage(thrown.toString()); -} else { +} else { res.setResponseMessage(e.getLocalizedMessage()); } } res.sampleEnd(); return res; } +private void handleBrowse(SampleResult res) throws JMSException { +LOGGER.debug("isBrowseOnly"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +sb.append("\n \n Browse message on Send Queue " + sendQueue.getQueueName()); +sb.append(browseQueueDetails(sendQueue, res)); +res.setResponseData(sb.toString().getBytes()); +} + +private void handleClearQueue(SampleResult res) throws JMSException { +LOGGER.debug("isClearQueue"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +sb.append("\n \n Clear messages on Send Queue " + sendQueue.getQueueName()); +sb.append(clearQueue(sendQueue, res)); +res.setResponseData(sb.toString().getBytes()); +} + +private void handleOneWay(SampleResult res) throws JMSException { +LOGGER.debug("isOneWay"); +TextMessage msg = createMessage(); +int deliveryMode = isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT; +producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), Long.parseLong(getExpiration())); +res.setRequestHeaders(Utils.messageProperties(msg)); +res.setResponseOK(); +res.setResponseData("Oneway request has no response data", null); +} + +private void handleRead(JMeterContext context, SampleResult res) { +LOGGER.debug("isRead"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +Sampler sampler = context.getPreviousSampler(); +SampleResult sr = context.getPreviousResult(); +String jmsSelect
[GitHub] jmeter pull request #325: 61544 - Added read, browse and clear as communicat...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/325#discussion_r150328248 --- Diff: src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java --- @@ -142,48 +173,244 @@ public SampleResult sample(Entry entry) { res.sampleStart(); try { -TextMessage msg = createMessage(); -if (isOneway()) { -int deliveryMode = isNonPersistent() ? - DeliveryMode.NON_PERSISTENT:DeliveryMode.PERSISTENT; -producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -res.setResponseOK(); -res.setResponseData("Oneway request has no response data", null); +LOGGER.debug("Point-to-point mode: " + getCommunicationstyle()); +if (isBrowse()) { +handleBrowse(res); +} else if (isClearQueue()) { +handleClearQueue(res); +} else if (isOneway()) { +handleOneWay(res); +} else if (isRead()) { +handleRead(context, res); } else { -if (!useTemporyQueue()) { -msg.setJMSReplyTo(receiveQueue); -} -Message replyMsg = executor.sendAndReceive(msg, -isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT, -Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -if (replyMsg == null) { -res.setResponseMessage("No reply message received"); -} else { -if (replyMsg instanceof TextMessage) { -res.setResponseData(((TextMessage) replyMsg).getText(), null); -} else { -res.setResponseData(replyMsg.toString(), null); -} - res.setResponseHeaders(Utils.messageProperties(replyMsg)); -res.setResponseOK(); -} +handleRequestResponse(res); } } catch (Exception e) { LOGGER.warn(e.getLocalizedMessage(), e); -if (thrown != null){ +if (thrown != null) { res.setResponseMessage(thrown.toString()); -} else { +} else { res.setResponseMessage(e.getLocalizedMessage()); } } res.sampleEnd(); return res; } +private void handleBrowse(SampleResult res) throws JMSException { +LOGGER.debug("isBrowseOnly"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +sb.append("\n \n Browse message on Send Queue " + sendQueue.getQueueName()); +sb.append(browseQueueDetails(sendQueue, res)); +res.setResponseData(sb.toString().getBytes()); +} + +private void handleClearQueue(SampleResult res) throws JMSException { +LOGGER.debug("isClearQueue"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +sb.append("\n \n Clear messages on Send Queue " + sendQueue.getQueueName()); +sb.append(clearQueue(sendQueue, res)); +res.setResponseData(sb.toString().getBytes()); +} + +private void handleOneWay(SampleResult res) throws JMSException { +LOGGER.debug("isOneWay"); +TextMessage msg = createMessage(); +int deliveryMode = isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT; +producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), Long.parseLong(getExpiration())); +res.setRequestHeaders(Utils.messageProperties(msg)); +res.setResponseOK(); +res.setResponseData("Oneway request has no response data", null); +} + +private void handleRead(JMeterContext context, SampleResult res) { +LOGGER.debug("isRead"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +Sampler sampler = context.getPreviousSampler(); +SampleResult sr = context.getPreviousResult(); +String jmsSelect
[GitHub] jmeter pull request #325: 61544 - Added read, browse and clear as communicat...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/325#discussion_r150328288 --- Diff: src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java --- @@ -142,48 +173,244 @@ public SampleResult sample(Entry entry) { res.sampleStart(); try { -TextMessage msg = createMessage(); -if (isOneway()) { -int deliveryMode = isNonPersistent() ? - DeliveryMode.NON_PERSISTENT:DeliveryMode.PERSISTENT; -producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -res.setResponseOK(); -res.setResponseData("Oneway request has no response data", null); +LOGGER.debug("Point-to-point mode: " + getCommunicationstyle()); +if (isBrowse()) { +handleBrowse(res); +} else if (isClearQueue()) { +handleClearQueue(res); +} else if (isOneway()) { +handleOneWay(res); +} else if (isRead()) { +handleRead(context, res); } else { -if (!useTemporyQueue()) { -msg.setJMSReplyTo(receiveQueue); -} -Message replyMsg = executor.sendAndReceive(msg, -isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT, -Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -if (replyMsg == null) { -res.setResponseMessage("No reply message received"); -} else { -if (replyMsg instanceof TextMessage) { -res.setResponseData(((TextMessage) replyMsg).getText(), null); -} else { -res.setResponseData(replyMsg.toString(), null); -} - res.setResponseHeaders(Utils.messageProperties(replyMsg)); -res.setResponseOK(); -} +handleRequestResponse(res); } } catch (Exception e) { LOGGER.warn(e.getLocalizedMessage(), e); -if (thrown != null){ +if (thrown != null) { res.setResponseMessage(thrown.toString()); -} else { +} else { res.setResponseMessage(e.getLocalizedMessage()); } } res.sampleEnd(); return res; } +private void handleBrowse(SampleResult res) throws JMSException { +LOGGER.debug("isBrowseOnly"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +sb.append("\n \n Browse message on Send Queue " + sendQueue.getQueueName()); +sb.append(browseQueueDetails(sendQueue, res)); +res.setResponseData(sb.toString().getBytes()); +} + +private void handleClearQueue(SampleResult res) throws JMSException { +LOGGER.debug("isClearQueue"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +sb.append("\n \n Clear messages on Send Queue " + sendQueue.getQueueName()); +sb.append(clearQueue(sendQueue, res)); +res.setResponseData(sb.toString().getBytes()); +} + +private void handleOneWay(SampleResult res) throws JMSException { +LOGGER.debug("isOneWay"); +TextMessage msg = createMessage(); +int deliveryMode = isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT; +producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), Long.parseLong(getExpiration())); +res.setRequestHeaders(Utils.messageProperties(msg)); +res.setResponseOK(); +res.setResponseData("Oneway request has no response data", null); +} + +private void handleRead(JMeterContext context, SampleResult res) { +LOGGER.debug("isRead"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +Sampler sampler = context.getPreviousSampler(); +SampleResult sr = context.getPreviousResult(); +String jmsSelect
[GitHub] jmeter pull request #325: 61544 - Added read, browse and clear as communicat...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/325#discussion_r150328999 --- Diff: src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java --- @@ -142,48 +173,244 @@ public SampleResult sample(Entry entry) { res.sampleStart(); try { -TextMessage msg = createMessage(); -if (isOneway()) { -int deliveryMode = isNonPersistent() ? - DeliveryMode.NON_PERSISTENT:DeliveryMode.PERSISTENT; -producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -res.setResponseOK(); -res.setResponseData("Oneway request has no response data", null); +LOGGER.debug("Point-to-point mode: " + getCommunicationstyle()); +if (isBrowse()) { +handleBrowse(res); +} else if (isClearQueue()) { +handleClearQueue(res); +} else if (isOneway()) { +handleOneWay(res); +} else if (isRead()) { +handleRead(context, res); } else { -if (!useTemporyQueue()) { -msg.setJMSReplyTo(receiveQueue); -} -Message replyMsg = executor.sendAndReceive(msg, -isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT, -Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -if (replyMsg == null) { -res.setResponseMessage("No reply message received"); -} else { -if (replyMsg instanceof TextMessage) { -res.setResponseData(((TextMessage) replyMsg).getText(), null); -} else { -res.setResponseData(replyMsg.toString(), null); -} - res.setResponseHeaders(Utils.messageProperties(replyMsg)); -res.setResponseOK(); -} +handleRequestResponse(res); } } catch (Exception e) { LOGGER.warn(e.getLocalizedMessage(), e); -if (thrown != null){ +if (thrown != null) { res.setResponseMessage(thrown.toString()); -} else { +} else { res.setResponseMessage(e.getLocalizedMessage()); } } res.sampleEnd(); return res; } +private void handleBrowse(SampleResult res) throws JMSException { +LOGGER.debug("isBrowseOnly"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +sb.append("\n \n Browse message on Send Queue " + sendQueue.getQueueName()); +sb.append(browseQueueDetails(sendQueue, res)); +res.setResponseData(sb.toString().getBytes()); +} + +private void handleClearQueue(SampleResult res) throws JMSException { +LOGGER.debug("isClearQueue"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +sb.append("\n \n Clear messages on Send Queue " + sendQueue.getQueueName()); +sb.append(clearQueue(sendQueue, res)); +res.setResponseData(sb.toString().getBytes()); +} + +private void handleOneWay(SampleResult res) throws JMSException { +LOGGER.debug("isOneWay"); +TextMessage msg = createMessage(); +int deliveryMode = isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT; +producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), Long.parseLong(getExpiration())); +res.setRequestHeaders(Utils.messageProperties(msg)); +res.setResponseOK(); +res.setResponseData("Oneway request has no response data", null); +} + +private void handleRead(JMeterContext context, SampleResult res) { +LOGGER.debug("isRead"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +Sampler sampler = context.getPreviousSampler(); +SampleResult sr = context.getPreviousResult(); +String jmsSelect
[GitHub] jmeter pull request #325: 61544 - Added read, browse and clear as communicat...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/325#discussion_r150327021 --- Diff: docs/usermanual/component_reference.html --- @@ -3813,7 +3813,7 @@ --- End diff -- HTML files are generated from XML. Could you update comonent_reference.xml instead ? ---
[GitHub] jmeter pull request #325: 61544 - Added read, browse and clear as communicat...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/325#discussion_r150328109 --- Diff: src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java --- @@ -142,48 +173,244 @@ public SampleResult sample(Entry entry) { res.sampleStart(); try { -TextMessage msg = createMessage(); -if (isOneway()) { -int deliveryMode = isNonPersistent() ? - DeliveryMode.NON_PERSISTENT:DeliveryMode.PERSISTENT; -producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -res.setResponseOK(); -res.setResponseData("Oneway request has no response data", null); +LOGGER.debug("Point-to-point mode: " + getCommunicationstyle()); +if (isBrowse()) { +handleBrowse(res); +} else if (isClearQueue()) { +handleClearQueue(res); +} else if (isOneway()) { +handleOneWay(res); +} else if (isRead()) { +handleRead(context, res); } else { -if (!useTemporyQueue()) { -msg.setJMSReplyTo(receiveQueue); -} -Message replyMsg = executor.sendAndReceive(msg, -isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT, -Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -if (replyMsg == null) { -res.setResponseMessage("No reply message received"); -} else { -if (replyMsg instanceof TextMessage) { -res.setResponseData(((TextMessage) replyMsg).getText(), null); -} else { -res.setResponseData(replyMsg.toString(), null); -} - res.setResponseHeaders(Utils.messageProperties(replyMsg)); -res.setResponseOK(); -} +handleRequestResponse(res); } } catch (Exception e) { LOGGER.warn(e.getLocalizedMessage(), e); -if (thrown != null){ +if (thrown != null) { res.setResponseMessage(thrown.toString()); -} else { +} else { res.setResponseMessage(e.getLocalizedMessage()); } } res.sampleEnd(); return res; } +private void handleBrowse(SampleResult res) throws JMSException { +LOGGER.debug("isBrowseOnly"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +sb.append("\n \n Browse message on Send Queue " + sendQueue.getQueueName()); +sb.append(browseQueueDetails(sendQueue, res)); +res.setResponseData(sb.toString().getBytes()); +} + +private void handleClearQueue(SampleResult res) throws JMSException { +LOGGER.debug("isClearQueue"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +sb.append("\n \n Clear messages on Send Queue " + sendQueue.getQueueName()); +sb.append(clearQueue(sendQueue, res)); +res.setResponseData(sb.toString().getBytes()); +} + +private void handleOneWay(SampleResult res) throws JMSException { +LOGGER.debug("isOneWay"); +TextMessage msg = createMessage(); +int deliveryMode = isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT; +producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), Long.parseLong(getExpiration())); +res.setRequestHeaders(Utils.messageProperties(msg)); +res.setResponseOK(); +res.setResponseData("Oneway request has no response data", null); +} + +private void handleRead(JMeterContext context, SampleResult res) { +LOGGER.debug("isRead"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +Sampler sampler = context.getPreviousSampler(); +SampleResult sr = context.getPreviousResult(); +String jmsSelect
[GitHub] jmeter pull request #325: 61544 - Added read, browse and clear as communicat...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/325#discussion_r150328360 --- Diff: src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java --- @@ -142,48 +173,244 @@ public SampleResult sample(Entry entry) { res.sampleStart(); try { -TextMessage msg = createMessage(); -if (isOneway()) { -int deliveryMode = isNonPersistent() ? - DeliveryMode.NON_PERSISTENT:DeliveryMode.PERSISTENT; -producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -res.setResponseOK(); -res.setResponseData("Oneway request has no response data", null); +LOGGER.debug("Point-to-point mode: " + getCommunicationstyle()); +if (isBrowse()) { +handleBrowse(res); +} else if (isClearQueue()) { +handleClearQueue(res); +} else if (isOneway()) { +handleOneWay(res); +} else if (isRead()) { +handleRead(context, res); } else { -if (!useTemporyQueue()) { -msg.setJMSReplyTo(receiveQueue); -} -Message replyMsg = executor.sendAndReceive(msg, -isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT, -Integer.parseInt(getPriority()), -Long.parseLong(getExpiration())); -res.setRequestHeaders(Utils.messageProperties(msg)); -if (replyMsg == null) { -res.setResponseMessage("No reply message received"); -} else { -if (replyMsg instanceof TextMessage) { -res.setResponseData(((TextMessage) replyMsg).getText(), null); -} else { -res.setResponseData(replyMsg.toString(), null); -} - res.setResponseHeaders(Utils.messageProperties(replyMsg)); -res.setResponseOK(); -} +handleRequestResponse(res); } } catch (Exception e) { LOGGER.warn(e.getLocalizedMessage(), e); -if (thrown != null){ +if (thrown != null) { res.setResponseMessage(thrown.toString()); -} else { +} else { res.setResponseMessage(e.getLocalizedMessage()); } } res.sampleEnd(); return res; } +private void handleBrowse(SampleResult res) throws JMSException { +LOGGER.debug("isBrowseOnly"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +sb.append("\n \n Browse message on Send Queue " + sendQueue.getQueueName()); +sb.append(browseQueueDetails(sendQueue, res)); +res.setResponseData(sb.toString().getBytes()); +} + +private void handleClearQueue(SampleResult res) throws JMSException { +LOGGER.debug("isClearQueue"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +sb.append("\n \n Clear messages on Send Queue " + sendQueue.getQueueName()); +sb.append(clearQueue(sendQueue, res)); +res.setResponseData(sb.toString().getBytes()); +} + +private void handleOneWay(SampleResult res) throws JMSException { +LOGGER.debug("isOneWay"); +TextMessage msg = createMessage(); +int deliveryMode = isNonPersistent() ? DeliveryMode.NON_PERSISTENT : DeliveryMode.PERSISTENT; +producer.send(msg, deliveryMode, Integer.parseInt(getPriority()), Long.parseLong(getExpiration())); +res.setRequestHeaders(Utils.messageProperties(msg)); +res.setResponseOK(); +res.setResponseData("Oneway request has no response data", null); +} + +private void handleRead(JMeterContext context, SampleResult res) { +LOGGER.debug("isRead"); +StringBuffer sb = new StringBuffer(""); +res.setSuccessful(true); +Sampler sampler = context.getPreviousSampler(); +SampleResult sr = context.getPreviousResult(); +String jmsSelect
dev@jmeter.apache.org
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/320 Hello, Any feedback on this ? Thanks ---
[GitHub] jmeter pull request #321: [Influxdb] Allow users to add theirs owns tags
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/321#discussion_r149436677 --- Diff: src/components/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbBackendListenerClient.java --- @@ -318,6 +335,13 @@ public void setupTest(BackendListenerContext context) throws Exception { } } } +// Check if more fields are filled ( corresponding to user tag ) +context.getParameterNamesIterator().forEachRemaining(name->{ +if ( !defaultArg.containsKey(name)) { +TAG_USER += "," + AbstractInfluxdbMetricsSender.tagToStringValue(name.trim()) + "=" + AbstractInfluxdbMetricsSender.tagToStringValue(context.getParameter(name).trim()); --- End diff -- What if user names his tag the same as an existing attribute ? he can't . If we add a prefix "TAG_" then I feel it's more clear and avoid conflicts. Also I think this needs more documentation. Feature without documentation is not usable. We currently lack documentation on InfluxDBBackendListenerClient. I think it's a feature that is very interesting and we need users to know it exists and what it does. ---
[GitHub] jmeter pull request #321: [Influxdb] Allow users to add theirs owns tags
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/321#discussion_r149435419 --- Diff: src/components/org/apache/jmeter/visualizers/backend/BackendListenerGui.java --- @@ -71,6 +72,10 @@ /** A panel allowing the user to set arguments for this test. */ private ArgumentsPanel argsPanel; + +/** The current className of the Backend listenenr **/ +private String className; --- End diff -- ok ---
[GitHub] jmeter pull request #321: [Influxdb] Allow users to add theirs owns tags
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/321#discussion_r149132449 --- Diff: src/components/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbBackendListenerClient.java --- @@ -318,6 +335,13 @@ public void setupTest(BackendListenerContext context) throws Exception { } } } +// Check if more fields are filled ( corresponding to user tag ) +context.getParameterNamesIterator().forEachRemaining(name->{ +if ( !defaultArg.containsKey(name)) { +TAG_USER += "," + AbstractInfluxdbMetricsSender.tagToStringValue(name.trim()) + "=" + AbstractInfluxdbMetricsSender.tagToStringValue(context.getParameter(name).trim()); --- End diff -- Add some logging here to debug in case of issue ---
[GitHub] jmeter pull request #321: [Influxdb] Allow users to add theirs owns tags
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/321#discussion_r149131377 --- Diff: src/components/org/apache/jmeter/visualizers/backend/BackendListenerGui.java --- @@ -71,6 +72,10 @@ /** A panel allowing the user to set arguments for this test. */ private ArgumentsPanel argsPanel; + +/** The current className of the Backend listenenr **/ +private String className; --- End diff -- This part does not seem to be related to this PR , it's probably here to avoid losing configuration when changing class. Would it be possible to make another PR ? ---
[GitHub] jmeter pull request #321: [Influxdb] Allow users to add theirs owns tags
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/321#discussion_r149132569 --- Diff: src/components/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbBackendListenerClient.java --- @@ -92,6 +92,18 @@ private static final int MAX_POOL_SIZE = 1; private static final String SEPARATOR = ";"; //$NON-NLS-1$ private static final Object LOCK = new Object(); +private static Map defaultArg = new LinkedHashMap<>(); --- End diff -- Should be UPPER CASE ---
[GitHub] jmeter pull request #321: [Influxdb] Allow users to add theirs owns tags
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/321#discussion_r149131482 --- Diff: src/components/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbBackendListenerClient.java --- @@ -105,7 +117,7 @@ private String testTags; // Name of the application tested private String application = ""; - +private String TAG_USER = ""; --- End diff -- Should be lower case or static final ---
[GitHub] jmeter pull request #321: [Influxdb] Allow users to add theirs owns tags
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/321#discussion_r149133328 --- Diff: src/components/org/apache/jmeter/visualizers/backend/influxdb/InfluxdbBackendListenerClient.java --- @@ -318,6 +335,13 @@ public void setupTest(BackendListenerContext context) throws Exception { } } } +// Check if more fields are filled ( corresponding to user tag ) +context.getParameterNamesIterator().forEachRemaining(name->{ +if ( !defaultArg.containsKey(name)) { +TAG_USER += "," + AbstractInfluxdbMetricsSender.tagToStringValue(name.trim()) + "=" + AbstractInfluxdbMetricsSender.tagToStringValue(context.getParameter(name).trim()); --- End diff -- Thanks for this PR. It would require more documentation as I find the usage a bit edgy. AFAIU you 'll enable user to add as many rows (key=value) which will be tags for Influx event. Can't we have some meaningful prefix or something to avoid a conflict between a user tag and a real property of the InfluxdbBackendListenerClient ? ---
[GitHub] jmeter pull request #231: WIP: timer that produces poisson arrivals with giv...
Github user pmouawad commented on a diff in the pull request: https://github.com/apache/jmeter/pull/231#discussion_r148880960 --- Diff: src/components/org/apache/jmeter/timers/ExponentialTimerBeanInfo.java --- @@ -0,0 +1,96 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.jmeter.timers; + +import org.apache.jmeter.testbeans.BeanInfoSupport; + +import java.beans.PropertyDescriptor; + +public class ExponentialTimerBeanInfo extends BeanInfoSupport { +public ExponentialTimerBeanInfo() { +super(ExponentialTimer.class); +System.err.println("beaninfo"); + --- End diff -- A little issue that will be fixed when this PR is merged ---
[GitHub] jmeter issue #231: WIP: timer that produces poisson arrivals with given cons...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/231 Hello, I will commit this PR unless there is a NO GO within 2 days. Thanks ---
[GitHub] jmeter issue #283: Allow on JMeter client to use variables and functions for...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/283 See: http://svn.apache.org/viewvc?rev=1798405&view=rev ---
[GitHub] jmeter issue #318: OS_TESTS.jmx fix for Windows
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/318 Merged, thank you ! ---
[GitHub] jmeter issue #315: Fixing bin/jmeter.sh version error, working as expected w...
Github user pmouawad commented on the issue: https://github.com/apache/jmeter/pull/315 Hello, For your information, I used part of your code to handle migration to Java9: - http://svn.apache.org/viewvc?view=revision&revision=1813017 If you're able to provide the same for windows it would be great. Thanks Regards ---