commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Otto Fowler <ottobackwa...@gmail.com>
Subject Re: Hello and possible addition
Date Wed, 03 Jan 2018 20:10:52 GMT
https://github.com/apache/commons-lang/pull/311


On January 3, 2018 at 09:05:37, Benedikt Ritter (britter@apache.org) wrote:



> 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message