Annorax | 12 Aug 13:58 2013
Picon

Is it possible to change the number of threads during a run?

Hello all,

I have some Grinder tests running with a set number of grinder.processes,
grinder.threads, and grinder.runs. Is it possible to, during run time,
change any of these properties? Specifically I am looking at the number of
threads because I want to simulate highs and lows in my test. For example, I
am simulating a web store and I want that during a few hours of the day
there are many users (threads) and during other hours, like night time,
there are fewer.

Is this possible to do during a live test? I currently use this object to
get properties:

grinderp = grinder.getProperties()

But I don't think that just simply setting a property will work as the test
already started so I am not sure if the grinder.properties file is read
again?

--
View this message in context: http://grinder.996249.n3.nabble.com/Is-it-possible-to-change-the-number-of-threads-during-a-run-tp8536.html
Sent from the Grinder - User mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
(Continue reading)

Annorax | 8 Aug 15:58 2013
Picon

Grinder 3.11 on Windows 7: The filename, directory name, or volume label syntax is incorrect

Hello all,

I have been running the Grinder on Linux for years and I recently had a
requirement to be able to run it on Windows. I have translated all of my
shell scripts to Windows and I am trying to run the Grinder now but am
getting this error. Unfortunately the error doesn't really say where to
look. I am assuming some log file or script file is using a Unix path but I
double checked everything.

Does anyone know what might be wrong?

2013-08-08 09:53:32,309 ERROR agent: The filename, directory name, or volume
label syntax is incorrect
net.grinder.util.UnexpectedIOException: The filename, directory name, or
volume label syntax is incorrect
        at net.grinder.util.Directory.relativePath(Directory.java:360)
~[grinder-core-3.11.jar:na]
        at net.grinder.util.Directory.relativeFile(Directory.java:326)
~[grinder-core-3.11.jar:na]
        at net.grinder.util.Directory.rebaseFromCWD(Directory.java:286)
~[grinder-core-3.11.jar:na]
        at net.grinder.util.Directory.rebasePath(Directory.java:422)
~[grinder-core-3.11.jar:na]
        at
net.grinder.engine.agent.WorkerProcessCommandLine.<init>(WorkerProcessCommandLine.java:62)
~[grinder-core-3.11.jar:na]
        at
net.grinder.engine.agent.AgentImplementation.run(AgentImplementation.java:246)
~[grinder-core-3.11.jar:na]
        at net.grinder.Grinder.run(Grinder.java:124)
(Continue reading)

Jai P | 30 Jul 16:44 2013
Picon

Unable to open Grinder console

I get the below exception when I use java -cp  %CLASSPATH% net.grinder.Console and nothing if I use javaw. Note that the same script used to work just fine until a couple of days ago and it has stopped working now. I see the same behavior on another machine. 
CLASSPATH includes grinder.jar as well as the other jars required by the test.

Exception in thread "main" java.lang.ExceptionInInitializerError
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at net.grinder.util.ClassLoaderUtilities.loadRegisteredImplementations(ClassLoaderUtilities.java:232)
        at net.grinder.util.ClassLoaderUtilities.loadRegisteredImplementations(ClassLoaderUtilities.java:148)
        at net.grinder.console.ConsoleFoundation.<init>(ConsoleFoundation.java:186)
        at net.grinder.console.ConsoleFoundation.<init>(ConsoleFoundation.java:99)
        at net.grinder.Console.<init>(Console.java:65)
        at net.grinder.Console.main(Console.java:85)
