embulk-filter-speedometer 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 525cd955adc5782203cdf6b18247a06bb735b85b
4
- data.tar.gz: 2cac362870f2fd022ce61a1b564ffef59ac2762a
3
+ metadata.gz: 25a84966e8bb8be6e69b29e014ee10b6569c645d
4
+ data.tar.gz: 6e0073adb00e1fa9076898177602155c4382e67e
5
5
  SHA512:
6
- metadata.gz: 526d22cc15e2be5f2732852b9519f6a0647553e03b73da7e2d9d984613dc98410ac33135a95044d263583eabf1db8f2cefe61ca6a36ea615a3e25d193777c095
7
- data.tar.gz: e4b9921f9b9573022bce814128fc0b436a9736639acfc4b1318cfad66ce53a900b73836a16a97a6c992f5adaf56d8226d16efd2d1cfa0fcde21a62a996e9748d
6
+ metadata.gz: e6b580ef514a8cca77bed243f05ebf02f41887cf5b33d602959fcdfa9171395f3329f063ff7b6333c4dff932ffcbd70c7e06a595642971693d3e1e305d84bb59
7
+ data.tar.gz: 43a7d51da77945c8245c9276da9f9d04694e5a87d2ac76ac5d875a7350c18f00d349c452b57c692ef027d2e72aa42c5509e0014ecc5fc32d058f733629c9682c
data/build.gradle CHANGED
@@ -16,7 +16,7 @@ configurations {
16
16
  provided
17
17
  }
18
18
 
19
- version = "0.2.2"
19
+ version = "0.2.3"
20
20
 
