From 161d3bdfbfe331a1ea3c6da1d096e86fd7a5c525 Mon Sep 17 00:00:00 2001 From: Luck Date: Thu, 21 Feb 2019 13:06:10 +0000 Subject: Allow sampling at fractions of a millisecond intervals --- .../main/java/me/lucko/spark/common/command/Arguments.java | 12 ++++++++++++ .../me/lucko/spark/common/command/modules/SamplerModule.java | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'spark-common/src/main/java/me/lucko/spark/common') diff --git a/spark-common/src/main/java/me/lucko/spark/common/command/Arguments.java b/spark-common/src/main/java/me/lucko/spark/common/command/Arguments.java index d240554..2b202af 100644 --- a/spark-common/src/main/java/me/lucko/spark/common/command/Arguments.java +++ b/spark-common/src/main/java/me/lucko/spark/common/command/Arguments.java @@ -89,6 +89,18 @@ public class Arguments { return -1; // undefined } + public double doubleFlag(String key) { + Iterator it = this.parsedArgs.get(key).iterator(); + if (it.hasNext()) { + try { + return Math.abs(Double.parseDouble(it.next())); + } catch (NumberFormatException e) { + throw new IllegalArgumentException("Invalid input for '" + key + "' argument. Please specify a number!"); + } + } + return -1; // undefined + } + public Set stringFlag(String key) { return this.parsedArgs.get(key); } diff --git a/spark-common/src/main/java/me/lucko/spark/common/command/modules/SamplerModule.java b/spark-common/src/main/java/me/lucko/spark/common/command/modules/SamplerModule.java index 6ebbee1..9d00a96 100644 --- a/spark-common/src/main/java/me/lucko/spark/common/command/modules/SamplerModule.java +++ b/spark-common/src/main/java/me/lucko/spark/common/command/modules/SamplerModule.java @@ -73,7 +73,7 @@ public class SamplerModule implements CommandModule { platform.sendPrefixedMessage(sender, "&7The accuracy of the output will significantly improve when sampling is able to run for longer periods. Consider setting a timeout value over 30 seconds."); } - int intervalMillis = arguments.intFlag("interval"); + double intervalMillis = arguments.doubleFlag("interval"); if (intervalMillis <= 0) { intervalMillis = 4; } -- cgit