Caused by: java.lang.NoSuchFieldException: close, compiling:(ring/util/servlet.clj:112)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6462)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyze(Compiler.java:6223)
        at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5618)
        at clojure.lang.Compiler$TryExpr$Parser.parse(Compiler.java:2178)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6455)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyze(Compiler.java:6223)
        at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5618)
        at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:5919)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6455)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6443)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6443)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyze(Compiler.java:6223)
        at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2642)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6455)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6443)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyze(Compiler.java:6223)
        at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2650)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6455)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6443)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyze(Compiler.java:6223)
        at clojure.lang.Compiler$IfExpr$Parser.parse(Compiler.java:2650)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6455)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6443)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyze(Compiler.java:6223)
        at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5618)
        at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5054)
        at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3674)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6453)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6443)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.access$100(Compiler.java:37)
        at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:518)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6455)
        at clojure.lang.Compiler.analyze(Compiler.java:6262)
        at clojure.lang.Compiler.analyze(Compiler.java:6223)
        at clojure.lang.Compiler.eval(Compiler.java:6515)
        at clojure.lang.Compiler.load(Compiler.java:6952)
        at clojure.lang.RT.loadResourceScript(RT.java:359)
        at clojure.lang.RT.loadResourceScript(RT.java:350)
        at clojure.lang.RT.load(RT.java:429)
        at clojure.lang.RT.load(RT.java:400)
        at clojure.core$load$fn__4890.invoke(core.clj:5415)
        at clojure.core$load.doInvoke(core.clj:5414)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at clojure.core$load_one.invoke(core.clj:5227)
        at clojure.core$load_lib.doInvoke(core.clj:5264)
        at clojure.lang.RestFn.applyTo(RestFn.java:142)
        at clojure.core$apply.invoke(core.clj:603)
        at clojure.core$load_libs.doInvoke(core.clj:5298)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply.invoke(core.clj:603)
        at clojure.core$require.doInvoke(core.clj:5381)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at ring.adapter.jetty$eval9$loading__4784__auto____10.invoke(jetty.clj:1)
        at ring.adapter.jetty$eval9.invoke(jetty.clj:1)
        at clojure.lang.Compiler.eval(Compiler.java:6511)
        at clojure.lang.Compiler.eval(Compiler.java:6501)
        at clojure.lang.Compiler.load(Compiler.java:6952)
        at clojure.lang.RT.loadResourceScript(RT.java:359)
        at clojure.lang.RT.loadResourceScript(RT.java:350)
        at clojure.lang.RT.load(RT.java:429)
        at clojure.lang.RT.load(RT.java:400)
        at clojure.core$load$fn__4890.invoke(core.clj:5415)
        at clojure.core$load.doInvoke(core.clj:5414)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at clojure.core$load_one.invoke(core.clj:5227)
        at clojure.core$load_lib.doInvoke(core.clj:5264)
        at clojure.lang.RestFn.applyTo(RestFn.java:142)
        at clojure.core$apply.invoke(core.clj:603)
        at clojure.core$load_libs.doInvoke(core.clj:5298)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply.invoke(core.clj:603)
        at clojure.core$require.doInvoke(core.clj:5381)
        at clojure.lang.RestFn.invoke(RestFn.java:421)
        at net.grinder.console.service.bootstrap_impl$eval3$loading__4784__auto____4.invoke(bootstrap_impl.clj:22)
        at net.grinder.console.service.bootstrap_impl$eval3.invoke(bootstrap_impl.clj:22)
        at clojure.lang.Compiler.eval(Compiler.java:6511)
        at clojure.lang.Compiler.eval(Compiler.java:6501)
        at clojure.lang.Compiler.load(Compiler.java:6952)
        at clojure.lang.RT.loadResourceScript(RT.java:359)
        at clojure.lang.RT.loadResourceScript(RT.java:350)
        at clojure.lang.RT.load(RT.java:429)
        at clojure.lang.RT.load(RT.java:400)
        at clojure.core$load$fn__4890.invoke(core.clj:5415)
        at clojure.core$load.doInvoke(core.clj:5414)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at clojure.lang.Var.invoke(Var.java:415)
        at net.grinder.console.service.Bootstrap.<clinit>(Unknown Source)
        ... 8 more
Caused by: java.lang.NoSuchFieldException: close
        at java.lang.Class.getField(Class.java:1520)
        at clojure.lang.Compiler$StaticFieldExpr.<init>(Compiler.java:1180)
        at clojure.lang.Compiler$HostExpr$Parser.parse(Compiler.java:923)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6455)
        ... 107 more


And..

java net.grinder.Console
Exception in thread "main" java.lang.NoClassDefFoundError: net/grinder/Console
Caused by: java.lang.ClassNotFoundException: net.grinder.Console
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: net.grinder.Console.  Program will exit.
------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
grinder-use mailing list
grinder-use@...
https://lists.sourceforge.net/lists/listinfo/grinder-use
jthomas | 30 Jul 15:55 2013

HTTPProxyStreamDemultiplexer

Hello all, 

Grinder versoin: 3.11 
I am stumped by an error while using the tcpproxy to record my test case. 