21
21
  dependencies {
22
22
  compile "org.embulk:embulk-core:0.5.0+"
@@ -82,47 +82,46 @@ public class SpeedometerFilterPlugin
82
82
  private final Schema schema;
83
83
  private final ImmutableMap<Column, TimestampFormatter> timestampMap;
84
84
  private final PageOutput pageOutput;
85
- private final PageOutput addOnlyPageOutput;
86
85
  private final PageReader pageReader;
87
86
  private final BufferAllocator allocator;
88
87
  private final int delimiterLength;
89
88
  private final int recordPaddingSize;
89
+ private final PageBuilder pageBuilder;
90
90
 
91
91
  SpeedControlPageOutput(PluginTask task, Schema schema, PageOutput pageOutput) {
92
92
  this.controller = new SpeedometerSpeedController(task, SpeedometerSpeedAggregator.getInstance());
93
93
  this.schema = schema;
94
94
  this.pageOutput = pageOutput;
95
- this.addOnlyPageOutput = new AddOnlyPageOutput(pageOutput);
96
95
  this.allocator = task.getBufferAllocator();
97
96
  this.delimiterLength = task.getDelimiter().length();
98
97
  this.recordPaddingSize = task.getRecordPaddingSize();
99
- pageReader = new PageReader(schema);
100
- timestampMap = buildTimestampFormatterMap(task, schema);
98
+ this.pageReader = new PageReader(schema);
99
+ this.timestampMap = buildTimestampFormatterMap(task, schema);
100
+ this.pageBuilder = new PageBuilder(allocator, schema, pageOutput);
101
101
  }
102
102
 
103
103
  @Override
104
104
  public void add(Page page) {
105
- try (final PageBuilder pageBuilder = new PageBuilder(allocator, schema, addOnlyPageOutput)) {
106
- ColumnVisitorImpl visitor = new ColumnVisitorImpl(pageBuilder);
107
- pageReader.setPage(page);
108
- while (pageReader.nextRecord()) {
109
- visitor.speedMonitorStartRecord();
110
- schema.visitColumns(visitor);
111
- visitor.speedMonitorEndRecord();
112
- pageBuilder.addRecord();
113
- }
114
- pageBuilder.finish();
105
+ ColumnVisitorImpl visitor = new ColumnVisitorImpl(pageBuilder);
106
+ pageReader.setPage(page);
107
+ while (pageReader.nextRecord()) {
108
+ visitor.speedMonitorStartRecord();
109
+ schema.visitColumns(visitor);
110
+ visitor.speedMonitorEndRecord();
111
+ pageBuilder.addRecord();
115
112
  }
116
113
  }
117
114
 
118
115
  @Override
119
116
  public void finish() {
117
+ pageBuilder.finish();
120
118
  pageOutput.finish();
121
119
  }
122
120
 
123
121
  @Override
124
122
  public void close() {
125
123
  controller.stop();
124
+ pageBuilder.close();
126
125
  pageReader.close();
127
126
  pageOutput.close();
128
127
  }
@@ -157,25 +156,6 @@ public class SpeedometerFilterPlugin
157
156
  return builder.build();
158
157
  }
159
158
 
160
- // Ignore finish and close to avoid closing upper output stream.
161
- static class AddOnlyPageOutput implements PageOutput {
162
- protected final PageOutput output;
163
-
164
- public AddOnlyPageOutput(PageOutput outptut) {
165
- this.output = outptut;
166
- }
167
-
168
- @Override
169
- public void add(Page page) {
170
- output.add(page);
171
- }
172
-
173
- @Override
174
- public void finish() { }
175
-
176
- @Override
177
- public void close() { }
178
- }
179
159
 
180
160
  class ColumnVisitorImpl implements ColumnVisitor {
181
161
  private final PageBuilder pageBuilder;
@@ -69,8 +69,8 @@ public class TestSpeedometerFilterPlugin
69
69
 
70
70
  new Verifications() {{
71
71
  taskSource.loadTask(PluginTask.class); times = 1;
72
- builder.finish(); times = 1;
73
72
  builder.addRecord(); times = 1;
73
+ builder.finish(); times = 0;
74
74
  reader.nextRecord(); times = 2;
75
75
  reader.setPage(page); times = 1;
76
76
  schema.visitColumns(withInstanceOf(ColumnVisitor.class)); times = 2;
@@ -90,6 +90,7 @@ public class TestSpeedometerFilterPlugin
90
90
 
91
91
  new Verifications() {{
92
92
  taskSource.loadTask(PluginTask.class); times = 1;
93
+ builder.finish(); times = 1;
93
94
  inPageOutput.finish(); times = 1;
94
95
  }};
95
96
  }
@@ -107,6 +108,7 @@ public class TestSpeedometerFilterPlugin
107
108
 
108
109
  new Verifications() {{
109
110
  taskSource.loadTask(PluginTask.class); times = 1;
111
+ builder.close(); times = 1;
110
112
  reader.close(); times = 1;
111
113
  inPageOutput.close(); times = 1;
112
114
  }};
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-filter-speedometer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - hata
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-13 00:00:00.000000000 Z
11
+ date: 2015-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
15
- version_requirements: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ~>
18
- - !ruby/object:Gem::Version
19
- version: '1.0'
20
14
  requirement: !ruby/object:Gem::Requirement
21
15
  requirements:
22
16
  - - ~>
23
17
  - !ruby/object:Gem::Version
24
18
  version: '1.0'
19
+ name: bundler
25
20
  prerelease: false
26
21
  type: :development
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
22
  version_requirements: !ruby/object:Gem::Requirement
30
23
  requirements:
31
- - - '>='
24
+ - - ~>
32
25
  - !ruby/object:Gem::Version
33
- version: '10.0'
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
34
28
  requirement: !ruby/object:Gem::Requirement
35
29
  requirements:
36
30
  - - '>='
37
31
  - !ruby/object:Gem::Version
38
32
  version: '10.0'
33
+ name: rake
39
34
  prerelease: false
40
35
  type: :development
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
41
  description: Write log message of processed bytes and throughput periodically.
42
42
  email:
43
43
  - hiroki.ata@gmail.com
@@ -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.2.jar
65
+ - classpath/embulk-filter-speedometer-0.2.3.jar
66
66
  homepage: https://github.com/hata/embulk-filter-speedometer
67
67
  licenses:
68
68
  - MIT