You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by Milamber <mi...@apache.org> on 2017/02/18 20:11:16 UTC

Re: svn commit: r1783580 - /jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java


On 18/02/2017 19:58, fschumacher@apache.org wrote:
> Author: fschumacher
> Date: Sat Feb 18 19:58:02 2017
> New Revision: 1783580
>
> URL: http://svn.apache.org/viewvc?rev=1783580&view=rev
> Log:
> Make GUI more responsive when it gets a lot of events.
> Convert Graph Visualizer to use a queue, when new Samples are to be inserted.
> Update the model (or at least notify the gui) only periodically.
> That way we get the update of the model out of the busy path of the swing
> event loop. Note, that this will not save us from OOM exceptions.
>
> Bugzilla Id: 60687
>
>
> Modified:
>      jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
>
> Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java?rev=1783580&r1=1783579&r2=1783580&view=diff
> ==============================================================================
> --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java (original)
> +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java Sat Feb 18 19:58:02 2017
> @@ -27,6 +27,8 @@ import java.awt.Image;
> [snip]
> +
> +        new Timer(500, e -> collectSamplesFromQueue()).start();

For this bugzilla 60687, perhaps use a new property for this refresh 
time to allow to fine the tuning directly by users.
(at least, centralize the value into a constant for all listeners)





>       }
>   
>       // Methods used in creating the GUI
>
>
>


Re: svn commit: r1783580 - /jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java

Posted by Milamber <mi...@apache.org>.

On 18/02/2017 20:27, Felix Schumacher wrote:
> Am 18.02.2017 um 21:25 schrieb Philippe Mouawad:
>> On Sat, Feb 18, 2017 at 9:23 PM, Felix Schumacher <
>> felix.schumacher@internetallee.de> wrote:
>>
>>> Am 18.02.2017 um 21:11 schrieb Milamber:
>>>
>>>>
>>>> On 18/02/2017 19:58, fschumacher@apache.org wrote:
>>>>
>>>>> Author: fschumacher
>>>>> Date: Sat Feb 18 19:58:02 2017
>>>>> New Revision: 1783580
>>>>>
>>>>> URL: http://svn.apache.org/viewvc?rev=1783580&view=rev
>>>>> Log:
>>>>> Make GUI more responsive when it gets a lot of events.
>>>>> Convert Graph Visualizer to use a queue, when new Samples are to be
>>>>> inserted.
>>>>> Update the model (or at least notify the gui) only periodically.
>>>>> That way we get the update of the model out of the busy path of 
>>>>> the swing
>>>>> event loop. Note, that this will not save us from OOM exceptions.
>>>>>
>>>>> Bugzilla Id: 60687
>>>>>
>>>>>
>>>>> Modified:
>>>>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/Gr
>>>>> aphVisualizer.java
>>>>>
>>>>> Modified: 
>>>>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/Gr
>>>>> aphVisualizer.java
>>>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org
>>>>> /apache/jmeter/visualizers/GraphVisualizer.java?rev=1783580&
>>>>> r1=1783579&r2=1783580&view=diff
>>>>> ============================================================================== 
>>>>>
>>>>>
>>>>> --- 
>>>>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
>>>>> (original)
>>>>> +++ 
>>>>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
>>>>> Sat Feb 18 19:58:02 2017
>>>>> @@ -27,6 +27,8 @@ import java.awt.Image;
>>>>> [snip]
>>>>> +
>>>>> +        new Timer(500, e -> collectSamplesFromQueue()).start();
>>>>>
>>>> For this bugzilla 60687, perhaps use a new property for this 
>>>> refresh time
>>>> to allow to fine the tuning directly by users.
>>>> (at least, centralize the value into a constant for all listeners)
>>>>
>>> Yes, I will do that. I thought about adding properties for each 
>>> Listener,
>>> and a fallback one, that gets used, if the special one is not set.
>>>
>>
>>
>>> For example:
>>>
>>> jmeter.loggerpanel.refresh_period=500
>>> jmeter.gui.refresh_period=500
>>>
>>> The loggerpanel one is looked up first and if not found, the
>>> jmeter.gui.refresh_period would be used.
>>>
>>> What do you think?
>>>
>> Too much properties may be overkill. 1 shared seems enough no ?
> Would be fine with me, too.

Why not, too.

>
> Felix
>>
>>> Felix
>>>
>>>
>>>>
>>>>
>>>>
>>>>        }
>>>>>          // Methods used in creating the GUI
>>>>>
>>>>>
>>>>>
>>>>>
>>
>
>


Re: svn commit: r1783580 - /jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 18.02.2017 um 21:25 schrieb Philippe Mouawad:
> On Sat, Feb 18, 2017 at 9:23 PM, Felix Schumacher <
> felix.schumacher@internetallee.de> wrote:
>
>> Am 18.02.2017 um 21:11 schrieb Milamber:
>>
>>>
>>> On 18/02/2017 19:58, fschumacher@apache.org wrote:
>>>
>>>> Author: fschumacher
>>>> Date: Sat Feb 18 19:58:02 2017
>>>> New Revision: 1783580
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=1783580&view=rev
>>>> Log:
>>>> Make GUI more responsive when it gets a lot of events.
>>>> Convert Graph Visualizer to use a queue, when new Samples are to be
>>>> inserted.
>>>> Update the model (or at least notify the gui) only periodically.
>>>> That way we get the update of the model out of the busy path of the swing
>>>> event loop. Note, that this will not save us from OOM exceptions.
>>>>
>>>> Bugzilla Id: 60687
>>>>
>>>>
>>>> Modified:
>>>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/Gr
>>>> aphVisualizer.java
>>>>
>>>> Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/Gr
>>>> aphVisualizer.java
>>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org
>>>> /apache/jmeter/visualizers/GraphVisualizer.java?rev=1783580&
>>>> r1=1783579&r2=1783580&view=diff
>>>> ==============================================================================
>>>>
>>>> --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
>>>> (original)
>>>> +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
>>>> Sat Feb 18 19:58:02 2017
>>>> @@ -27,6 +27,8 @@ import java.awt.Image;
>>>> [snip]
>>>> +
>>>> +        new Timer(500, e -> collectSamplesFromQueue()).start();
>>>>
>>> For this bugzilla 60687, perhaps use a new property for this refresh time
>>> to allow to fine the tuning directly by users.
>>> (at least, centralize the value into a constant for all listeners)
>>>
>> Yes, I will do that. I thought about adding properties for each Listener,
>> and a fallback one, that gets used, if the special one is not set.
>>
>
>
>> For example:
>>
>> jmeter.loggerpanel.refresh_period=500
>> jmeter.gui.refresh_period=500
>>
>> The loggerpanel one is looked up first and if not found, the
>> jmeter.gui.refresh_period would be used.
>>
>> What do you think?
>>
> Too much properties may be overkill. 1 shared seems enough no ?
Would be fine with me, too.

Felix
>
>> Felix
>>
>>
>>>
>>>
>>>
>>>        }
>>>>          // Methods used in creating the GUI
>>>>
>>>>
>>>>
>>>>
>


Re: svn commit: r1783580 - /jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java

Posted by Philippe Mouawad <ph...@gmail.com>.
On Sat, Feb 18, 2017 at 9:23 PM, Felix Schumacher <
felix.schumacher@internetallee.de> wrote:

> Am 18.02.2017 um 21:11 schrieb Milamber:
>
>>
>>
>> On 18/02/2017 19:58, fschumacher@apache.org wrote:
>>
>>> Author: fschumacher
>>> Date: Sat Feb 18 19:58:02 2017
>>> New Revision: 1783580
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1783580&view=rev
>>> Log:
>>> Make GUI more responsive when it gets a lot of events.
>>> Convert Graph Visualizer to use a queue, when new Samples are to be
>>> inserted.
>>> Update the model (or at least notify the gui) only periodically.
>>> That way we get the update of the model out of the busy path of the swing
>>> event loop. Note, that this will not save us from OOM exceptions.
>>>
>>> Bugzilla Id: 60687
>>>
>>>
>>> Modified:
>>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/Gr
>>> aphVisualizer.java
>>>
>>> Modified: jmeter/trunk/src/components/org/apache/jmeter/visualizers/Gr
>>> aphVisualizer.java
>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org
>>> /apache/jmeter/visualizers/GraphVisualizer.java?rev=1783580&
>>> r1=1783579&r2=1783580&view=diff
>>> ==============================================================================
>>>
>>> --- jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
>>> (original)
>>> +++ jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
>>> Sat Feb 18 19:58:02 2017
>>> @@ -27,6 +27,8 @@ import java.awt.Image;
>>> [snip]
>>> +
>>> +        new Timer(500, e -> collectSamplesFromQueue()).start();
>>>
>>
>> For this bugzilla 60687, perhaps use a new property for this refresh time
>> to allow to fine the tuning directly by users.
>> (at least, centralize the value into a constant for all listeners)
>>
> Yes, I will do that. I thought about adding properties for each Listener,
> and a fallback one, that gets used, if the special one is not set.
>



