infludp 0.4.0 → 0.5.0

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: 2c0a1a81415d93f17cdd6c48bd073d50d6a29b28
4
- data.tar.gz: 37e549eb3926b274598b40d5d07b9f7316d30d22
3
+ metadata.gz: d3d7c12e910ce6b126a424c820ffb11405fe257f
4
+ data.tar.gz: d897c3b48c78cde46ca3f79d0d45705a408f3525
5
5
  SHA512:
6
- metadata.gz: 3d07b6ef0be5274843698e82446deb08a324e1e887188a70cdf7f2fa67536b349ebe88bfc133916dbd23c04c9a7c9eb55efbdb652e5b1e04cbf85fc5d8e60b5f
7
- data.tar.gz: 9d2826387d7dbfebba21479dac26c0d03fe8e5b51e43a29f3467132561b43e22bd8d1ea49c119267296f7f7eacc23f5047c7c83030cc6121f885b6ad79ec3cc4
6
+ metadata.gz: 494420b2b2eeeb3413c07eddd63627b8f9440e98873e42bb4b255af0e209126ed29b97dceb9f05e06b03a6d4c9937df17c536e9f0f56089cac2c96ac5fc0477d
7
+ data.tar.gz: 92e1d4a3f683c16c55616b02c2799d7d33de350e9dba1ba48e769569451ec3396ed821e577a37c37e236116ea54dc26613ed2d1cfdb9f28fbf5496a09d14147a
data/README.md CHANGED
@@ -17,10 +17,13 @@ $metrics = Infludp::Client.new(
17
17
  port: 4444
18
18
  )
19
19
 
20
- $metrics.send('cpu', {
20
+ $metrics.send('cpu',
21
+ {
21
22
  node: 'server1',
22
- value: 22,
23
- boot: true
23
+ os: 'ubuntu'
24
+ },
25
+ {
26
+ value: 22
24
27
  })
25
28
  ```
26
29
 
@@ -33,11 +36,11 @@ bundle exec rake test:all
33
36
 
34
37
  ```
35
38
  Rehearsal ---------------------------------------------------------------
36
- 1000 metrics: 0.030000 0.020000 0.050000 ( 0.046954)
37
- ------------------------------------------------------ total: 0.050000sec
39
+ 1000 metrics: 0.020000 0.000000 0.020000 ( 0.018585)
40
+ ------------------------------------------------------ total: 0.020000sec
38
41
 
39
42
  user system total real
40
- 1000 metrics: 0.030000 0.010000 0.040000 ( 0.045463)
43
+ 1000 metrics: 0.020000 0.000000 0.020000 ( 0.019719)
41
44
  ```
42
45
 
43
46
  ## Contributing.
@@ -21,4 +21,5 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 1.9"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "minitest", "~> 5.8"
24
25
  end
@@ -11,25 +11,27 @@ module Infludp
11
11
  Thread.current[:infludp_socket] ||= UDPSocket.new
12
12
  end
13
13
 
14
- def send(name, data)
14
+ def send(name, tags, fields)
15
15
  socket.send(
16
- build_metric(name, data),
16
+ build_metric(name, tags, fields),
17
17
  0,
18
18
  host,
19
19
  port
20
20
  )
21
21
  end
22
22
 
23
- def build_metric(name, data)
24
- values = data.map do |key, value|
23
+ def build_metric(name, tags, fields)
24
+ "#{name},#{to_line(tags)} #{to_line(fields)}"
25
+ end
26
+
27
+ def to_line(hash)
28
+ hash.map do |key, value|
25
29
  if value.is_a?(String)
26
30
  "#{key}=\"#{value}\""
27
31
  else
28
32
  "#{key}=#{value}"
29
33
  end
30
- end
31
-
32
- "#{name} #{values.join(',')}"
34
+ end.join(',')
33
35
  end
34
36
  end
35
37
  end
@@ -1,3 +1,3 @@
1
1
  module Infludp
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infludp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Lisci
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-16 00:00:00.000000000 Z
11
+ date: 2016-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.8'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.8'
41
55
  description: A minimal, zero dependencies, thread-safe Ruby gem to send metrics via
42
56
  UDP to InfluxDB.
43
57
  email:
@@ -75,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
89
  version: '0'
76
90
  requirements: []
77
91
  rubyforge_project:
78
- rubygems_version: 2.4.5.1
92
+ rubygems_version: 2.5.1
79
93
  signing_key:
80
94
  specification_version: 4
81
95
  summary: A minimal, zero dependencies, thread-safe Ruby gem to send metrics via UDP