[HTTPProxyStreamDemultiplexer for Socket[addr=127.0.01/127.0.0.1,port
52100,localport=8001] ERROR: 

Nothing prints after the ERROR: so I am not able to determine exactly where
the issue is occurring.  I have followed all the instructions off the
Grinder tutorial, I have set the proxy settings for the browser. 

If you could lead in the right direction to resolve this issue I would
greatly appreciate it. 

Thanks

--
View this message in context: http://grinder.996249.n3.nabble.com/HTTPProxyStreamDemultiplexer-tp8516.html
Sent from the Grinder - User mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
Bill Rosmus | 30 Jul 02:51 2013

log levels

Is there any way to set log levels? I like the logging for debugging the 
scripts, but I want to be able to turn all logging off when running for 
real, and just use the console rest api to get pertinent data.

------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
Ouray Viney | 29 Jul 21:38 2013
Picon

https://user:password <at> www...?

Hi Phil,

After some testing, it would appear as if the HTTP client doesn't automatically add standard HTTP "Authorization" header if you send it a URL with the following scheme...

https://user:password <at> www

Grinder shows the following prior to sending over the wire:

2013-07-29 15:29:48,738 INFO  v3500-boa-can-0 : Testing URL to be used by all scripts: https://username:password-/K3FCmxHHlvQT0dZR+AlfA@public.gmane.org

Then this once sent...

2013-07-29 15:29:49,476 INFO  v3500-boa-can-0 thread-0 [ run-0, test-101 ]: https://foobar/authenticate -> 200 OK, 500 bytes

Yet, when you inspect the traffic, the request we sent didn't contain the expected "Authorization" header.

I can easily workaround this by adding the Authorization header with the base64 encoding of "username:password" as a value.  I set this as a default header via HTTPPluginControl so all subsequent requests inherit this header.

Is this a limitation of the HTTP client or expected behavior?

Thanks,

Ouray Viney
------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
grinder-use mailing list
grinder-use@...
https://lists.sourceforge.net/lists/listinfo/grinder-use
Bill Rosmus | 26 Jul 20:51 2013

number of running threads

Is there a way to get the number of running threads during a test. I 
want to be able to keep track of how many simulated users I have (one 
per thread) so I can tell the general load when I overwhelm the server. 
I know I can do some sort of count as things ramp up, but I also want to 
see when it tails off, and I see no way to reference when I thread is in 
it's last run. I thought maybe there would be some property somewhere 
that would report how many threads grinder has running at one time. Even 
if it were reported on a per agent level.

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
Ouray Viney | 19 Jul 04:01 2013
Picon

javax.net.ssl.SSLException: Name in certificate ...

Hi Phil,

I ran into an issues with some HTTP scripts that are causing an SSL cert. hostname verification exception.  I can't control the certs, but know that I should be able to relax the cert check conducted by the HTTPClient.  I checked the Grinder docs and found a setting that *should* relax the cert check such that Grinder (HTTPClient) will ignore the SSL cert exceptions (host name mismatch in cert) allowing the test to continue.

I added this to my script, ran a few single user tests and thought it was working.  I then ran a small performance test.  After each thread completed its first run, the SSL exception started occurring again.  The first iteration was fine (odd).

Here is the snippet that relaxes the SSL hostname checking.

# Avoid the following error:
# javax.net.ssl.SSLException: Name in certificate foobar2.com' does not match host name foobar1.com'
connectionDefaults.setVerifyServerDistinguishedName(False)

SSL exception:

javax.net.ssl.SSLException: Name in certificate `www.foobart2.com' does not match host name `www.foobart1.com'
    at HTTPClient.HTTPConnection.checkCert(HTTPConnection.java:3578) ~[grinder-httpclient-3.11.jar:na]
    at HTTPClient.HTTPConnection.sendRequest(HTTPConnection.java:3118) ~[grinder-httpclient-3.11.jar:na]
    at HTTPClient.HTTPConnection.handleRequest(HTTPConnection.java:2884) ~[grinder-httpclient-3.11.jar:na]
    at HTTPClient.HTTPConnection.handleRequest(HTTPConnection.java:2822) ~[grinder-httpclient-3.11.jar:na]
    at HTTPClient.HTTPConnection.setupRequest(HTTPConnection.java:2676) ~[grinder-httpclient-3.11.jar:na]
    at HTTPClient.HTTPConnection.Get(HTTPConnection.java:987) ~[grinder-httpclient-3.11.jar:na]
    at net.grinder.plugin.http.HTTPRequest$2.doRequest(HTTPRequest.java:504) ~[grinder-http-3.11.jar:na]
    at net.grinder.plugin.http.HTTPRequest$AbstractRequest.getHTTPResponse(HTTPRequest.java:1278) ~[grinder-http-3.11.jar:na]
    at net.grinder.plugin.http.HTTPRequest.GET(HTTPRequest.java:499) ~[grinder-http-3.11.jar:na]
    at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source) ~[na:na]

