infludp 0.3.0 → 0.4.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: 80516e0b99c7d7f84408bce7a50044e3c1f9ce00
4
- data.tar.gz: 02b7fa064339d9da8cfbb1eaaf29e6df2908a07e
3
+ metadata.gz: 2c0a1a81415d93f17cdd6c48bd073d50d6a29b28
4
+ data.tar.gz: 37e549eb3926b274598b40d5d07b9f7316d30d22
5
5
  SHA512:
6
- metadata.gz: 5b4898528b75a57ad47924fe7579b4699e77a16c3554e418e4349ce556a5a9ccdefd98a664e2386f49b0b6db6d30cbc632b381e957bce14f1fa0afebd992ce22
7
- data.tar.gz: 4db4736dcb6fdadbc5e5c08e54bd37f74a2061619429730cf15ad1f3139925065ec6584cb15fbf63d727fde2e8c0c07313b1232cc611aa19555e92621e86127e
6
+ metadata.gz: 3d07b6ef0be5274843698e82446deb08a324e1e887188a70cdf7f2fa67536b349ebe88bfc133916dbd23c04c9a7c9eb55efbdb652e5b1e04cbf85fc5d8e60b5f
7
+ data.tar.gz: 9d2826387d7dbfebba21479dac26c0d03fe8e5b51e43a29f3467132561b43e22bd8d1ea49c119267296f7f7eacc23f5047c7c83030cc6121f885b6ad79ec3cc4
data/README.md CHANGED
@@ -17,9 +17,10 @@ $metrics = Infludp::Client.new(
17
17
  port: 4444
18
18
  )
19
19
 
20
- $metrics.send('cpu.load', {
21
- node: 'east.server1',
22
- value: 22
20
+ $metrics.send('cpu', {
21
+ node: 'server1',
22
+ value: 22,
23
+ boot: true
23
24
  })
24
25
  ```
25
26
 
@@ -28,6 +29,16 @@ $metrics.send('cpu.load', {
28
29
  ```ruby
29
30
  bundle exec rake test:all
30
31
  ```
32
+ ## Benchmarks.
33
+
34
+ ```
35
+ Rehearsal ---------------------------------------------------------------
36
+ 1000 metrics: 0.030000 0.020000 0.050000 ( 0.046954)
37
+ ------------------------------------------------------ total: 0.050000sec
38
+
39
+ user system total real
40
+ 1000 metrics: 0.030000 0.010000 0.040000 ( 0.045463)
41
+ ```
31
42
 
32
43
  ## Contributing.
33
44
 
data/lib/infludp.rb CHANGED
@@ -1,3 +1,4 @@
1
1
  require 'json'
2
+ require 'socket'
2
3
  require 'infludp/version'
3
4
  require 'infludp/client'
@@ -21,11 +21,15 @@ module Infludp
21
21
  end
22
22
 
23
23
  def build_metric(name, data)
24
- [{
25
- name: name,
26
- columns: data.keys.map{|key| key.to_s},
27
- points: [data.values]
28
- }].to_json
24
+ values = data.map do |key, value|
25
+ if value.is_a?(String)
26
+ "#{key}=\"#{value}\""
27
+ else
28
+ "#{key}=#{value}"
29
+ end
30
+ end
31
+
32
+ "#{name} #{values.join(',')}"
29
33
  end
30
34
  end
31
35
  end
@@ -1,3 +1,3 @@
1
1
  module Infludp
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.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.3.0
4
+ version: 0.4.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-04-09 00:00:00.000000000 Z
11
+ date: 2015-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -75,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  version: '0'
76
76
  requirements: []
77
77
  rubyforge_project:
78
- rubygems_version: 2.2.2
78
+ rubygems_version: 2.4.5.1
79
79
  signing_key:
80
80
  specification_version: 4
81
81
  summary: A minimal, zero dependencies, thread-safe Ruby gem to send metrics via UDP