You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by kr...@apache.org on 2016/11/28 17:26:40 UTC

[11/42] lucene-solr:jira/solr-8593: SOLR-8785: Convert rates to be per minute from the default per second rates reported by the metrics library

SOLR-8785: Convert rates to be per minute from the default per second rates reported by the metrics library


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/dab2e246
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/dab2e246
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/dab2e246

Branch: refs/heads/jira/solr-8593
Commit: dab2e2465697f2318c9d02c7e423ca1fd0a7488b
Parents: 7e6e689
Author: Shalin Shekhar Mangar <sh...@apache.org>
Authored: Wed Nov 23 23:11:36 2016 +0530
Committer: Shalin Shekhar Mangar <sh...@apache.org>
Committed: Wed Nov 23 23:11:36 2016 +0530

----------------------------------------------------------------------
 .../src/java/org/apache/solr/util/stats/TimerUtils.java | 12 +++++++++---
 .../test/org/apache/solr/util/stats/TimerUtilsTest.java |  6 +++---
 2 files changed, 12 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/dab2e246/solr/core/src/java/org/apache/solr/util/stats/TimerUtils.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/util/stats/TimerUtils.java b/solr/core/src/java/org/apache/solr/util/stats/TimerUtils.java
index 0195db3..af65a3a 100644
--- a/solr/core/src/java/org/apache/solr/util/stats/TimerUtils.java
+++ b/solr/core/src/java/org/apache/solr/util/stats/TimerUtils.java
@@ -27,6 +27,8 @@ import org.apache.solr.common.util.NamedList;
  */
 public class TimerUtils {
 
+  private static final double RATE_FACTOR = TimeUnit.MINUTES.toSeconds(1);
+
   /**
    * Adds metrics from a Timer to a NamedList, using well-known names.
    * @param lst The NamedList to add the metrics data to
@@ -34,9 +36,9 @@ public class TimerUtils {
    */
   public static void addMetrics(NamedList<Object> lst, Timer timer) {
     Snapshot snapshot = timer.getSnapshot();
-    lst.add("avgRequestsPerMinute", timer.getMeanRate());
-    lst.add("5minRateRequestsPerMinute", timer.getFiveMinuteRate());
-    lst.add("15minRateRequestsPerMinute", timer.getFifteenMinuteRate());
+    lst.add("avgRequestsPerMinute", convertRateToPerMinute(timer.getMeanRate()));
+    lst.add("5minRateRequestsPerMinute", convertRateToPerMinute(timer.getFiveMinuteRate()));
+    lst.add("15minRateRequestsPerMinute", convertRateToPerMinute(timer.getFifteenMinuteRate()));
     lst.add("avgTimePerRequest", nsToMs(snapshot.getMean()));
     lst.add("medianRequestTime", nsToMs(snapshot.getMedian()));
     lst.add("75thPcRequestTime", nsToMs(snapshot.get75thPercentile()));
@@ -55,4 +57,8 @@ public class TimerUtils {
     return ns / TimeUnit.MILLISECONDS.toNanos(1);
   }
 
+  static double convertRateToPerMinute(double rate) {
+    return rate * RATE_FACTOR;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/dab2e246/solr/core/src/test/org/apache/solr/util/stats/TimerUtilsTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/util/stats/TimerUtilsTest.java b/solr/core/src/test/org/apache/solr/util/stats/TimerUtilsTest.java
index c051293..c3881e1 100644
--- a/solr/core/src/test/org/apache/solr/util/stats/TimerUtilsTest.java
+++ b/solr/core/src/test/org/apache/solr/util/stats/TimerUtilsTest.java
@@ -43,9 +43,9 @@ public class TimerUtilsTest extends SolrTestCaseJ4 {
     assertEquals(lst.size(), 9);
     final Snapshot snapshot = timer.getSnapshot();
     // cannot test avgRequestsPerMinute directly because mean rate changes as time increases!
-    // assertEquals(lst.get("avgRequestsPerMinute"), timer.getMeanRate());
-    assertEquals(lst.get("5minRateRequestsPerMinute"), timer.getFiveMinuteRate());
-    assertEquals(lst.get("15minRateRequestsPerMinute"), timer.getFifteenMinuteRate());
+    // assertEquals(lst.get("avgRequestsPerMinute"), TimerUtils.convertRateToPerMinute(timer.getMeanRate()));
+    assertEquals(lst.get("5minRateRequestsPerMinute"), TimerUtils.convertRateToPerMinute(timer.getFiveMinuteRate()));
+    assertEquals(lst.get("15minRateRequestsPerMinute"), TimerUtils.convertRateToPerMinute(timer.getFifteenMinuteRate()));
     assertEquals(lst.get("avgTimePerRequest"), TimerUtils.nsToMs(snapshot.getMean()));
     assertEquals(lst.get("medianRequestTime"), TimerUtils.nsToMs(snapshot.getMedian()));
     assertEquals(lst.get("75thPcRequestTime"), TimerUtils.nsToMs(snapshot.get75thPercentile()));