I am using:

- Cent Os 5.3
- Grinder 3.11
- Jython 2.5.3 (shipped with Grinder)
- Java 1.7.25
- automatic redirects set to true


Thanks,

--
Ouray Viney
http://www.viney.ca

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
grinder-use mailing list
grinder-use@...
https://lists.sourceforge.net/lists/listinfo/grinder-use
Bill Rosmus | 13 Jul 00:54 2013

separate files for test scripts

What is the proper procedure for creating test scripts/modules. That is, 
if I want one file implementing a TestRunner class that calls tests in 
other files (I would like to do one test case per file to keep things 
neat). Do I have to implement a TestRunner class in each script file? Or 
can I just wrap my tests in Test object in the scripts file (as long as 
I am calling it from a TestRunner class in the controlling module)? And 
will I still be able to instrument the tests from within each script 
file (i.e. get statistics).

Regards,

BillR

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
Fabiano Tarlao | 10 Jul 15:42 2013
Picon

Gzip/deflate problem

Hi,
 I'm new to grinder and I'm facing a problem with gzipped/deflated bodies in responses (I really like to left gzip support enabled in order to do proper load tests).

enviroment:
Grinder version 3.11
Java version 1.7.0_21
I have first  generated a script using the TCPProxy (than I modified it)

I need to  parse the responses from my application in order to construct proper requests, but unzipping the responses bodies triggers an JythonScriptExecutionException (attached at the bottom), which points to "java.util.zip.ZipException: incorrect header check"

I have already enabled content encoding with this function of mine:

def setConnectionDefaultsForHeron():
     connectionDefaults = HTTPPluginControl.getConnectionDefaults()
     connectionDefaults.useContentEncoding = True
     connectionDefaults.useTransferEncoding = True

it looks like (I have done few google search) Java InflaterInputStream fails to uncompress the body (lacking magic header?) http://stackoverflow.com/questions/11399350/gzinflate-in-java
I have tried enabling only gzip or only deflate in the request Accept-Encoding..

connectionDefaults.defaultHeaders = \
  [ NVPair('Accept-Encoding', 'gzip, deflate'),
    NVPair('Accept-Language', 'it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3'),
    NVPair('User-Agent', 'Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0'), ]

These is the request/response which triggers the exception (is indeed the first encoded response):

GET /nomeapplicazione/Login.Ajax.ashx/Initialize?FormKey=qWaqJkcOdkKirsuen4rgHw2&_=1373366275746 HTTP/1.1
Host: 192.168.1.166
Connection: Keep-Alive, TE
TE: trailers, deflate, gzip, compress
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0
Accept-Encoding: gzip, deflate, x-gzip, compress, x-compress
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept: text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
Referer: http://192.168.1.166/nomeapplicazione/Login.aspx
Cookie: ASP.NET_SessionId=rdaqfgmr1nwhxbzn41sflzqo
Cookie2: $Version="1"


