https://github.com/apache/commons-lang/pull/311
On January 3, 2018 at 09:05:37, Benedikt Ritter (brit...@apache.org) wrote: > Am 03.01.2018 um 15:02 schrieb Otto Fowler <ottobackwa...@gmail.com>: > > Just to check, Java 7 is the required language level? Yes > > > On January 3, 2018 at 07:12:03, Otto Fowler (ottobackwa...@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-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org