Hi Adrian,

OK, let's try to be constructive. I must say my 1st botched tentative had side 
effects on the Metrics framework.

I have created https://issues.apache.org/jira/browse/OFBIZ-5198 and attached a 
patch. 

Please review and if you are still against explain why in details, thanks!

I don't believe it's possible to fulfil my requirement with only Performance 
Metrics configuration. But if I miss something please explain how you would do 
it.

Jacques


From: "Adrian Crum" <adrian.c...@sandglass-software.com>
> Okay, I reverted your commit and made some changes to the performance 
> metrics feature. Those changes should accommodate your requirements.
> 
> The discussion will go smoother if you list your requirements, and allow 
> me to show you how to configure the metrics to do what you want.
> 
> -Adrian
> 
> On 5/18/2013 12:52 PM, Adrian Crum wrote:
>> No, you do not want a simple average - because it is meaningless. You 
>> don't have to be an expert in statistics to understand why.
>>
>> Your design averages all requests since server start. A server could 
>> run for weeks, months, years... so your average includes response 
>> times from so long ago that they are no longer relevant.
>>
>> -Adrian
>>
>> On 5/18/2013 12:42 PM, Jacques Le Roux wrote:
>>> From: "Adrian Crum" <adrian.c...@sandglass-software.com>
>>>> I'm going to try one more time to ask nicely, and if that doesn't work,
>>>> then I'm prepared to veto your commit.
>>>>
>>>> You added redundant methods to the existing code that do nothing more
>>>> than duplicate existing functionality.
>>> "duplicate existing functionality. " Not true for 2 reasons
>>> 1) recordServiceRate() provides only the serviceRate variable which 
>>> is then used to feed the corresponding column in the webtools form.
>>> I need another column to store the request events durations for the 
>>> chained requests. Hence a new requestRate variable is used in 
>>> recordRequestRate(). I could have called it EventRequestRate to make 
>>> it more clear, because it really measures the event duration which 
>>> for chained requests is the only duration which makes sense.
>>> 2)  As says the javadoc, recordServiceRate() implements as default a 
>>> smoothed moving average.  I wanted something simpler: a simple 
>>> average, that's what recordRequestRate() does.
>>>
>>>> You are not taking the time to
>>>> understand how to use the feature properly.
>>> I did. You are not taking the time to understand my need. I want to 
>>> measure chained request events durations, and I want to use a simple 
>>> average not a smoothed moving average.
>>>
>>>> Instead, you are being
>>>> argumentative and supporting your view with imaginary users with
>>>> imaginary requirements.
>>> I'm an user and I'm not imaginary. So what I want I believe some 
>>> other users would like.
>>> I thought about putting it in the original Stats form which lacks a 
>>> way to measure chained requests events duration.
>>> But I found Metrics form easier to read, Metrics implementation easy 
>>> to understand and  using only memory a plus
>>>
>>>> Please revert your commit, then we can discuss this further.
>>> If I revert I will lose the functionallity I want (chained request 
>>> events durations measured with a simple average) and with the current 
>>> code it can't be implemented.
>>> I understand that you want to keep the Metrics classes as they are 
>>> now but I did not change it, just added what I needed
>>>
>>> What I could to if you want is below but I'd then lose the simple 
>>> average calculation and things would get blurred rather than simplified.
>>>
>>> Index: base/src/org/ofbiz/base/metrics/Metrics.java
>>> ===================================================================
>>> --- base/src/org/ofbiz/base/metrics/Metrics.java (revision 1484069)
>>> +++ base/src/org/ofbiz/base/metrics/Metrics.java (working copy)
>>> @@ -76,12 +76,11 @@
>>>       void recordServiceRate(int numEvents, long time);
>>>         /**
>>> -     * Records the request time for <code>numEvents</code> taking
>>> -     * <code>time</code> milliseconds to be processed.
>>> -     */
>>> -    void recordRequestRate(int numEvents, long time);
>>> +    * Records in varName the time for <code>numEvents</code> taking
>>> +    * <code>time</code> milliseconds to be processed.
>>> +    */
>>> +   void recordServiceRate(int numEvents, long time, String varName);
>>>         /** Resets all metrics. */
>>>       void reset();
>>> -
>>>   }
>>> \ No newline at end of file
>>> Index: base/src/org/ofbiz/base/metrics/MetricsFactory.java
>>> ===================================================================
>>> --- base/src/org/ofbiz/base/metrics/MetricsFactory.java (revision 
>>> 1484069)
>>> +++ base/src/org/ofbiz/base/metrics/MetricsFactory.java (working copy)
>>> @@ -209,6 +209,10 @@
>>>             @Override
>>>           public synchronized void recordServiceRate(int numEvents, 
>>> long time) {
>>> +            recordServiceRate(numEvents, time, "serviceRate");
>>> +        }
>>> +
>>> +        public synchronized void recordServiceRate(int numEvents, 
>>> long time, String varName) {
>>>               totalEvents += numEvents;
>>>               cumulativeEvents += numEvents;
>>>               totalServiceTime += time;
>>> @@ -219,20 +223,18 @@
>>>                       totalEvents = 1;
>>>                   }
>>>                   double rate = totalServiceTime / totalEvents;
>>> -                serviceRate = (rate * smoothing) + (serviceRate * 
>>> (1.0 - smoothing));
>>> +                rate = (rate * smoothing) + (serviceRate * (1.0 - 
>>> smoothing));
>>> +                if ("serviceRate".equals(varName)) {
>>> +                    serviceRate = rate;
>>> +                } else if ("requestRate".equals(varName)) {
>>> +                    requestRate = rate;
>>> +                }
>>>                   count = 0;
>>>                   lastTime = curTime;
>>>                   totalEvents = totalServiceTime = 0;
>>>               }
>>>           }
>>>   -        public synchronized void recordRequestRate(int numEvents, 
>>> long time) {
>>> -            totalEvents += numEvents;
>>> -            cumulativeEvents += numEvents;
>>> -            totalServiceTime += time;
>>> -            requestRate = totalServiceTime / cumulativeEvents;
>>> -        }
>>> -
>>>           @Override
>>>           public synchronized void reset() {
>>>               serviceRate = 0.0;
>>> @@ -276,11 +278,11 @@
>>>           }
>>>             @Override
>>> -        public void recordServiceRate(int numEvents, long time) {
>>> +        public void recordServiceRate(int numEvents, long time, 
>>> String varName) {
>>>           }
>>>             @Override
>>> -        public void recordRequestRate(int numEvents, long time) {
>>> +        public void recordServiceRate(int numEvents, long time) {
>>>           }
>>>             @Override
>>> Index: webapp/src/org/ofbiz/webapp/control/RequestHandler.java
>>> ===================================================================
>>> --- webapp/src/org/ofbiz/webapp/control/RequestHandler.java (revision 
>>> 1484069)
>>> +++ webapp/src/org/ofbiz/webapp/control/RequestHandler.java (working 
>>> copy)
>>> @@ -423,7 +423,7 @@
>>>                                   System.currentTimeMillis() - 
>>> eventStartTime, userLogin);
>>>                       }
>>>                       if (requestMap.metrics != null) {
>>> - requestMap.metrics.recordRequestRate(numEvent, 
>>> System.currentTimeMillis() - eventStartTime);
>>> + requestMap.metrics.recordServiceRate(numEvent, 
>>> System.currentTimeMillis() - eventStartTime, "requetRate");
>>>                           numEvent = 0;
>>>                       }
>>>
>>> Also I'd need to introduce a metricsSmoothingFactor properties in 
>>> serverstats.properties to avoid the burden of putting smoothing="1" 
>>> everywhere I'd need in controllers.
>>> Anyway event with that I'd not have simple average calculation or 
>>> would need to have also a metricsEstimationSize properties in 
>>> serverstats.properties (set to a very high value in my case)
>>>
>>> I think we can discuss changes without reverting all, can't we?
>>>
>>> Jacques
>>>
>>>> -Adrian
>>>>
>>>> On 5/17/2013 6:18 PM, Jacques Le Roux wrote:
>>>>> From: "Adrian Crum" <adrian.c...@sandglass-software.com>
>>>>>> Agreed. You added something that is unnecessary. Please remove it.
>>>>> I don't agree it's unnecessary, it does measure the request events 
>>>>> durations for chained request and that's quite useful.
>>>>> Without this new column the measure for chained requests does not 
>>>>> correspond to the reality
>>>>> You just need to add the average of chained requests measures of a 
>>>>> request to be persuaded.
>>>>> So this new functionality completes the measures for chained requests.
>>>>> It does not use moving average, that could be discussed, but is not 
>>>>> necessary IMO.
>>>>>
>>>>> Jacques
>>>>>> Metrics.java does not need to be changed. If you want to change 
>>>>>> what is
>>>>>> being measured, then apply Metrics java in a different way, but do 
>>>>>> not
>>>>>> change it.
>>>>>>
>>>>>> -Adrian
>>>>>>
>>>>>> On 5/17/2013 5:45 PM, Jacques Le Roux wrote:
>>>>>>> From: "Adrian Crum" <adrian.c...@sandglass-software.com>
>>>>>>>> What you believe users want and what the feature was designed to 
>>>>>>>> do seem
>>>>>>>> to be entirely different.
>>>>>>>>
>>>>>>>> The metric is intended to measure the entire request. If you want
>>>>>>>> something different, then feel free to modify your local copy.
>>>>>>> I believe some users will be interested by what I added. I did 
>>>>>>> not remove anything!
>>>>>>>
>>>>>>> Jacques
>>>>>>>> -Adrian
>>>>>>>>
>>>>>>>> On 5/17/2013 5:25 PM, Jacques Le Roux wrote:
>>>>>>>>> From: "Adrian Crum" <adrian.c...@sandglass-software.com>
>>>>>>>>>> The real request duration is meaningless. If a garbage 
>>>>>>>>>> collection occurs
>>>>>>>>>> during the request, the measurement will be artificially high. 
>>>>>>>>>> That's
>>>>>>>>>> the whole point of the smoothing - it factors out transient 
>>>>>>>>>> performance
>>>>>>>>>> differences.
>>>>>>>>>>
>>>>>>>>>> Please don't break the design. If you don't like the way it 
>>>>>>>>>> works, then
>>>>>>>>>> create your own version by extending it.
>>>>>>>>> To keep things clear. The curent design is good for services 
>>>>>>>>> but not for requests: it does not measure the time passed by 
>>>>>>>>> the event but the whole request. I believe much users would be 
>>>>>>>>> interested by the 1st.
>>>>>>>>>
>>>>>>>>> Jacques
>>>>>>>>>> -Adrian
>>>>>>>>>>
>>>>>>>>>> On 5/17/2013 4:41 PM, Jacques Le Roux wrote:
>>>>>>>>>>> What I wanted to add by
>>>>>>>>>>>
>>>>>>>>>>>> Just thinking I did not use the
>>>>>>>>>>> was that I did not use the moving average (I forgot to remove 
>>>>>>>>>>> this part after).
>>>>>>>>>>> Actually I had no needs for it and it's already covered by 
>>>>>>>>>>> recordServiceRate() anyway.
>>>>>>>>>>>
>>>>>>>>>>> The pb with current position of recordServiceRate() in 
>>>>>>>>>>> RequestHandler is it does not measure the real request event 
>>>>>>>>>>> duration. That's what I was interested by, and I believe much 
>>>>>>>>>>> users. Having a moving average is secondary for me.
>>>>>>>>>>>
>>>>>>>>>>> Jacques
>>>>>>>>>>>
>>>>>>>>>>> From: "Jacques Le Roux" <jacques.le.r...@les7arts.com>
>>>>>>>>>>>> Hi Adrian,
>>>>>>>>>>>>
>>>>>>>>>>>> At r1483822  I have improved it a bit for requests. I was 
>>>>>>>>>>>> more interested in chained ones, it works for all. It's a 
>>>>>>>>>>>> new colums in Metrics page which measure the request event 
>>>>>>>>>>>> duration. Just thinking I did not use the
>>>>>>>>>>>> I wonder if the use of recordServiceRate() in doRequest() 
>>>>>>>>>>>> makes sense. Let me know if you think we should adapt it for 
>>>>>>>>>>>> the threshold functionnality using the event duration of 
>>>>>>>>>>>> it's it fine as is.
>>>>>>>>>>>>
>>>>>>>>>>>> Also let me know if you want me to create the wiki page when 
>>>>>>>>>>>> we will be done.
>>>>>>>>>>>>
>>>>>>>>>>>> Cheers
>>>>>>>>>>>>
>>>>>>>>>>>> Jacques
>>>>>>>>>>>>
>>>>>>>>>>>> From: "Adrian Crum" <adrian.c...@sandglass-software.com>
>>>>>>>>>>>>> Anything you can do to improve the implementation will be 
>>>>>>>>>>>>> appreciated.
>>>>>>>>>>>>> Sorry I haven't had more time to document it.
>>>>>>>>>>>>>
>>>>>>>>>>>>> -Adrian
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 4/19/2013 12:01 PM, Jacques Le Roux wrote:
>>>>>>>>>>>>>> OK, I guess the smoothing factor explains the tiny 
>>>>>>>>>>>>>> differences for services
>>>>>>>>>>>>>> But for chained requests it makes no sense.
>>>>>>>>>>>>>> The metrics report ten more than in log.
>>>>>>>>>>>>>> I will have a look because it's a fine tool for chained 
>>>>>>>>>>>>>> requests duration which are not availabe in the stats feature
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Adrian Crum wrote:
>>>>>>>>>>>>>>> Keep in mind the metrics provide a moving average. Also, 
>>>>>>>>>>>>>>> there is a
>>>>>>>>>>>>>>> smoothing factor that can affect the value.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The smoothing factor is important. Let's say you are 
>>>>>>>>>>>>>>> using a monitoring
>>>>>>>>>>>>>>> tool to monitor a particular request. If that request has 
>>>>>>>>>>>>>>> a very brief
>>>>>>>>>>>>>>> increase in response time, you don't want to be alerted. 
>>>>>>>>>>>>>>> Instead, you
>>>>>>>>>>>>>>> want to know when the increase in response time is 
>>>>>>>>>>>>>>> sustained over a
>>>>>>>>>>>>>>> period of time. So, the smoothing factor helps prevent 
>>>>>>>>>>>>>>> "false positives"
>>>>>>>>>>>>>>> in a way.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Another scenario: You have an eCommerce site and you put 
>>>>>>>>>>>>>>> a metric on the
>>>>>>>>>>>>>>> store's landing page and you configure it with a 
>>>>>>>>>>>>>>> threshold value and an
>>>>>>>>>>>>>>> alternate view - one that doesn't include a shopping 
>>>>>>>>>>>>>>> cart. Normally,
>>>>>>>>>>>>>>> customers land on the normal page that includes a 
>>>>>>>>>>>>>>> shopping cart. But a
>>>>>>>>>>>>>>> new promotion causes customers to swamp the server and 
>>>>>>>>>>>>>>> the shopping
>>>>>>>>>>>>>>> experience degrades. The metric will smooth the response 
>>>>>>>>>>>>>>> time values so
>>>>>>>>>>>>>>> the alternate (non-shopping cart) landing page is not 
>>>>>>>>>>>>>>> offered too soon.
>>>>>>>>>>>>>>> But if the server is swamped for an extended period, then 
>>>>>>>>>>>>>>> new visitors
>>>>>>>>>>>>>>> will get the alternate page and be able to browse the 
>>>>>>>>>>>>>>> site without being
>>>>>>>>>>>>>>> able to order anything. As the request load decreases, 
>>>>>>>>>>>>>>> the metric will
>>>>>>>>>>>>>>> smooth the response times so the alternate landing page 
>>>>>>>>>>>>>>> is not removed
>>>>>>>>>>>>>>> too soon. When the landing page response time drops below 
>>>>>>>>>>>>>>> the configured
>>>>>>>>>>>>>>> threshold, all visitors will receive the normal shopping 
>>>>>>>>>>>>>>> experience.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> -Adrian
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 4/19/2013 10:53 AM, Jacques Le Roux wrote:
>>>>>>>>>>>>>>>> Actually r1361725 was also needed for services metrics 
>>>>>>>>>>>>>>>> to work.
>>>>>>>>>>>>>>>> For services I get slightly higher results than in log.
>>>>>>>>>>>>>>>> It's more consistent than for chained requests which are 
>>>>>>>>>>>>>>>> plain false.
>>>>>>>>>>>>>>>> I did not get a chance to look at code yet...
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Jacques Le Roux wrote:
>>>>>>>>>>>>>>>>> From: "Jacques Le Roux" <jacques.le.r...@les7arts.com>
>>>>>>>>>>>>>>>>>> Thanks Adrian,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Yes I saw the threshold idea in Java comments
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Looks like an interesting tool
>>>>>>>>>>>>>>>>>> BTW for the other statistics (I never used it), do you 
>>>>>>>>>>>>>>>>>> know if chained requests are taken into account?
>>>>>>>>>>>>>>>>> Hi Adrian,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I can answer now that chained requests are not taken 
>>>>>>>>>>>>>>>>> into account by the Statistics feature.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I also noticed something weird in Metrics feature. The 
>>>>>>>>>>>>>>>>> total duration of the chained requests and the duration 
>>>>>>>>>>>>>>>>> of the initial
>>>>>>>>>>>>>>>>> calling request don't match And when I compare 
>>>>>>>>>>>>>>>>> durations in log with those in Metrics I find those in 
>>>>>>>>>>>>>>>>> metrics much higher in
>>>>>>>>>>>>>>>>> some cases, and always higher.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Do I misinterpret them? Did you use/check this feature 
>>>>>>>>>>>>>>>>> for chained requests?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Maybe I should wait your wiki page?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Still, can you confirm only if 1361722 and 1361724 the 
>>>>>>>>>>>>>>>>>> only commits? I guess there is no Jira?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> From: "Adrian Crum" <adrian.c...@sandglass-software.com>
>>>>>>>>>>>>>>>>>>> I will create a Wiki page this weekend.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> The metric name can be anything - the example has a 
>>>>>>>>>>>>>>>>>>> URL: prefix to help
>>>>>>>>>>>>>>>>>>> distinguish request metrics from service metrics. You 
>>>>>>>>>>>>>>>>>>> can put anything
>>>>>>>>>>>>>>>>>>> you want there.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> The request-map can have an additional <response> 
>>>>>>>>>>>>>>>>>>> element - which will
>>>>>>>>>>>>>>>>>>> direct the servlet to an alternate view if the metric 
>>>>>>>>>>>>>>>>>>> crosses a
>>>>>>>>>>>>>>>>>>> threshold. I think the JavaDocs explain that.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> The basic idea is to put metrics in places where you 
>>>>>>>>>>>>>>>>>>> anticipate heavy
>>>>>>>>>>>>>>>>>>> loads or bottlenecks, then use a third-party 
>>>>>>>>>>>>>>>>>>> reporting/monitoring tool
>>>>>>>>>>>>>>>>>>> to read the metrics.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> -Adrian
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 4/11/2013 8:36 AM, Jacques Le Roux wrote:
>>>>>>>>>>>>>>>>>>>> Thanks Atul,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> So you mean you simply need to put a token (like 
>>>>>>>>>>>>>>>>>>>> webapp name) before the request name in this metric 
>>>>>>>>>>>>>>>>>>>> name? Did you try it
>>>>>>>>>>>>>>>>>>>> with another request?
>>>>>>>>>>>>>>>>>>>> I see it works on trunk demo and OOTB locally. But I 
>>>>>>>>>>>>>>>>>>>> can't get it to work on a custom app I have patched, 
>>>>>>>>>>>>>>>>>>>> so maybe I miss
>>>>>>>>>>>>>>>>>>>> something I will wait Adrian's answer about that
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> From: "Atul Vani" <atul.v...@hotwaxmedia.com>
>>>>>>>>>>>>>>>>>>>>> I think that's just the name, to recognize it among 
>>>>>>>>>>>>>>>>>>>>> list of several
>>>>>>>>>>>>>>>>>>>>> others, when there will be lots of them. A certain 
>>>>>>>>>>>>>>>>>>>>> convention is used to
>>>>>>>>>>>>>>>>>>>>> specify that it is for URL or any service. Then 
>>>>>>>>>>>>>>>>>>>>> again same names request
>>>>>>>>>>>>>>>>>>>>> mappings can exist in separate webapps, so a 
>>>>>>>>>>>>>>>>>>>>> leading appname, in this case
>>>>>>>>>>>>>>>>>>>>> 'webtools'. It can be changed to anything.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> On Thu, 11 Apr 2013 00:47:26 +0530, Jacques Le Roux
>>>>>>>>>>>>>>>>>>>>> <jacques.le.r...@les7arts.com> wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Hi Adrian,
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Let me know if you will, else I might do it...
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> BTW, are 1361722 and 1361724 the only commit? Is 
>>>>>>>>>>>>>>>>>>>>>> there a Jira?
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Could you explain just a bit more the request 
>>>>>>>>>>>>>>>>>>>>>> syntax, sorry but the OOTB
>>>>>>>>>>>>>>>>>>>>>> example is a bit confusing.
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> +    <request-map uri="ViewMetrics">
>>>>>>>>>>>>>>>>>>>>>> +        <security https="true" auth="true"/>
>>>>>>>>>>>>>>>>>>>>>> +        <metric name="URL: webtools/ViewMetrics" 
>>>>>>>>>>>>>>>>>>>>>> /><!-- Here for
>>>>>>>>>>>>>>>>>>>>>> demonstration -->
>>>>>>>>>>>>>>>>>>>>>> +        <response name="success" type="view" 
>>>>>>>>>>>>>>>>>>>>>> value="ViewMetrics"/>
>>>>>>>>>>>>>>>>>>>>>> +    </request-map>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> What would it be for another than ViewMetrics?
>>>>>>>>>>>>>>>>>>>>>> I mean why "URL: webtools/ViewMetrics"?
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Thanks
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> From: "Jacques Le Roux" 
>>>>>>>>>>>>>>>>>>>>>> <jacques.le.r...@les7arts.com>
>>>>>>>>>>>>>>>>>>>>>>> Great, thanks Adrian!
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Maybe a wiki page using 
>>>>>>>>>>>>>>>>>>>>>>> http://markmail.org/message/x4lzvda66ju6gdg5
>>>>>>>>>>>>>>>>>>>>>>> would help to remember the commands?
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Jacques
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> From: "Adrian Crum" 
>>>>>>>>>>>>>>>>>>>>>>> <adrian.c...@sandglass-software.com>
>>>>>>>>>>>>>>>>>>>>>>>> On 4/7/2013 6:38 PM, Adrian Crum wrote:
>>>>>>>>>>>>>>>>>>>>>>>>> On 4/7/2013 12:11 PM, Jacques Le Roux wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>> Jacques Le Roux wrote:
>>>>>>>>>>>>>>>>>>>>>>>>>>> From: "Adrian Crum" 
>>>>>>>>>>>>>>>>>>>>>>>>>>> <adrian.c...@sandglass-software.com>
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Have you considered using the metrics feature?
>>>>>>>>>>>>>>>>>>>>>>>>>>> Ha forgot to ask about it, now I see and 
>>>>>>>>>>>>>>>>>>>>>>>>>>> remember this thread and I
>>>>>>>>>>>>>>>>>>>>>>>>>>> will digg in 
>>>>>>>>>>>>>>>>>>>>>>>>>>> http://markmail.org/message/x4lzvda66ju6gdg5
>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>> Of course, I'd not be against a brief 
>>>>>>>>>>>>>>>>>>>>>>>>>>> briefing, or a link to
>>>>>>>>>>>>>>>>>>>>>>>>>>> explain.
>>>>>>>>>>>>>>>>>>>>>>>>>> What I mostly miss is where are the metrics in 
>>>>>>>>>>>>>>>>>>>>>>>>>> webtools?
>>>>>>>>>>>>>>>>>>>>>>>>> Oops, I forgot to commit that part. I will take 
>>>>>>>>>>>>>>>>>>>>>>>>> care of it.
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> Actually, I did commit it:
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> https://localhost:8443/webtools/control/ViewMetrics
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>> -Adrian
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>>>>>>>> Using Opera's revolutionary email client: 
>>>>>>>>>>>>>>>>>>>>> http://www.opera.com/mail/
>>
>

Reply via email to