Aris Green | 8 Feb 06:28 2013
Picon

Need help with custom statistics and totals

Hello, I created a test and I instrumented a function that downloads a
several large file in chunks that I hash as I download.  I through the
file way, because all I care about is the hash which I can use to very
against a known value.  I created the following statistic to add up
the total number of bytes each time this instrumented function is
called to download and hash different files.

grinder.statistics.registerDataLogExpression("Bytes Downloaded", "userLong0")
grinder.statistics.registerSummaryExpression("All Bytes Downloaded",
"(+ userLong0)")

After a file is downloaded, I call

grinder.statistics.forCurrentTest.addLong("userLong0", totalRead)

this also seems to work the same in this case as if I had called
"setLong" where totalRead is the number of bytes for the download.
The summary on the console seems to be updated with the grand total of
all bytes downloaded which is what I want, but the final Totals row
has a different value that is always less.  I am trying to figure out
what is going on.  I have already read the documentation on custom
statistics and looked at example scripts.  I have even searched all
over Google and Bing for better explanations of custom Grinder
statistics but can't seem to find much.  Is there something I need to
change in my call to registerSummaryExpress()?  I tried "(sum
userLong0)" for the expression but that threw an exception.

I would like to get a better grasp on Grinder statistics.  The docs
say that the expression syntax follows a fixed point format, but it
does not seem to exactly match the Reverse Polish Notation fixed point
(Continue reading)

Ouray Viney | 7 Feb 08:36 2013
Picon

Re: Grinder REST Console Service and Remote Agents

Hi Philip,

My comments inline

On 2013-02-07, at 2:18, Philip Aston <philipa-O5WfVfzUwx8@public.gmane.org> wrote:

If the worker process isn't logging any tests (I assume its data file is similarly empty), then they'll be no statistics to report back to the console, however it should at least have reported "worker X (m/n threads)".

Los are fine at this point.  Exactly as they should be.


What's at the start of the worker process log, does it successfully load an instrumenter?

I will check this tomorrow, but assume yes since the logs are populated correctly.


It smells like the worker threads aren't running correctly. Does the worker process log contain any errors? Are the worker threads forcibly terminated when the worker process is stopped - perhaps they're blocked in the Java code under test? Maybe take a thread dump of the worker process?

No clear sign of anything blocking.  No related errors.  Console can see the agents, just not the worker bees :-).


- Phil

On 07/02/13 07:09, Ouray Viney wrote:
Hi All,

I have nailed this issue down to a particular script.  This same script works fine in my dev. environment.  However, when I try to run the same script in a our perf. environment it causes the communication between the Console and WorkProcessors.  This script is not using the http recording model, rather a Java based test, instrumenting the Java fat client API.  Evening though the Console doesn't report any stats.  The Processes tab doesn't show the running threads, only the Agent process.  If I simply swap out the script for a sample script, things also run as expected.  This is what leads me to believe that the issue is being caused by the script (which used to work fine).

If I run a sample script with the same grinder.properties, the sample scripts behaves correctly i.e. the Console is showing stats from the WorkerProcessors.

I am getting close to having exhausted all possible things to try.

Any help would be appreciated

Ouray Viney

On Thu, Feb 7, 2013 at 1:19 AM, Ouray Viney <ouray-BbpMSQBCDjY@public.gmane.org> wrote:
Hi All,

OK, so after a bunch of testing/debugging I believe this particular issue that I described has been isolated to a particular environment.  I am not able to reproduce the issues in my dev Ubuntu VM.  

If I can figure out what the issues is in my environment, I'll post the details.  What was interesting in all my testing was the fact that a sample script from the examples dir ran fine and gave the desired behavior in the Console.

Sorry for the verbose chatter, got a little frustrated today with this one =).

Kind Rgds,

Ouray


On Wed, Feb 6, 2013 at 3:06 PM, Ouray Viney <ouray-BbpMSQBCDjY@public.gmane.org> wrote:
Another interesting fact is that the WorkProcessor log doesn't contain the summary table at the end of the log as it usually does:

2013-02-06 14:51:48,445 INFO  1128450-001-0 : elapsed time is 610319 ms
2013-02-06 14:51:48,445 INFO  1128450-001-0 : Final statistics for this process:
2013-02-06 14:51:48,457 INFO  1128450-001-0 :
             Tests        Errors       Mean Test    Test Time    TPS
                                       Time (ms)    Standard
                                                    Deviation
                                                    (ms)


Totals       0            0            -            0.00         0.00

  Tests resulting in error only contribute to the Errors column.
  Statistics for individual tests can be found in the data file, including
  (possibly incomplete) statistics for erroneous tests. Composite tests
  are marked with () and not included in the totals.


On Wed, Feb 6, 2013 at 2:09 PM, Ouray Viney <ouray-BbpMSQBCDjY@public.gmane.org> wrote:
Hi All,