HTTP/1.1 200 OK
Cache-Control: no-cache, no-store
Pragma: no-cache
Content-Type: text/javascript; charset=utf-8
Content-Encoding: deflate
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Wed, 10 Jul 2013 13:23:44 GMT
Content-Length: 157
...`.I.%******************************************** binarystuff   ../...gE.O...}tZ.U=.....~.......

Wireshark correctly translates the body into Line-based text data: text/javascript:
var initialData  = { STUFFFFFFF };

My google searches points to different solutions but it seems to me tha Grinder is not
decondig the bodies correctly..
I like to ask here for a solution first than writing a dirty workaround.

In case you have code/configuration snippets which solves my issue?

Thanks in advance

Fabiano
 

Zip Excetion details:

net.grinder.scriptengine.jython.JythonScriptExecutionException: Java exception calling TestRunner
    result = request201.GET('/nomeapplicazione/Login.Ajax.ashx/Initialize' +
    File "C:\Source\ProveCarico\customscripts\grinder.py", line 122, in page2
    self.page2()      # GET Initialize (requests 201-202)
    File "C:\Source\ProveCarico\customscripts\grinder.py", line 338, in __call__
java.util.zip.ZipException: incorrect header check
    at java.util.zip.InflaterInputStream.read(Unknown Source) ~[na:1.7.0_21]
    at HTTPClient.HTTPResponse.readResponseData(HTTPResponse.java:1011) ~[grinder-httpclient-3.11.jar:na]
    at HTTPClient.HTTPResponse.getData(HTTPResponse.java:515) ~[grinder-httpclient-3.11.jar:na]
    at net.grinder.plugin.http.HTTPRequest$AbstractRequest.getHTTPResponse(HTTPRequest.java:1292) ~[grinder-http-3.11.jar:na]
    at net.grinder.plugin.http.HTTPRequest.GET(HTTPRequest.java:499) ~[grinder-http-3.11.jar:na]
    at net.grinder.plugin.http.HTTPRequest.GET(HTTPRequest.java:445) ~[grinder-http-3.11.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_21]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_21]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_21]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_21]
    at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyObject.__call__(PyObject.java:404) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyObject.__call__(PyObject.java:408) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyMethod.__call__(PyMethod.java:124) ~[jython-standalone-2.5.3.jar:na]
    at org.python.pycode._pyx1.page2$4(C:\Source\ProveCarico\customscripts\grinder.py:131) ~[na:na]
    at org.python.pycode._pyx1.call_function(C:\Source\ProveCarico\customscripts\grinder.py) ~[na:na]
    at org.python.core.PyTableCode.call(PyTableCode.java:165) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyBaseCode.call(PyBaseCode.java:134) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyFunction.__call__(PyFunction.java:317) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyMethod.__call__(PyMethod.java:109) ~[jython-standalone-2.5.3.jar:na]
    at org.python.pycode._pyx1.__call__$25(C:\Source\ProveCarico\customscripts\grinder.py:398) ~[na:na]
    at org.python.pycode._pyx1.call_function(C:\Source\ProveCarico\customscripts\grinder.py) ~[na:na]
    at org.python.core.PyTableCode.call(PyTableCode.java:165) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyBaseCode.call(PyBaseCode.java:301) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyBaseCode.call(PyBaseCode.java:194) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyFunction.__call__(PyFunction.java:387) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:220) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyMethod.__call__(PyMethod.java:211) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyMethod.__call__(PyMethod.java:206) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyObject.invoke(PyObject.java:3555) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyInstance.instance___call__(PyInstance.java:351) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyInstance.__call__(PyInstance.java:342) ~[jython-standalone-2.5.3.jar:na]
    at org.python.core.PyObject.__call__(PyObject.java:371) ~[jython-standalone-2.5.3.jar:na]
    at net.grinder.scriptengine.jython.JythonScriptEngine$JythonWorkerRunnable.run(JythonScriptEngine.java:263) ~[grinder-core-3.11.jar:na]
    at net.grinder.engine.process.GrinderThread.run(GrinderThread.java:119) ~[grinder-core-3.11.jar:na]
    at java.lang.Thread.run(Unknown Source) [na:1.7.0_21]


 



------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
grinder-use mailing list
grinder-use@...
https://lists.sourceforge.net/lists/listinfo/grinder-use
Ouray Viney | 8 Jul 20:25 2013
Picon

Using automatic redirects

Hi Phil,

I was wondering if there is a clever way to uniquely set the automatic redirects on a per script basis even when running multiple scripts in parallel.

I have updated a few scripts to use automatic redirects as it really makes the scripts more robust to change.  However, in doing so, I have noticed that some of the other scripts inherit this setting.  I tested by forcing the setting to false in the scripts I didn't want redirects, but that didn't help.  The setting seems to be global to all scripts once set (perhaps the last script inititialized wins?).

Thanks,

--
Ouray Viney
http://www.viney.ca

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
grinder-use mailing list
grinder-use@...
https://lists.sourceforge.net/lists/listinfo/grinder-use

Gmane