commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benedikt Ritter <brit...@apache.org>
Subject Re: Hello and possible addition
Date Wed, 03 Jan 2018 14:05:28 GMT


> Am 03.01.2018 um 15:02 schrieb Otto Fowler <ottobackwards@gmail.com>:
> 
> Just to check, Java 7 is the required language level?

Yes

> 
> 
> On January 3, 2018 at 07:12:03, Otto Fowler (ottobackwards@gmail.com) wrote:
> 
> While working on adding some timing functionality to a Metron feature, I
> came across the
> Stopwatch
> <https://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/time/StopWatch.html>
> class, but found that it didn’t suite my needs.
> 
> What I wanted to do was to create a timing from a top level function in our
> Stellar
> <https://github.com/apache/metron/tree/master/metron-stellar/stellar-common>
> dsl, and have have a group of related timings, such that the end result
> was the overall time of the call, and nested timings of other calls
> executed during the dsl execution of that function. These timings would all
> be named, and have a path for identification and include timing the
> language compiler/execution as well as the function execution itself. It
> would be helpful if they were tagged in some way as well, such that the
> consumer could filter during visitation.
> 
> So I have written StackWatch <https://github.com/ottobackwards/StackWatch> to
> provide this functionality, and submitted it in a Metron PR
> <https://github.com/apache/metron/pull/873>.
> 
> From the PR description:
> StackWatch
> 
> A set of utility classes under the new package stellar.common.timing have
> been added. These provide the StackWatch functionality.
> 
> StackWatch provides an abstraction over the Apache Commons StopWatch class
> that allows callers to create multiple named and possibly nested timing
> operations.
> 
> <…>
> 
> This class may be more generally useful to this and other projects, but I
> am not sure where it would live since we wouldn’t want it in common.
> 
> StackWatch uses a combination of Deque and a custom Tree implementation to
> create, start and end timing operations.
> 
> A Visitor pattern is also implemented to allow for retrieving the results
> after the completion of the operation.
> 
> See the StackWatch tests for examples of nested function timings.
> ------------------------------
> 
> A quick look at the PR and it’s test or the github project ( they are in
> sync ) should show the idea.
> 
> I am sending this to see if this functionality would be appropriate for
> commons in some way. If so, the I can create the jira and submit the pr.
> Even if it is not appropriate, any feedback or pr’s on the github project
> would still be most welcome.
> 
> Thanks for all the work that has made commons so valuable to other Apache
> projects and java developers in general!


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message