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
Fix For: 3.x
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