metrix 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
data/lib/metrix/cli.rb CHANGED
@@ -12,6 +12,7 @@ require "metrix/process_metric"
12
12
  require "metrix/load"
13
13
  require "logger"
14
14
  require "fileutils"
15
+ require "timeout"
15
16
 
16
17
  module Metrix
17
18
  class CLI
@@ -188,11 +189,13 @@ module Metrix
188
189
  end
189
190
 
190
191
  def get_url(url)
191
- logger.info "fetching URL #{url}"
192
- started = Time.now
193
- body = Net::HTTP.get(URI(url))
194
- logger.info "fetched URL #{url} in %.06f" % [Time.now - started]
195
- body
192
+ Timeout.timeout(1) do
193
+ logger.info "fetching URL #{url}"
194
+ started = Time.now
195
+ body = Net::HTTP.get(URI(url))
196
+ logger.info "fetched URL #{url} in %.06f" % [Time.now - started]
197
+ body
198
+ end
196
199
  end
197
200
 
198
201
  def fetch_metrix(type)
@@ -23,15 +23,18 @@ module Metrix
23
23
  end
24
24
 
25
25
  def flush
26
- if buffers.empty?
27
- logger.info "nothing to send"
28
- return
26
+ Timeout.timeout(1) do
27
+ if buffers.empty?
28
+ logger.info "nothing to send"
29
+ return
30
+ end
31
+ started = Time.now
32
+ Socket.tcp(@host, @port) do |socket|
33
+ socket.puts(buffers.join("\n"))
34
+ end
35
+ logger.info "sent #{buffers.count} in %.06fs" % [Time.now - started]
29
36
  end
30
- started = Time.now
31
- Socket.tcp(@host, @port) do |socket|
32
- socket.puts(buffers.join("\n"))
33
- end
34
- logger.info "sent #{buffers.count} in %.06fs" % [Time.now - started]
37
+ ensure
35
38
  buffers.clear
36
39
  end
37
40
 
@@ -1,4 +1,5 @@
1
1
  require "socket"
2
+ require "timeout"
2
3
 
3
4
  module Metrix
4
5
  class OpenTSDB
@@ -20,11 +21,14 @@ module Metrix
20
21
  end
21
22
 
22
23
  def flush
23
- return if buffers.empty?
24
- Metrix.logger.info "sending #{buffers.count} to #{@host}:#{@port}"
25
- Socket.tcp(@host, @port) do |socket|
26
- socket.puts buffers.join("\n")
24
+ Timeout.timeout(1) do
25
+ return if buffers.empty?
26
+ Metrix.logger.info "sending #{buffers.count} to #{@host}:#{@port}"
27
+ Socket.tcp(@host, @port) do |socket|
28
+ socket.puts buffers.join("\n")
29
+ end
27
30
  end
31
+ ensure
28
32
  buffers.clear
29
33
  end
30
34
 
@@ -1,3 +1,3 @@
1
1
  module Metrix
2
- VERSION = "0.0.12"
2
+ VERSION = "0.0.13"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metrix
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: