[ 
https://issues.apache.org/jira/browse/LANG-702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13040842#comment-13040842
 ] 

Matt Benson commented on LANG-702:
----------------------------------

This looks like a nice little set of classes to me, and yes, not wholly unlike 
some of the things we have in [lang].  On the other hand, the "customizable 
summation strategy" aspect of this makes me think of a redesigned version that 
could live in the [functor] component (which is still in the sandbox, but is 
really about ready to graduate).

What is the typical pattern for making use of the {{.get()}} results?  I would 
have expected to see e.g. {{onFlush(callback)}} which would allow the 
summarizer to take some action on each timed flush operation.  A redesign in 
[functor] could specify {{onFlush(UnaryProcedure<T>)}} for this.  Also, the 
subclassing aspect would be unnecessary in [functor] because the 'summation' 
could be supplied externally in the form of a {{BinaryFunction<? super T, ? 
super T, ? extends T>}}.  IMO removing the subclassing necessity would be quite 
cool, and I would add such a rewritten version of this to [functor] in a second.

Regards,
Matt

> New component for lang -- summarizer
> ------------------------------------
>
>                 Key: LANG-702
>                 URL: https://issues.apache.org/jira/browse/LANG-702
>             Project: Commons Lang
>          Issue Type: New Feature
>          Components: General
>    Affects Versions: 3.0
>            Reporter: Liviu Tudor
>            Priority: Minor
>              Labels: features, newbie
>             Fix For: 3.x
>
>         Attachments: patch_summarizer.diff
>
>
> Hi, I'm creating this as a patch request but I guess really initially I 
> wanted to verify with everyone that commons lang is the place for this class 
> hierarchy I'm proposing -- and if not please suggest whether it would be more 
> appropriate to submit this to collections or one of the other Commons 
> projects. (Or I accept as well the fact that it might not be good enough for 
> any of the commons projects in which case please just let me know so I won't 
> try to create new issues around this in the future.)
> Basically I've come across a pattern I find myself using a lot in my 
> applications where I want a quick (and not so dirty) way of monitoring 
> certain things in the application -- for instance, I want as a quick 
> healthcheck a page to tell me how many requests we process over a 1 minute 
> interval or so. While one can implement complex monitoring systems to achieve 
> the same, a lot of the times, simply the fact that the number of successful 
> transactions per minute goes down to 50% (after an application upgrade for 
> instance) is a clear indicator to me that something isn't right so I can 
> start investigating straight away and not wait for our monitoring systems to 
> kick in one hour later or so and alert us of this. As such I have developed 
> this component which I have called "Summarizer" (purely as my initial request 
> was just to sum up some numbers over a period of time and reset it regularly 
> -- but as my javadoc comments state, of course this doesn't have to be a 
> simple arithmetic sum and can be extended to other operations). The diff I'm 
> proposing here contains the base class and an example of the class using 
> integers which just sums them up -- which is as I said the kind of 
> implementation that I have found myself implementing a lot in my apps. I 
> appreciate that the classes are not completely finished and there are no unit 
> tests yet -- and that is because as I said at this stage I am trying to 
> figure out whether this component would fit into the Commons Lang component 
> or it would be more appropriate to commit this somewhere else.
> I would appreciate your input/comments on this so I know whether i'm on the 
> right track on committing this here or should I move it elsewhere; I accept 
> that perhaps the package names and the class names are not the best, and am 
> willing to discuss with your main committers around this -- if this proves to 
> be a valid component for commons. 
> If you decide this is a good idea to proceed with then I can start adding 
> unit tests and more comments/javadocs around it to make this into a usable 
> class hierarchy. 
> As suggested by your FAQ's I've created a diff from the root of the folder -- 
> if it helps more if I just provide the 2 classes I can do so too -- just let 
> me know and I can send you a zip with the 2 classes alone or so.
> Looking forward to your comments on this,
> Liv

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to