[
https://issues.apache.org/jira/browse/OAK-3654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15024367#comment-15024367
]
Ian Boston commented on OAK-3654:
---------------------------------
Metrics provides "bad stats" because its being given "bad data", have a look at
the patch to the methods, copied here.
{code}
@@ -622,14 +623,14 @@ public class SessionDelegate {
if (op.isUpdate()) {
sessionCounters.writeTime = t0;
sessionCounters.writeCount++;
- writeCounter.incrementAndGet();
- writeDuration.addAndGet(dt);
+ writeCounter.mark();
+ writeDuration.update(dt, TimeUnit.MILLISECONDS);
updateCount++;
} else {
sessionCounters.readTime = t0;
sessionCounters.readCount++;
- readCounter.incrementAndGet();
- readDuration.addAndGet(dt);
+ readCounter.mark();
+ readDuration.update(dt, TimeUnit.MILLISECONDS);
}
{code}
It should be using
{code}
Context c = metric.time();
....
c.stop();
{code}
IIRC if done that way Metrics uses nanoseconds.
Internally Metics will probably use nanoseconds even it it reports in
microseconds.
As mentioned earlier, using the context.stop() pattern avoids inadvertent bugs.
> Integrate with Metrics for various stats collection
> ----------------------------------------------------
>
> Key: OAK-3654
> URL: https://issues.apache.org/jira/browse/OAK-3654
> Project: Jackrabbit Oak
> Issue Type: New Feature
> Components: core
> Reporter: Chetan Mehrotra
> Assignee: Chetan Mehrotra
> Fix For: 1.3.12
>
> Attachments: OAK-3654-v1.patch, query-stats.png
>
>
> As suggested by [~ianeboston] in OAK-3478 current approach of collecting
> TimeSeries data is not easily consumable by other monitoring systems. Also
> just extracting the last moment data and exposing it in simple form would not
> be useful.
> Instead of that we should look into using Metrics library [1] for collecting
> metrics. To avoid having dependency on Metrics API all over in Oak we can
> come up with minimal interfaces which can be used in Oak and then provide an
> implementation backed by Metric.
> This task is meant to explore that aspect and come up with proposed changes
> to see if its feasible to make this change
> * metrics-core ~100KB in size with no dependency
> * ASL Licensee
> [1] http://metrics.dropwizard.io
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)