Thoughts that come to mind (not advocating anything, just putting down thoughts);
1. Semver + breaking-changes = new major number 2. Exposing a new metric while leaving the original unchanged can eliminate the backward-compatibility problem at the expense of additional complexity/tech-debt going forward 3. A configuration setting to switch the metric between original and new units could do the job, but - again - at the cost of additional complexity/tech-debt 4. The units problem hasn't really been solved well; the best I've seen is to standardize on one unit (such as milliseconds) 5. Is there a need here being addressed, or is the intent for cleanup? 6. At the very least, a breaking change here warrants very clear communication (the changes, once-upon-a-time, to the MBean naming unexpectedly hit me for a few hours of work - and that was just 1 person who actually wasn't that heavily invested in it) Art On Wed, Dec 22, 2021 at 12:06 PM Matt Pavlovich <mattr...@gmail.com> wrote: > Hi Art- > > The metric is arguably broken right now, so my thought is that “fixing” it > in 5.17.0 should be the default moving forward. > > What else would you suggest? > > -Matt Pavlovich > > > On Dec 22, 2021, at 11:25 AM, Arthur Naseef <a...@amlinv.com> wrote: > > > > Hmm, what about the impact to all the consumers of that metric today? > > > > That's potentially a huge amount of change. > > > > Any thoughts on mitigating the problems for users? > > > > Art > > > > > > On Wed, Dec 22, 2021 at 7:32 AM Matt Pavlovich <mattr...@gmail.com> > wrote: > > > >> Using nanos would eliminate the math division. Might be worth it to cut > >> out a math operations on longs > >> > >> Checking for overflow risk.. Java Long.MAX_VALUE in nanoseconds is 292 > >> years. > >> > >> We should be good with nanos as default vs microseconds. > >> > >> -Matt > >> > >>> On Dec 22, 2021, at 6:52 AM, Christopher Shannon < > >> christopher.l.shan...@gmail.com> wrote: > >>> > >>> +1, I'm not sure if it makes sense to keep the default as millis or > make > >>> the new default as nanoseconds. > >>> > >>> On Wed, Dec 22, 2021 at 2:09 AM Jean-Baptiste Onofre <j...@nanthrax.net> > >>> wrote: > >>> > >>>> +1 > >>>> > >>>> It makes sense. > >>>> > >>>> Regards > >>>> JB > >>>> > >>>>> Le 20 déc. 2021 à 16:44, Matt Pavlovich <mattr...@gmail.com> a > écrit : > >>>>> > >>>>> Currently, KahaDB stats are in ms and we get invalid rollup values > for > >>>> minTime, averageTime, and totalTime, since a large number of > operations > >>>> take < 1ms on modern hardware. I propose we convert the units to be > >>>> microseconds to provide better granularity and correctness. I have > >> created > >>>> a JIRA to track this change: > >>>> https://issues.apache.org/jira/browse/AMQ-8414 < > >>>> https://issues.apache.org/jira/browse/AMQ-8414> > >>>>> > >>>>> For comparison, Apache CXF also uses microseconds for metrics for > >>>> service operations. > >>>>> > >>>>> Sample: > >>>>> Broker uptimeMillis: 835951271 <-- 9 days > >>>>> KahaDB "totalTime": 62568920797, <-- 724.177324039352 days > >>>>> > >>>>> > >>>>> { > >>>>> "writeTime": { > >>>>> "maxTime": 5812, > >>>>> "averageTime": 16.418624299081607, > >>>>> "minTime": 0, > >>>>> "totalTime": 62568920797, > >>>>> "count": 3810850389, > >>>>> "averagePerSecond": 60.906442694832606, > >>>>> "averagePerSecondExMinMax": 60.9064483204415, > >>>>> "averageTimeExMinMax": 16.418622782579472 > >>>>> }, > >>>>> "readTime": { > >>>>> "maxTime": 517, > >>>>> "averageTime": 0.27722760803497465, > >>>>> "minTime": 0, > >>>>> "totalTime": 264011084, > >>>>> "count": 952326090, > >>>>> "averagePerSecond": 3607.144350045546, > >>>>> "averagePerSecondExMinMax": 3607.1514061783746, > >>>>> "averageTimeExMinMax": 0.2772270657359121 > >>>>> } > >>>>> } > >>>>> > >>>>> Thanks, > >>>>> Matt Pavlovich > >>>> > >>>> > >> > >> > >