infludp 0.3.0 → 0.4.0

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: 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