commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Benson (JIRA)" <>
Subject [jira] [Commented] (LANG-702) New component for lang -- summarizer
Date Sun, 29 May 2011 18:08:47 GMT


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.


> New component for lang -- summarizer
> ------------------------------------
>                 Key: LANG-702
>                 URL:
>             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:

View raw message