influxdb-client 1.6.0.pre.916 → 1.7.0.pre.1015
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.md +34 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +28 -0
- data/.github/PULL_REQUEST_TEMPLATE +10 -2
- data/.github/semantic.yml +3 -0
- data/CHANGELOG.md +7 -1
- data/README.md +2 -2
- data/lib/influxdb2/client/point.rb +8 -3
- data/lib/influxdb2/client/version.rb +1 -1
- data/lib/influxdb2/client/worker.rb +1 -1
- data/test/influxdb/point_test.rb +21 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f7d3acebd47909037578d03e9c41a563328fc8a112019ef705417f4ce0b5dc7
|
4
|
+
data.tar.gz: f5fd4db9b000fb952eedd3ef7cbdc93fec3b5806101d819fd5c9febc33b95a68
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1da2d03a086ad92b8c7d82a29cdff3e228dd9140808df9b3ae1ed961670535ad8125d3345202b5dc6dad0f7d370057f24e8607f9bfc6479d756bbea61e04cebd
|
7
|
+
data.tar.gz: 1fe5947810dff9c7d97ec8eefc4d2d54d8e67db663c42e2ae606747f444bd96b9083beb1439e27fb2d2fd1c1fc6bae055d3ffd9816f0819b85039eb47b37f7a8
|
@@ -0,0 +1,34 @@
|
|
1
|
+
---
|
2
|
+
name: Bug report
|
3
|
+
about: Create a report to help us improve
|
4
|
+
---
|
5
|
+
|
6
|
+
<!--
|
7
|
+
|
8
|
+
Thank you for reporting a bug.
|
9
|
+
|
10
|
+
* Please add a :+1: or comment on a similar existing bug report instead of opening a new one.
|
11
|
+
* https://github.com/influxdata/influxdb-client-ruby/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+is%3Aclosed+sort%3Aupdated-desc+label%3Abug+
|
12
|
+
* Please check whether the bug can be reproduced with the latest release.
|
13
|
+
* The fastest way to fix a bug is to open a Pull Request.
|
14
|
+
* https://github.com/influxdata/influxdb-client-ruby/pulls
|
15
|
+
|
16
|
+
-->
|
17
|
+
|
18
|
+
__Steps to reproduce:__
|
19
|
+
List the minimal actions needed to reproduce the behavior.
|
20
|
+
|
21
|
+
1. ...
|
22
|
+
2. ...
|
23
|
+
3. ...
|
24
|
+
|
25
|
+
__Expected behavior:__
|
26
|
+
Describe what you expected to happen.
|
27
|
+
|
28
|
+
__Actual behavior:__
|
29
|
+
Describe What actually happened.
|
30
|
+
|
31
|
+
__Specifications:__
|
32
|
+
- Client Version:
|
33
|
+
- InfluxDB Version:
|
34
|
+
- Platform:
|
@@ -0,0 +1,28 @@
|
|
1
|
+
---
|
2
|
+
name: Feature request
|
3
|
+
about: Opening a feature request kicks off a discussion
|
4
|
+
---
|
5
|
+
|
6
|
+
<!--
|
7
|
+
|
8
|
+
Thank you for suggesting an idea to improve this client.
|
9
|
+
|
10
|
+
* Please add a :+1: or comment on a similar existing feature request instead of opening a new one.
|
11
|
+
* https://github.com/influxdata/influxdb-client-ruby/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+is%3Aclosed+sort%3Aupdated-desc+label%3A%22enhancement%22+
|
12
|
+
|
13
|
+
-->
|
14
|
+
|
15
|
+
__Proposal:__
|
16
|
+
Short summary of the feature.
|
17
|
+
|
18
|
+
__Current behavior:__
|
19
|
+
Describe what currently happens.
|
20
|
+
|
21
|
+
__Desired behavior:__
|
22
|
+
Describe what you want.
|
23
|
+
|
24
|
+
__Alternatives considered:__
|
25
|
+
Describe other solutions or features you considered.
|
26
|
+
|
27
|
+
__Use case:__
|
28
|
+
Why is this important (helps with prioritizing requests)?
|
@@ -1,8 +1,16 @@
|
|
1
1
|
Closes #
|
2
2
|
|
3
|
+
## Proposed Changes
|
4
|
+
|
3
5
|
_Briefly describe your proposed changes:_
|
4
6
|
|
7
|
+
## Checklist
|
8
|
+
|
9
|
+
<!-- Checkboxes below this note can be erased if not applicable to your Pull Request. -->
|
10
|
+
|
5
11
|
- [ ] CHANGELOG.md updated
|
6
12
|
- [ ] Rebased/mergeable
|
7
|
-
- [ ]
|
8
|
-
- [ ]
|
13
|
+
- [ ] A test has been added if appropriate
|
14
|
+
- [ ] `rake test` completes successfully
|
15
|
+
- [ ] Commit messages are in [semantic format](https://seesparkbox.com/foundry/semantic_commit_messages)
|
16
|
+
- [ ] Sign [CLA](https://influxdata.com/community/cla/) (if not already signed)
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
-
## 1.
|
1
|
+
## 1.7.0 [unreleased]
|
2
|
+
|
3
|
+
## 1.6.0 [2020-07-17]
|
4
|
+
|
5
|
+
### Bug Fixes
|
6
|
+
1. [#42](https://github.com/influxdata/influxdb-client-ruby/pull/42): Fixed serialization of `\n`, `\r` and `\t` to Line Protocol, `=` is valid sign for measurement name
|
7
|
+
1. [#44](https://github.com/influxdata/influxdb-client-ruby/pull/44): Fixed supporting of Ruby 2.2
|
2
8
|
|
3
9
|
## 1.5.0 [2020-06-19]
|
4
10
|
|
data/README.md
CHANGED
@@ -23,7 +23,7 @@ The client can be installed manually or with bundler.
|
|
23
23
|
To install the client gem manually:
|
24
24
|
|
25
25
|
```
|
26
|
-
gem install influxdb-client -v 1.
|
26
|
+
gem install influxdb-client -v 1.6.0
|
27
27
|
```
|
28
28
|
|
29
29
|
## Usage
|
@@ -122,7 +122,7 @@ The writes are processed in batches which are configurable by `WriteOptions`:
|
|
122
122
|
| Property | Description | Default Value |
|
123
123
|
| --- | --- | --- |
|
124
124
|
| batchSize | the number of data point to collect in batch | 1000 |
|
125
|
-
|
|
125
|
+
| flush_interval | the number of milliseconds before the batch is written | 1000 |
|
126
126
|
| retry_interval | the number of milliseconds to retry unsuccessful write. The retry interval is used when the InfluxDB server does not specify "Retry-After" header. | 1000 |
|
127
127
|
| jitter_interval | the number of milliseconds to increase the batch flush interval by a random amount | 0 |
|
128
128
|
|
@@ -21,6 +21,8 @@
|
|
21
21
|
module InfluxDB2
|
22
22
|
DEFAULT_WRITE_PRECISION = WritePrecision::NANOSECOND
|
23
23
|
ESCAPE_KEY_LIST = ['\\'.freeze, ','.freeze, ' '.freeze, '='.freeze].freeze
|
24
|
+
ESCAPE_MEASUREMENT_LIST = ['\\'.freeze, ','.freeze, ' '.freeze].freeze
|
25
|
+
REPLACE_KEY_LIST = { "\n".freeze => '\n'.freeze, "\r".freeze => '\r'.freeze, "\t".freeze => '\t'.freeze }.freeze
|
24
26
|
ESCAPE_VALUE_LIST = ['\\'.freeze, '"'.freeze].freeze
|
25
27
|
|
26
28
|
# Point defines the values that will be written to the database.
|
@@ -113,7 +115,7 @@ module InfluxDB2
|
|
113
115
|
# @return a string representation of the point
|
114
116
|
def to_line_protocol
|
115
117
|
line_protocol = ''
|
116
|
-
measurement = _escape_key(@name || '')
|
118
|
+
measurement = _escape_key(@name || '', ESCAPE_MEASUREMENT_LIST)
|
117
119
|
|
118
120
|
line_protocol << measurement
|
119
121
|
|
@@ -161,11 +163,14 @@ module InfluxDB2
|
|
161
163
|
end.reject(&:nil?).join(','.freeze)
|
162
164
|
end
|
163
165
|
|
164
|
-
def _escape_key(value)
|
166
|
+
def _escape_key(value, escape_list = ESCAPE_KEY_LIST)
|
165
167
|
result = value.dup
|
166
|
-
|
168
|
+
escape_list.each do |ch|
|
167
169
|
result = result.gsub(ch) { "\\#{ch}" }
|
168
170
|
end
|
171
|
+
REPLACE_KEY_LIST.keys.each do |ch|
|
172
|
+
result = result.gsub(ch) { REPLACE_KEY_LIST[ch] }
|
173
|
+
end
|
169
174
|
result
|
170
175
|
end
|
171
176
|
|
data/test/influxdb/point_test.rb
CHANGED
@@ -218,4 +218,25 @@ class PointTest < MiniTest::Test
|
|
218
218
|
|
219
219
|
assert_equal 'h2o level=2i 123', point.to_line_protocol
|
220
220
|
end
|
221
|
+
|
222
|
+
def test_tag_escaping
|
223
|
+
point = InfluxDB2::Point.new(name: "h\n2\ro\t_data")
|
224
|
+
.add_tag("new\nline", "new\nline")
|
225
|
+
.add_tag("carriage\rreturn", "carriage\nreturn")
|
226
|
+
.add_tag("t\tab", "t\tab")
|
227
|
+
.add_field('level', 2)
|
228
|
+
|
229
|
+
puts point.to_line_protocol
|
230
|
+
|
231
|
+
assert_equal 'h\\n2\\ro\\t_data,carriage\\rreturn=carriage\\nreturn,new\\nline=new\\nline,t\\tab=t\\tab level=2i',
|
232
|
+
point.to_line_protocol
|
233
|
+
end
|
234
|
+
|
235
|
+
def test_equal_sign_escaping
|
236
|
+
point = InfluxDB2::Point.new(name: 'h=2o')
|
237
|
+
.add_tag('l=ocation', 'e=urope')
|
238
|
+
.add_field('l=evel', 2)
|
239
|
+
|
240
|
+
assert_equal 'h=2o,l\\=ocation=e\\=urope l\\=evel=2i', point.to_line_protocol
|
241
|
+
end
|
221
242
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: influxdb-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0.pre.1015
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jakub Bednar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -132,7 +132,10 @@ files:
|
|
132
132
|
- ".circleci/config.yml"
|
133
133
|
- ".circleci/setup-rubygems.sh"
|
134
134
|
- ".codecov.yml"
|
135
|
+
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
136
|
+
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
135
137
|
- ".github/PULL_REQUEST_TEMPLATE"
|
138
|
+
- ".github/semantic.yml"
|
136
139
|
- ".gitignore"
|
137
140
|
- ".rubocop.yml"
|
138
141
|
- CHANGELOG.md
|