>
> For example:
>
> jmeter.loggerpanel.refresh_period=500
> jmeter.gui.refresh_period=500
>
> The loggerpanel one is looked up first and if not found, the
> jmeter.gui.refresh_period would be used.
>
> What do you think?
>
Too much properties may be overkill. 1 shared seems enough no ?

>
> Felix
>
>
>>
>>
>>
>>
>>       }
>>>         // Methods used in creating the GUI
>>>
>>>
>>>
>>>
>>
>


-- 
Cordialement.
Philippe Mouawad.

Re: svn commit: r1783580 - /jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java

Posted by Milamber <mi...@apache.org>.

On 18/02/2017 20:23, Felix Schumacher wrote:
> Am 18.02.2017 um 21:11 schrieb Milamber:
>>
>>
>> On 18/02/2017 19:58, fschumacher@apache.org wrote:
>>> Author: fschumacher
>>> Date: Sat Feb 18 19:58:02 2017
>>> New Revision: 1783580
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1783580&view=rev
>>> Log:
>>> Make GUI more responsive when it gets a lot of events.
>>> Convert Graph Visualizer to use a queue, when new Samples are to be 
>>> inserted.
>>> Update the model (or at least notify the gui) only periodically.
>>> That way we get the update of the model out of the busy path of the 
>>> swing
>>> event loop. Note, that this will not save us from OOM exceptions.
>>>
>>> Bugzilla Id: 60687
>>>
>>>
>>> Modified:
>>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java 
>>>
>>>
>>> Modified: 
>>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java?rev=1783580&r1=1783579&r2=1783580&view=diff
>>> ============================================================================== 
>>>
>>> --- 
>>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java 
>>> (original)
>>> +++ 
>>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java 
>>> Sat Feb 18 19:58:02 2017
>>> @@ -27,6 +27,8 @@ import java.awt.Image;
>>> [snip]
>>> +
>>> +        new Timer(500, e -> collectSamplesFromQueue()).start();
>>
>> For this bugzilla 60687, perhaps use a new property for this refresh 
>> time to allow to fine the tuning directly by users.
>> (at least, centralize the value into a constant for all listeners)
> Yes, I will do that. I thought about adding properties for each 
> Listener, and a fallback one, that gets used, if the special one is 
> not set.
>
> For example:
>
> jmeter.loggerpanel.refresh_period=500
> jmeter.gui.refresh_period=500
>
> The loggerpanel one is looked up first and if not found, the 
> jmeter.gui.refresh_period would be used.
>
> What do you think?

Sound good for me. Don't forget to add the comments about the behavior 
description (and the units) inside the jmeter.properties file (and the 
documentation)
>
> Felix
>>
>>
>>
>>
>>
>>>       }
>>>         // Methods used in creating the GUI
>>>
>>>
>>>
>>
>
>


Re: svn commit: r1783580 - /jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 18.02.2017 um 21:11 schrieb Milamber:
>
>
> On 18/02/2017 19:58, fschumacher@apache.org wrote:
>> Author: fschumacher
>> Date: Sat Feb 18 19:58:02 2017
>> New Revision: 1783580
>>
>> URL: http://svn.apache.org/viewvc?rev=1783580&view=rev
>> Log:
>> Make GUI more responsive when it gets a lot of events.
>> Convert Graph Visualizer to use a queue, when new Samples are to be 
>> inserted.
>> Update the model (or at least notify the gui) only periodically.
>> That way we get the update of the model out of the busy path of the 
>> swing
>> event loop. Note, that this will not save us from OOM exceptions.
>>
>> Bugzilla Id: 60687
>>
>>
>> Modified:
>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
>>
>> Modified: 
>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java
>> URL: 
>> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java?rev=1783580&r1=1783579&r2=1783580&view=diff
>> ============================================================================== 
>>
>> --- 
>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java 
>> (original)
>> +++ 
>> jmeter/trunk/src/components/org/apache/jmeter/visualizers/GraphVisualizer.java 
>> Sat Feb 18 19:58:02 2017
>> @@ -27,6 +27,8 @@ import java.awt.Image;
>> [snip]
>> +
>> +        new Timer(500, e -> collectSamplesFromQueue()).start();
>
> For this bugzilla 60687, perhaps use a new property for this refresh 
> time to allow to fine the tuning directly by users.
> (at least, centralize the value into a constant for all listeners)
Yes, I will do that. I thought about adding properties for each 
Listener, and a fallback one, that gets used, if the special one is not set.

For example:

jmeter.loggerpanel.refresh_period=500
jmeter.gui.refresh_period=500

The loggerpanel one is looked up first and if not found, the 
jmeter.gui.refresh_period would be used.

What do you think?

Felix
>
>
>
>
>
>>       }
>>         // Methods used in creating the GUI
>>
>>
>>
>