What might be causing the WorkProcessors (child proc to the Agent) when running on a remote system to not correctly report back to the Console Service.  I am seeing the agents, but when I start the WorkProcessors the Console doesn't see them when I request status on the agents.  The call returns the status of the agents, but doesn't show any relevant information about the running WorkerProcessors.  I did validate the a child process did spawn.

Is there a particular Console setting/grinder.property that I need to set to allow the WorkProcessors (when running from a remote Grinder Agent) to communicate with the Grinder Console.

Environment details:
==================
- separate host for the console service
- 9 separate servers hosting two running agents
- When my test starts, two WorkerProcessors are invoked.

Other Details:
============
- I can see the WorkerProcess logs shows the test is running correctly.
- When I query the Console for  

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



------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
grinder-use mailing list
grinder-use@...
https://lists.sourceforge.net/lists/listinfo/grinder-use
FMehran | 6 Feb 22:41 2013

I am not very clear on Process vs agent concept

Hello,  I read the manual and user guide.  This is not very clear to me.

How do you explain agent vs. process?   Can I have one agent, but two processes?  Like I am currently using my
default computer
That I run the console on, also as my agent.  If I  start  another agent from another computer  (and connect to the
same console), then I have two agents.
So can I say agents are different computers logging on to the console?

Also what would be the reason if I run two processes on the same agent with the same set of scripts? Why would I
need to do that?

I hope I am clear with my questions?

Thanks

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
Patrick Killelea | 6 Feb 22:03 2013

Logging total latency

I'm kind of surprised that by default The Grinder does not give you the most important number: the total latency of an HTTP request.

Instead, you get these by default:
    Thread
    Run
    Test
    Start time (ms since Epoch)
    Test time
    Errors
    HTTP response code
    HTTP response length
    HTTP response errors
    Time to resolve host
    Time to establish connection
    Time to first byte
    New connections

How do I get total latency? Any advice appreciated. The Grinder's logging system is very obscure.

Patrick
------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
grinder-use mailing list
grinder-use@...
https://lists.sourceforge.net/lists/listinfo/grinder-use
Tan | 6 Feb 20:53 2013
Picon

No Log/Data File

When running scripts my grinder does not create a log or data file, I have to
use the save results button to get any data exported.

I copied the directory from a  co-worker's computer that has it producing
these files and transferred it to my computer (under different directory
name and updated my PATH to point to the second directory).  After setting
the path and rebooting, using my co-worker's files still didn't produce the
log and data files.  Any ideas?

--
View this message in context: http://grinder.996249.n3.nabble.com/No-Log-Data-File-tp8253.html
Sent from the Grinder - User mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
Ouray Viney | 6 Feb 20:09 2013
Picon

Grinder REST Console Service and Remote Agents

Hi All,


What might be causing the WorkProcessors (child proc to the Agent) when running on a remote system to not correctly report back to the Console Service.  I am seeing the agents, but when I start the WorkProcessors the Console doesn't see them when I request status on the agents.  The call returns the status of the agents, but doesn't show any relevant information about the running WorkerProcessors.  I did validate the a child process did spawn.

Is there a particular Console setting/grinder.property that I need to set to allow the WorkProcessors (when running from a remote Grinder Agent) to communicate with the Grinder Console.

Environment details:
==================
- separate host for the console service
- 9 separate servers hosting two running agents
- When my test starts, two WorkerProcessors are invoked.

Other Details:
============
- I can see the WorkerProcess logs shows the test is running correctly.
- When I query the Console for  

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

------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
grinder-use mailing list
grinder-use@...
https://lists.sourceforge.net/lists/listinfo/grinder-use
Shankar Ramanathan | 4 Feb 07:07 2013

Re: grinder-use Digest, Vol 81, Issue 1

<at> Gary Mulder

Yes that is correct & thanks for qualifying the info. Is there any other nifty way to achieve same?

Btw the 'date pattern' can be modified. Check documentation

Cheers,
Shankar

------------------------------

Message: 5
Date: Sun, 3 Feb 2013 17:50:16 +0000
From: Gary Mulder <flyingkiwiguy-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [Grinder-use] Way to add Time Stamp to Grinder Log Files
To: grinder-use <grinder-use-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Message-ID:
        <CAKy9zTAo84BO1fSr6jjng2s4+MEYJyeA=L-_KYfhgBw-jPeftQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Content-Type: text/plain; charset="utf-8"

You mean: Log file names.

On 3 February 2013 17:44, Shankar Ramanathan <
shankar.ramanathan <at> globallogic.com> wrote:

> Hi Everyone,
>
> I thought info below might be useful for general consumption. Found a way
> to add time stamp to log files generated by Grinder process for better
> indexing
>
> Add timestamp & assign it to 'by second' key, in all 'fileNamePattern'
> property found in 'logback-worker.xml' file. Instruction are given in doc
> for generating this file before even it is modified. Strongly recommend gng
> through http://logback.qos.ch/manual/appenders.html
>
> <property name="PREFIX" value="${LOG_DIRECTORY}/${WORKER_NAME}" />
>   <timestamp key="bySecond" datePattern="MM:dd' Time = 'HH:mm:ss"/>
>
>
> <fileNamePattern>${PREFIX}-${bySecond}.log%i</fileNamePattern>
> <fileNamePattern>${PREFIX}-${bySecond}-data.log%i</fileNamePattern>
>
> Cheers,
> Shankar
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_jan
> _______________________________________________
> grinder-use mailing list
> grinder-use <at> lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/grinder-use
>
>
-------------- next part --------------
An HTML attachment was scrubbed...

------------------------------

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan

------------------------------

_______________________________________________
grinder-use mailing list
grinder-use-5NWGOfrQmnd4wTydcyPnfg@public.gmane.orgceforge.net
https://lists.sourceforge.net/lists/listinfo/grinder-use


End of grinder-use Digest, Vol 81, Issue 1
******************************************

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
grinder-use mailing list
grinder-use@...
https://lists.sourceforge.net/lists/listinfo/grinder-use
Shankar Ramanathan | 3 Feb 18:44 2013

Way to add Time Stamp to Grinder Log Files

Hi Everyone,


I thought info below might be useful for general consumption. Found a way to add time stamp to log files generated by Grinder process for better indexing

Add timestamp & assign it to 'by second' key, in all 'fileNamePattern' property found in 'logback-worker.xml' file. Instruction are given in doc for generating this file before even it is modified. Strongly recommend gng through http://logback.qos.ch/manual/appenders.html

<property name="PREFIX" value="${LOG_DIRECTORY}/${WORKER_NAME}" />
  <timestamp key="bySecond" datePattern="MM:dd' Time = 'HH:mm:ss"/>


<fileNamePattern>${PREFIX}-${bySecond}.log%i</fileNamePattern>
<fileNamePattern>${PREFIX}-${bySecond}-data.log%i</fileNamePattern>

Cheers,
Shankar
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
grinder-use mailing list
grinder-use@...
https://lists.sourceforge.net/lists/listinfo/grinder-use
Aris Green | 30 Jan 17:32 2013
Picon

Maven for just a purely Grinder based load testing project.

We used The Grinder last year for load testing, but in the
documentation, there is a remark in
http://grinder.sourceforge.net/download.html about how some users may
prefer to use Maven to manage The Grinder.  Seems nice, use Maven to
download the latest stable version from the Maven artifact
repositories.  Now, is advice in the docs just for Java projects using
Maven for the build and they just add a load testing portion in the
project that uses the Gridner?  How would you use Maven to style a
project that just did load testing but build no artifacts?  Maven
seems nice for its dependency resolution, but is it the right thing
for running a job that just does load testing and report results?  I
am wondering if we should just install The Grinder without Maven like
we did last year in a CentOS/Redhat type load testing environment and
forget about Maven.  I would appreciate it if someone could point me
in the right direction and give me a place to look for some examples
where Maven was used just to install The Grinder and maybe kick of
some load testing scripts.

Thank you,
Aris Green

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
grindertester | 27 Jan 13:13 2013
Picon

GWT request failed on server

Heloo,

I have recorded a script for GWT application, but it does not replay
correctly.

Script is the following (username and passowrd modified):

  def page9(self):
    """POST DataProviederServices (request 901)."""
    result = request901.POST('/admin/DataProviederServices',

'7|0|4|http://intra.is.vvd.gov.lv/admin/|A66FC386C3498BC9E8ED6E85AB720930|bi.gwt.fw.admin.client.services.DataProviederServices|getAdminUser|1|2|3|4|0|',
      ( NVPair('Content-Type', 'text/x-gwt-rpc; charset=utf-8'),
        httpUtilities.basicAuthorizationHeader('***\\***', '********'), ))

    return result

Server is responding to this with the following message:
The call failed on the server; see server log for details

In Fiddler I can see the following response (correct response):
//OK[0,0,-58,0,0,0,8,46,6,0,45,6,44,0,0,0,0,0,8,43,6,23,0,0,0,0,0,8,42,6,0,0,4,3,0,0,0,8,41,6,0,40,39,-5,1489649854

Any suggestions how to deal with this problem?

Best Regards,

Rolands

--
View this message in context: http://grinder.996249.n3.nabble.com/GWT-request-failed-on-server-tp8227.html
Sent from the Grinder - User mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
Rob Schroder | 24 Jan 20:44 2013

Thrift Protocol

Does the Grinder have a client for the thrift protocol, or is that something that needs to be custom written?
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d

Gmane