[ 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)