You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2016/11/23 17:53:19 UTC
[1/2] lucene-solr:branch_6x: SOLR-8785: Convert rates to be per
minute from the default per second rates reported by the metrics library
Repository: lucene-solr
Updated Branches:
refs/heads/branch_6x 9a980833d -> 8a5bb4666
SOLR-8785: Convert rates to be per minute from the default per second rates reported by the metrics library
(cherry picked from commit dab2e24)
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/df242c84
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/df242c84
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/df242c84
Branch: refs/heads/branch_6x
Commit: df242c8437351112e11b9de441ae86f065919878
Parents: 9a98083
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:22:53 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/df242c84/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/df242c84/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()));
[2/2] lucene-solr:branch_6x: SOLR-8785: Use per-second rates for
consistency in all stats outputs
Posted by sh...@apache.org.
SOLR-8785: Use per-second rates for consistency in all stats outputs
(cherry picked from commit f8fa2e9)
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/8a5bb466
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/8a5bb466
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/8a5bb466
Branch: refs/heads/branch_6x
Commit: 8a5bb46663be7bece756f83e1005821ded337647
Parents: df242c8
Author: Shalin Shekhar Mangar <sh...@apache.org>
Authored: Wed Nov 23 23:20:48 2016 +0530
Committer: Shalin Shekhar Mangar <sh...@apache.org>
Committed: Wed Nov 23 23:23:02 2016 +0530
----------------------------------------------------------------------
solr/CHANGES.txt | 14 +++++++++-----
.../java/org/apache/solr/util/stats/TimerUtils.java | 12 +++---------
.../src/test/org/apache/solr/cloud/OverseerTest.java | 6 +++---
.../org/apache/solr/util/stats/TimerUtilsTest.java | 6 +++---
4 files changed, 18 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8a5bb466/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 3c10127..1b1a9ed 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -41,11 +41,15 @@ Upgrade Notes
* SOLR-8785: Metrics related classes in org.apache.solr.util.stats have been removed in favor of
the dropwizard metrics library. Any custom plugins using these classes should be changed to use
- the equivalent classes from the metrics library. As part of these changes, the "totalTime" metric
- exposed by Overseer Status API in previous versions has been removed because it is no longer supported
- by the metrics library. Also, the metrics "75thPctlRequestTime", "95thPctlRequestTime", "99thPctlRequestTime"
- and "999thPctlRequestTime" in Overseer Status API have been renamed to "75thPcRequestTime", "95thPcRequestTime"
- and so on for consistency with stats output in other parts of Solr.
+ the equivalent classes from the metrics library.
+ As part of this, the following changes were made to the output of Overseer Status API:
+ * The "totalTime" metric has been removed because it is no longer supported
+ * The metrics "75thPctlRequestTime", "95thPctlRequestTime", "99thPctlRequestTime"
+ and "999thPctlRequestTime" in Overseer Status API have been renamed to "75thPcRequestTime", "95thPcRequestTime"
+ and so on for consistency with stats output in other parts of Solr.
+ * The metrics "avgRequestsPerMinute", "5minRateRequestsPerMinute" and "15minRateRequestsPerMinute" have been
+ replaced by corresponding per-second rates viz. "avgRequestsPerSecond", "5minRateRequestsPerSecond"
+ and "15minRateRequestsPerSecond" for consistency with stats output in other parts of Solr.
New Features
----------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8a5bb466/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 af65a3a..243c1ee 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,8 +27,6 @@ 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
@@ -36,9 +34,9 @@ public class TimerUtils {
*/
public static void addMetrics(NamedList<Object> lst, Timer timer) {
Snapshot snapshot = timer.getSnapshot();
- lst.add("avgRequestsPerMinute", convertRateToPerMinute(timer.getMeanRate()));
- lst.add("5minRateRequestsPerMinute", convertRateToPerMinute(timer.getFiveMinuteRate()));
- lst.add("15minRateRequestsPerMinute", convertRateToPerMinute(timer.getFifteenMinuteRate()));
+ lst.add("avgRequestsPerSecond", timer.getMeanRate());
+ lst.add("5minRateRequestsPerSecond", timer.getFiveMinuteRate());
+ lst.add("15minRateRequestsPerSecond", timer.getFifteenMinuteRate());
lst.add("avgTimePerRequest", nsToMs(snapshot.getMean()));
lst.add("medianRequestTime", nsToMs(snapshot.getMedian()));
lst.add("75thPcRequestTime", nsToMs(snapshot.get75thPercentile()));
@@ -57,8 +55,4 @@ 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/8a5bb466/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
index 48b53d1..dccc2c6 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerTest.java
@@ -1071,9 +1071,9 @@ public class OverseerTest extends SolrTestCaseJ4 {
private void printTimingStats(Timer timer) {
Snapshot snapshot = timer.getSnapshot();
- log.info("\t avgRequestsPerMinute: {}", timer.getMeanRate());
- log.info("\t 5minRateRequestsPerMinute: {}", timer.getFiveMinuteRate());
- log.info("\t 15minRateRequestsPerMinute: {}", timer.getFifteenMinuteRate());
+ log.info("\t avgRequestsPerSecond: {}", timer.getMeanRate());
+ log.info("\t 5minRateRequestsPerSecond: {}", timer.getFiveMinuteRate());
+ log.info("\t 15minRateRequestsPerSecond: {}", timer.getFifteenMinuteRate());
log.info("\t avgTimePerRequest: {}", nsToMs(snapshot.getMean()));
log.info("\t medianRequestTime: {}", nsToMs(snapshot.getMedian()));
log.info("\t 75thPcRequestTime: {}", nsToMs(snapshot.get75thPercentile()));
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8a5bb466/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 c3881e1..851f768 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"), TimerUtils.convertRateToPerMinute(timer.getMeanRate()));
- assertEquals(lst.get("5minRateRequestsPerMinute"), TimerUtils.convertRateToPerMinute(timer.getFiveMinuteRate()));
- assertEquals(lst.get("15minRateRequestsPerMinute"), TimerUtils.convertRateToPerMinute(timer.getFifteenMinuteRate()));
+ // assertEquals(lst.get("avgRequestsPerSecond"), timer.getMeanRate());
+ assertEquals(lst.get("5minRateRequestsPerSecond"), timer.getFiveMinuteRate());
+ assertEquals(lst.get("15minRateRequestsPerSecond"), 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()));