Am 02.03.2018 um 15:45 schrieb Gary Gregory:
> On Fri, Mar 2, 2018 at 7:31 AM, Otto Fowler <ottobackwa...@gmail.com> wrote:
> 
>> I don’t understand the options that we are discussing here.  Can we
>> clarify?
>>
>> * create a new component from sirota, bringing it into commons ( resurrect
>> commons-monitoring ) and put StackWatch there?
>>
> 
> Something like that. For my money, I'd like this into a (probably new)
> component that is not [lang] since it feels out of scope. StopWatch would
> move to this new place (deprecate it in [lang] and copy it.)

IMHO StackWatch does not fit very well into [lang] and into the testing
project neither.

One other suggestion: It was stated in the past that the concurrent
classes are also a bit out of scope for [lang], especially the circuit
breaker implementations. Would it make sense to move those into a new
module, and could this be a home for the watch classes, too?

Oliver

> 
> Gary
> 
> 
>>
>> On March 2, 2018 at 08:49:03, Romain Manni-Bucau (rmannibu...@gmail.com)
>> wrote:
>>
>> This i right but it started as just a few utilities and interception
>> modules, then it grows as any performance related project. We also have
>> skywalking which is quite big but can host all that utility part @asf.
>>
>>
>> Romain Manni-Bucau
>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>> <https://rmannibucau.metawerx.net/> | Old Blog
>> <http://rmannibucau.wordpress.com> | Github <https://github.com/
>> rmannibucau> |
>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
>> <https://www.packtpub.com/application-development/java-
>> ee-8-high-performance>
>>
>> 2018-03-02 14:45 GMT+01:00 Otto Fowler <ottobackwa...@gmail.com>:
>>
>>> My understanding is that sirona was/is a complete system, as opposed to a
>>> collection of utilities.
>>> If StackWatch is too big for LANG it seems too small for sirona.  Along
>>> with sirona being retired etc.
>>>
>>>
>>>
>>> On February 28, 2018 at 15:06:52, Romain Manni-Bucau (
>>> rmannibu...@gmail.com) wrote:
>>>
>>> Le 28 févr. 2018 19:27, "Matt Sicker" <boa...@gmail.com> a écrit :
>>>
>>> This sounds almost like a sort of Commons Metrics type project. See <
>>> http://metrics.dropwizard.io/4.0.0/> for an example. There's a sandbox
>>> project called Commons Monitoring which may be similar.
>>>
>>>
>>> Sirona started from commons-monitoring ;)
>>>
>>>
>>>
>>> On 28 February 2018 at 10:56, Gilles <gil...@harfang.homelinux.org>
>> wrote:
>>>
>>>> On Wed, 28 Feb 2018 17:24:29 +0100, Romain Manni-Bucau wrote:
>>>>
>>>>> 2018-02-28 17:11 GMT+01:00 Gilles <gil...@harfang.homelinux.org>:
>>>>>
>>>>> On Wed, 28 Feb 2018 16:59:08 +0100, Romain Manni-Bucau wrote:
>>>>>>
>>>>>> Hi guys,
>>>>>>>
>>>>>>> On that topic we can keep in mind we retired not a lot time ago
>> Apache
>>>>>>> Sirona which was a perf framework industrializing a stopwatch to
>>>>>>> summarize
>>>>>>> it.
>>>>>>> We can make it live again and would probably be a better fir than
>>>>>>> commons
>>>>>>> cause you quickly need more than just some time measurement when you
>>>>>>> start
>>>>>>> to work on these topics.
>>>>>>>
>>>>>>>
>>>>>> Why was the project terminated?
>>>>>>
>>>>>>
>>>>> Community didn't grow enough and activity was not that high - the
>>> project
>>>>> went stable pretty quickly. I forked it on github for now
>>>>> https://github.com/rmannibucau/sirona
>>>>>
>>>>
>>>> Does it contain a feature similar to the "StackWatch"
>>>> proposed in
>>>> https://issues.apache.org/jira/browse/LANG-1373
>>>> ?
>>>>
>>>> If so, do you suggest that Otto's project should depend
>>>> on Sirona?
>>>>
>>>> If not, do you suggest that Otto should submit the PR
>>>> to Sirona (and then depend on it)?
>>>>
>>>>
>>>> Gilles
>>>>
>>>>
>>>>>>
>>>>>> Just my 2 cts
>>>>>>>
>>>>>>>
>>>>>>> Romain Manni-Bucau
>>>>>>> @rmannibucau <https://twitter.com/rmannibucau> | Blog
>>>>>>> <https://rmannibucau.metawerx.net/> | Old Blog
>>>>>>> <http://rmannibucau.wordpress.com> | Github
>>>>>>> <https://github.com/rmannibucau> |
>>>>>>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
>>>>>>>
>>>>>>> <https://www.packtpub.com/application-development/java-ee-8-
>>>>>>> high-performance>
>>>>>>>
>>>>>>>
>>>>>>> 2018-02-28 16:56 GMT+01:00 Gary Gregory <garydgreg...@gmail.com>:
>>>>>>>
>>>>>>> On Wed, Feb 28, 2018 at 6:35 AM, Gilles <
>> gil...@harfang.homelinux.org
>>>>
>>>>>>>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hello.
>>>>>>>>>
>>>>>>>>> On Wed, 28 Feb 2018 04:56:36 -0800, Otto Fowler wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> In the course of working through my pull request for adding new
>>> LANG
>>>>>>>>>> functionality on top of the StopWatch class, the issue has been
>>>>>>>> raise
>>>>>>>> as
>>>>>>>>>> to
>>>>>>>>>> if this functionality is ‘common’ or should
>>>>>>>>>> be placed in a more specialized commons-xxxx component.
>>>>>>>>>>
>>>>>>>>>> We would like to take the discussion to the list for this, and
>> see
>>>>>>>> what
>>>>>>>>>> everyone thinks.
>>>>>>>>>>
>>>>>>>>>> The StackWatch provides for tracking nested timings backed by
>>>>>>>> StopWatch.
>>>>>>>>>> You can start the watch, and start and stop multiple timings
>>> through
>>>>>>>> the
>>>>>>>>>> call stack. Each timing is named and tag and has it’s own time.
>>>>>>>>>> You can visit all the timings, perhaps using the tags to filter
>>> when
>>>>>>>> you
>>>>>>>>>> are done. Please see the PR/Jira for more details. You should
>>> look
>>>>>>>> at
>>>>>>>>>> both, since the review has been split between the two.
>>>>>>>>>>
>>>>>>>>>> If not LANG, then where? The commons-testing component has been
>>>>>>>>>> mentioned. But this code is not ‘test’ code explicitly. In my
>> use
>>>>>>>> case (
>>>>>>>>>> I wrote this for the Apache Metron project and thought it might
>> be
>>>>>>>> useful
>>>>>>>>>> here) it would not be test code, in the sense that it would be
>>> used
>>>>>>>> in
>>>>>>>>>> ‘test’ scope in mvn. Rather it would be deployed in production,
>> in
>>>>>>>> a
>>>>>>>>>> REPL,
>>>>>>>>>> and perhaps in other runtime components.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Part of what makes a good component is that it does not dictate
>>>>>>>>> how and where applications should use it.
>>>>>>>>> The name "Testing" does not imply that its contents must be used
>>>>>>>>> within "test" scope.
>>>>>>>>>
>>>>>>>>> A utility such as "StackWatch" could be another tool to integrate
>>>>>>>>> in a unit test suite (e.g. to generate a more fine-grained timing
>>>>>>>>> report than Junit does). Hence the module in which "StackWatch"
>>>>>>>>> will belong is to become a dependency of modules that target
>>>>>>>>> specific test framework (and that is true whether the former is
>>>>>>>>> defined within "Testing" or in another component).
>>>>>>>>>
>>>>>>>>> I would not want to pull in junit
>>>>>>>>>> or other dependencies with any component containing it.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> +1
>>>>>>>>> Must be ensured by proper granularity of the modular design.
>>>>>>>>>
>>>>>>>>> If we put it in commons-testing ( which already has sub-modules
>>> which
>>>>>>>> are
>>>>>>>>>> geared towards junit ) it may be confusing, even if the module
>> is
>>>>>>>> explicit
>>>>>>>>>> about purpose and keeping out junit dependent code ( or other
>>>>>>>> testing
>>>>>>>>>> code).
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Why would it be confusing? The module will stand out on its own
>>>>>>>>> (artefact/description/doc/web site) and be more visible than yet
>>>>>>>>> another class in the already too large "Commons Lang".
>>>>>>>>>
>>>>>>>>> Also, besides the StackWatch, what else would go into the new
>>> target
>>>>>>>>>> component? Would StopWatch move as well for example?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> +1
>>>>>>>>> But creating a new component for two small classes can reasonably
>>>>>>>>> be argued as overkill.
>>>>>>>>> FTR: I was asked to collect the sampling utilities within a
>>>>>>>>> module of "Commons RNG" even though it could have warranted its
>>>>>>>>> own component (being a plain "client" of the core functionality
>>>>>>>>> of [RNG]). In the present case, "StackWatch" would belong to
>>>>>>>>> "core" utilities of "Testing" that are pulled (along with other
>>>>>>>>> dependencies by the more specific modules.
>>>>>>>>>
>>>>>>>>
>>>>>>>> I would ask all of us to step back for a moment and consider the
>> big
>>>>>>>> picture.
>>>>>>>>
>>>>>>>> Specifically, what do you consider the mandate or guidelines for
>>>>>>>> Commons
>>>>>>>> Lang to be? For me, this is code that should or could have been in
>>> the
>>>>>>>> JRE
>>>>>>>> in java.lang or java.util. Looking ahead to Java 9, Commons Lang
>>> should
>>>>>>>> likely only depend on java.base (it does today but this should be
>>>>>>>> enforced
>>>>>>>> with the Maven JDeps Plugin IMO.)
>>>>>>>>
>>>>>>>> If you look at StringUtils, you can then see how this class has
>> grown
>>>>>>>> into
>>>>>>>> a giant. You can also then see why other related code like a
>> fancier
>>>>>>>> String.replace() could creep in as StrSubstitutor and friends.
>> Should
>>>>>>>> variable interpolation have been in the JRE? Debatable, but it
>> would
>>> be
>>>>>>>> useful on top of Properties and ResourceBundle, one might argue;
>> also
>>>>>>>> handy
>>>>>>>> for JAXB I would say. Nevertheless, WRT to Commons Lang, we --
>>> rightly
>>>>>>>> IMO
>>>>>>>> -- have deprecated StrSubstitutor in Commons Lang in favor or its
>> new
>>>>>>>> home
>>>>>>>> in Commons Text, where is has evolved further.
>>>>>>>>
>>>>>>>> In my view, StopWatch and now StackWatch, do not belong in the JRE
>> or
>>>>>>>> Commons Lang. It should sit slightly above that level. Where, is
>> the
>>>>>>>> question.
>>>>>>>>
>>>>>>>> Commons Testing for Stop/StackWatch does not seen quite right to
>> me.
>>> I
>>>>>>>> could see a new Commons Timing or a more general Commons
>> Measurement;
>>>>>>>> with
>>>>>>>> a mandate NOT to overlap with Joda-Time and java.time.
>>>>>>>>
>>>>>>>> Gary
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> Gilles
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> https://issues.apache.org/jira/browse/LANG-1373
>>>>>>>>>>
>>>>>>>>>> <https://issues.apache.org/jira/browse/LANG-1373?page=com.
>>>>>>>>>> atlassian.jira.plugin.system.issuetabpanels%3Acomment-
>>>>>>>>>> tabpanel&focusedCommentId=16377279#comment-16377279>
>>>>>>>>>> https://github.com/apache/commons-lang/pull/311
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>>>> For additional commands, e-mail: dev-h...@commons.apache.org
>>>>
>>>>
>>>
>>>
>>> --
>>> Matt Sicker <boa...@gmail.com>
>>>
>>>
>>
> 

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

Reply via email to