Re: Grinder Feature Enhancements for Worker Notifications and Console Reporting

Philip Aston <[email protected]>
Newsgroups gmane.comp.java.grinder.devel
Message-ID <[email protected]>
  Apologies for the tardy response. I'm very busy with work at the 
moment, and I don't see this changing for the next few months.

Anyway, if this is still an open question, I would recommend not using a 
blocking sender to wait for the console response. Instead I would have 
some per-worker lock registry. When a blocking point is reached, the 
worker can place the fact its waiting for a response in the registry 
then synchronously call the console to register the lock (removing it 
from the registry if the call fails). The worker can then sleep until a 
different message is broadcast from the console, through the normal 
channels, which comes in through the main worker listener and updates 
the lock registry, so waking the appropriate thread(s).

- Phil

On 03/06/10 18:22, David Smith wrote:
> Hi Phil,
>
> Thanks for the feedback.  I am starting to prototype the synchronisation API
> to create the sync handles, wait for all handles across all agents to close
> or reach the waiting point, and close the handles.  For this type of
> blocking communication from the agent to the console it looks like I will
> need to create a new blocking sender instance for the workers to use for
> these sync handle operations, since they need a response from the console to
> continue.  Would having a blocking sender instantiated at a high level in
> the worker's code base (such as in the GrinderProcess class) be beneficial
> for future coding projects, or do you think it would be best to retain the
> blocking sender privately in my new synchronization classes?
>
>
> David Smith
> Information Sciences Institute
> [email protected]
> +1 (310)-448-9113
>
>
> -----Original Message-----
> From: Philip Aston [mailto:[email protected]]
> Sent: Saturday, May 29, 2010 8:39 AM
> To: grinder-development-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> Subject: Re: [Grinder-development] Grinder Feature Enhancements for Worker
> Notifications and Console Reporting
>
> Hi David,
>
> On 28/05/10 02:34, David Smith wrote:
>> Good evening,
>>
>> Our organization is interested in using The Grinder for some
>> performance test measurements we will record.  There are a few
>> enhancements we would like to discuss and are willing to contribute
>> the code back to the community if there is interest in any of them.
>>
>> 1. *Ability to wait for a test to finish on all agent workers prior to
>> starting the next test.*  This would allow us to batch run a large
>> number of concurrent tests and help ensure that the same test is
>> actually running on all agents at any given time.  It seems like the
>> easiest way for us to do this is to run the console in headless mode
>> and enhance the Console API so that it allows listeners to be notified
>> when agents have started and finished processing a test.  We could
>> utilize this enhancement, along with the startWorkerProcesses()
>> method, to control when the next test starts on all agents.  I saw
>> that having a listener in the Console API was on the to-do list.
>>
> Yes, I've thought about doing something like this. I wouldn't base it on
> Test()'s though, but instead create a separate synchronisation API which
> the scripts would use. I don't think it would involve the console API,
> but would use the console for coordination.
>
> I'd imagine an API that looks something like this:
>
>       sync = grinder.synchronisation.register("my sync point") # create a
> sync handle
>
>       ##
>
>       sync.waitForAll()    # Blocks until all handles for "my sync point"
> have reached this point or have been closed
>
>       ##
>
>       sync.close()    # In case a script no longer wants to participate
> in a sync point. Will also happen automatically if the worker
> disconnects from the console.
>
>
>
>> 2. *An option to publish detailed test results to the console.*  In
>> many cases the individual test results would contain too much data to
>> maintain in the console, making the summarized results the better
>> information to present.  However in our testing it would be more
>> useful to have all of the data collected from all the agents into a
>> single location by the console.
>>
> There may be a data volume issue here. Not sure.
>
>> 3. *Collect statistics in a headless console.*  If our solution needs
>> to involve running the console in headless mode and sending all the
>> data collected to it, we will need to enhance the Console so that it
>> is able to record the data somehow.  I also saw that this is a To-do
>> list item.
>>
>> 4. *Push files from the console to the agents when running in headless
>> mode.*  We foresee ourselves having many agents deployed, so manually
>> transferring script changes to all of these files will be problematic
>> for us.
>>
> Yes, definitely both "to do"s
>
>> Let me know if any of these enhancements are already underway by
>> someone else.  We would like our efforts to benefit the project as a
>> whole as well as our own needs, so feel free to discuss any additional
>> requirements or ideas regarding these enhancements with us and the list.
>>
> I won't be working on any of these in the near future, and I'd welcome
> such contributions. Please go ahead and prototype
>
> Be aware that I'm a benevolent dictator and can be fussy about accepting
> patches, and will want to review things carefully before merging them
> back into the source tree, there's some hints at
> http://grinder.sourceforge.net/development/contributing.html. Start with
> some small things, and we'll proceed from there.
>
> - Phil
>
>
> ----------------------------------------------------------------------------
> --
>
> _______________________________________________
> Grinder-development mailing list
> Grinder-development-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/grinder-development
>
>


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.