fluent-plugin-kinesis-aggregation 0.3.0 → 0.3.1
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 +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +15 -3
- data/fluent-plugin-kinesis-aggregation.gemspec +2 -3
- data/lib/fluent/plugin/out_kinesis-aggregation.rb +1 -1
- metadata +6 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2fdb6fdb865ab11d3b344f3560e974b29db2a705
|
4
|
+
data.tar.gz: 7838a02ab5534233c27de0e3b2aac5f7434c6ce1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f58339950f8502bd0bb4467228dea4d4c734d6f81495187d4f8d5167c5085749464ffda164a3fbd34015d5885ee0346c6979162c62c6be36b9aa7934189cece
|
7
|
+
data.tar.gz: da93990656c28ccde4159cefdf9883af0a2917f5e722ad05673573c85756b7202dd1a3179fb377b8a554766fcd47a44e46b82f305f12aaa0f8d337018d462a53
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 0.3.1
|
4
|
+
|
5
|
+
- Change aws-sdk usage to work with both v2 and v3
|
6
|
+
(in particular, makes it possible to use latest td-agent which includes the s3 plugin
|
7
|
+
and pulls in aws-sdk v3)
|
8
|
+
|
3
9
|
## 0.3.0
|
4
10
|
|
5
11
|
- Update to use fluentd 0.14 API (stick to 0.2.3 if you need support for earlier versions of fluentd)
|
data/README.md
CHANGED
@@ -8,14 +8,26 @@ This is a rewrite of [aws-fluent-plugin-kinesis](https://github.com/awslabs/aws-
|
|
8
8
|
a different shipment method using the
|
9
9
|
[KPL aggregation format](https://github.com/awslabs/amazon-kinesis-producer/blob/master/aggregation-format.md).
|
10
10
|
|
11
|
+
*Since this plugin was forked, aws-fluent-plugin-kinesis has undergone considerable development (and improvement).
|
12
|
+
Most notably, the upcoming 2.0 release supports KPL aggregated records using google-protobuf without
|
13
|
+
the overhead of using the KPL:
|
14
|
+
https://github.com/awslabs/aws-fluent-plugin-kinesis/issues/107*
|
15
|
+
|
16
|
+
*However, it still uses msgpack for internal buffering and only uses protobuf when it ships the records,
|
17
|
+
whereas this plugin processes each record as it comes in and ships the result by simple concatenation
|
18
|
+
of the encoded records. This may not be faster, of course - could depend on the overhead of calling
|
19
|
+
the protobuf methods - but most probably is. The discussion below is also still mostly valid,
|
20
|
+
in that the awslabs plugin does not have PutRecord == chunk equivalency, but instead has its
|
21
|
+
own internal retry method.*
|
22
|
+
|
11
23
|
The basic idea is to have one PutRecord === one chunk. This has a number of advantages:
|
12
24
|
|
13
25
|
- much less complexity in plugin (less CPU/memory)
|
14
26
|
- by aggregating, we increase the throughput and decrease the cost
|
15
27
|
- since a single chunk either succeeds or fails,
|
16
28
|
we get to use fluentd's more complex/complete retry mechanism
|
17
|
-
(which is also exposed
|
18
|
-
|
29
|
+
(which is also exposed by the monitor plugin; we view this in datadog). The existing retry mechanism
|
30
|
+
had [unfortunate issues under heavy load](https://github.com/awslabs/aws-fluent-plugin-kinesis/issues/42)
|
19
31
|
- we get ordering within a chunk without having to rely on sequence
|
20
32
|
numbers (though not overall ordering)
|
21
33
|
|
@@ -63,7 +75,7 @@ specify the library path via RUBYLIB:
|
|
63
75
|
## Dependencies
|
64
76
|
|
65
77
|
* Ruby 2.1+
|
66
|
-
* Fluentd 0.10.
|
78
|
+
* Fluentd 0.14.15+ (if you need 0.10 or 0.12 support, use the fluentd-v0.12 branch or version 0.2.x on rubygems)
|
67
79
|
|
68
80
|
## Basic Usage
|
69
81
|
|
@@ -17,7 +17,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
17
17
|
|
18
18
|
Gem::Specification.new do |spec|
|
19
19
|
spec.name = "fluent-plugin-kinesis-aggregation"
|
20
|
-
spec.version = '0.3.
|
20
|
+
spec.version = '0.3.1'
|
21
21
|
spec.author = 'Atlassian'
|
22
22
|
spec.email = 'jhaggerty@atlassian.com'
|
23
23
|
spec.summary = %q{Fluentd output plugin that sends KPL style aggregated events to Amazon Kinesis.}
|
@@ -35,7 +35,6 @@ Gem::Specification.new do |spec|
|
|
35
35
|
spec.add_development_dependency "test-unit-rr", "~> 1.0"
|
36
36
|
|
37
37
|
spec.add_dependency "fluentd", [">= 0.14.15", "< 2"]
|
38
|
-
spec.add_dependency "aws-sdk
|
39
|
-
spec.add_dependency "msgpack", "~> 1.0"
|
38
|
+
spec.add_dependency "aws-sdk", ">= 2.0.12", "< 4.0"
|
40
39
|
spec.add_dependency "google-protobuf", "~> 3.0"
|
41
40
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-kinesis-aggregation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Atlassian
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -73,7 +73,7 @@ dependencies:
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '2'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
|
-
name: aws-sdk
|
76
|
+
name: aws-sdk
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
79
|
- - ">="
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
version: 2.0.12
|
82
82
|
- - "<"
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: '
|
84
|
+
version: '4.0'
|
85
85
|
type: :runtime
|
86
86
|
prerelease: false
|
87
87
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -91,21 +91,7 @@ dependencies:
|
|
91
91
|
version: 2.0.12
|
92
92
|
- - "<"
|
93
93
|
- !ruby/object:Gem::Version
|
94
|
-
version: '
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
name: msgpack
|
97
|
-
requirement: !ruby/object:Gem::Requirement
|
98
|
-
requirements:
|
99
|
-
- - "~>"
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '1.0'
|
102
|
-
type: :runtime
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
requirements:
|
106
|
-
- - "~>"
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
version: '1.0'
|
94
|
+
version: '4.0'
|
109
95
|
- !ruby/object:Gem::Dependency
|
110
96
|
name: google-protobuf
|
111
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -160,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
160
146
|
version: '0'
|
161
147
|
requirements: []
|
162
148
|
rubyforge_project:
|
163
|
-
rubygems_version: 2.5.2
|
149
|
+
rubygems_version: 2.5.2.2
|
164
150
|
signing_key:
|
165
151
|
specification_version: 4
|
166
152
|
summary: Fluentd output plugin that sends KPL style aggregated events to Amazon Kinesis.
|