embulk-filter-speedometer 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1863aa945ac60beaa9405eb474afa72e7c1a6db5
4
- data.tar.gz: b6b07c39b231515584ee029c516461f5848ce1d0
3
+ metadata.gz: 525cd955adc5782203cdf6b18247a06bb735b85b
4
+ data.tar.gz: 2cac362870f2fd022ce61a1b564ffef59ac2762a
5
5
  SHA512:
6
- metadata.gz: ae0a2f4e7130ec2a0d05a63943e015f28c6e7fb745b0139deacaa8edd57f9a46db555b6aacd6bdfd32ca56deb85f6b8e7fcb48090fa1a2d05e5ff65d697dd95b
7
- data.tar.gz: 2fbf9bdad05e59ca7001acaa6ced9352c76537a439e5b5dc271388c13d538ca1f6fabf7a6be7d5725a18d243796bd5cfcd9b738919f1b4caaddd7bb557ec4c9c
6
+ metadata.gz: 526d22cc15e2be5f2732852b9519f6a0647553e03b73da7e2d9d984613dc98410ac33135a95044d263583eabf1db8f2cefe61ca6a36ea615a3e25d193777c095
7
+ data.tar.gz: e4b9921f9b9573022bce814128fc0b436a9736639acfc4b1318cfad66ce53a900b73836a16a97a6c992f5adaf56d8226d16efd2d1cfa0fcde21a62a996e9748d
data/README.md CHANGED
@@ -72,6 +72,6 @@ $ ./gradlew gem
72
72
 
73
73
  ## Note
74
74
 
75
- The shown data is caled based on text data size while using this filter plugin. So, the data is not the same data as read bytes and write bytes n input and output plugins.
75
+ The shown data is caled based on text data size while using this filter plugin. So, the data is not the same data as read bytes and write bytes n input and output plugins. And this plugin has a little overhead to measure the bytes.
76
76
 
77
77
 
data/build.gradle CHANGED
@@ -16,7 +16,7 @@ configurations {
16
16
  provided
17
17
  }
18
18
 
19
- version = "0.2.1"
19
+ version = "0.2.2"
20
20
 
21
21
  dependencies {
22
22
  compile "org.embulk:embulk-core:0.5.0+"
@@ -39,13 +39,23 @@ task gem(type: JRubyExec, dependsOn: ["build", "gemspec", "classpath"]) {
39
39
  doLast { ant.move(file: "${project.name}-${project.version}.gem", todir: "pkg") }
40
40
  }
41
41
 
42
+ task gemPush(type: JRubyExec, dependsOn: ["gem"]) {
43
+ jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "push"
44
+ script "pkg/${project.name}-${project.version}.gem"
45
+ }
46
+
47
+ task "package"(dependsOn: ["gemspec", "classpath"]) << {
48
+ println "> Build succeeded."
49
+ println "> You can run embulk with '-L ${file(".").absolutePath}' argument."
50
+ }
51
+
42
52
  task gemspec << { file("build/gemspec").write($/
43
53
  Gem::Specification.new do |spec|
44
54
  spec.name = "${project.name}"
45
55
  spec.version = "${project.version}"
46
- spec.authors = ["Hiroki Ata"]
56
+ spec.authors = ["hata"]
47
57
  spec.summary = %[Speedometer filter plugin for Embulk]
48
- spec.description = %["Write log message of processed bytes and throughput periodically."]
58
+ spec.description = %[Write log message of processed bytes and throughput periodically.]
49
59
  spec.email = ["hiroki.ata@gmail.com"]
50
60
  spec.licenses = ["MIT"]
51
61
  spec.homepage = "https://github.com/hata/embulk-filter-speedometer"
@@ -256,7 +256,7 @@ public class SpeedometerFilterPlugin
256
256
 
257
257
  private long speedMonitor(Column column, long l) {
258
258
  speedMonitorForDelimiter(column);
259
- controller.checkSpeedLimit(startRecordTime, String.valueOf(l).length());
259
+ controller.checkSpeedLimit(startRecordTime, SpeedometerUtil.toDigitsTextLength(l));
260
260
  return l;
261
261
  }
262
262
 
@@ -1,6 +1,7 @@
1
1
  package org.embulk.filter;
2
2
 
3
3
  public class SpeedometerUtil {
4
+ private static final int MIN_LENGTH = String.valueOf(Long.MIN_VALUE).length();
4
5
 
5
6
  public static String toNumberText(long originalNum) {
6
7
  long baseNum = 1000;
@@ -60,4 +61,16 @@ public class SpeedometerUtil {
60
61
 
61
62
  return String.format("%1d days", num);
62
63
  }
64
+
65
+ public static int toDigitsTextLength(long num) {
66
+ if (num == 0) {
67
+ return 1;
68
+ } else if (num == Long.MIN_VALUE) {
69
+ return MIN_LENGTH;
70
+ } else if (num < 0) {
71
+ return 2 + (int)Math.log10(Math.abs(num)); // Note: minus(-) is added.
72
+ } else {
73
+ return 1 + (int)Math.log10(num);
74
+ }
75
+ }
63
76
  }
@@ -38,4 +38,25 @@ public class TestSpeedometerUtil {
38
38
  assertEquals("Verify 100 days", "100 days", SpeedometerUtil.toTimeText(60L * 60 * 24 * 1000 * 100));
39
39
  }
40
40
 
41
+ @Test
42
+ public void testToNumberLengthForZero() {
43
+ assertEquals("Verify toNumberText to zero", 1, SpeedometerUtil.toDigitsTextLength(0));
44
+ }
45
+
46
+ @Test
47
+ public void testToNumberLengthForMax() {
48
+ assertEquals("Verify toNumberText to max", String.valueOf(Long.MAX_VALUE).length(), SpeedometerUtil.toDigitsTextLength(Long.MAX_VALUE));
49
+ }
50
+
51
+ @Test
52
+ public void testToNumberLengthForMin() {
53
+ assertEquals("Verify toNumberText to min", String.valueOf(Long.MIN_VALUE).length(), SpeedometerUtil.toDigitsTextLength(Long.MIN_VALUE));
54
+ }
55
+
56
+ @Test
57
+ public void testToNumberLengthForSeveralValues() {
58
+ for (int i = -1024;i < 1024;i++) {
59
+ assertEquals("Verify toNumberText to " + i, String.valueOf(i).length(), SpeedometerUtil.toDigitsTextLength(i));
60
+ }
61
+ }
41
62
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-filter-speedometer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
- - Hiroki Ata
7
+ - hata
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-08 00:00:00.000000000 Z
11
+ date: 2015-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,7 +38,7 @@ dependencies:
38
38
  version: '10.0'
39
39
  prerelease: false
40
40
  type: :development
41
- description: '"Write log message of processed bytes and throughput periodically."'
41
+ description: Write log message of processed bytes and throughput periodically.
42
42
  email:
43
43
  - hiroki.ata@gmail.com
44
44
  executables: []
@@ -62,7 +62,7 @@ files:
62
62
  - src/test/java/org/embulk/filter/TestSpeedometerSpeedAggregator.java
63
63
  - src/test/java/org/embulk/filter/TestSpeedometerSpeedController.java
64
64
  - src/test/java/org/embulk/filter/TestSpeedometerUtil.java
65
- - classpath/embulk-filter-speedometer-0.2.1.jar
65
+ - classpath/embulk-filter-speedometer-0.2.2.jar
66
66
  homepage: https://github.com/hata/embulk-filter-speedometer
67
67
  licenses:
68
68
  - MIT