rack-latency 0.0.2 → 0.0.3

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: 0cba31cb33db81909c54769216f9cbfff8fcbd39
4
- data.tar.gz: ac31f28b619f9f449de03734ff022daa5883faf1
3
+ metadata.gz: 77b6970d3154b88eb2d5327cec4a3cc7dc881874
4
+ data.tar.gz: 2384ec9870c8c68c41b01d128bf75f996da07441
5
5
  SHA512:
6
- metadata.gz: 0442b26f364478706023d1f02551f2242296d3c17ff6e3d4b3bf6cb69e82ab6abf2c3ffc2ee7229dc15ab5960e51292b5ad4240ef321a81fefaa1f05917e9082
7
- data.tar.gz: df6c4d034b6caa922908989f41638245a083a1379eb3fb278d3a8d0277bcdffa7161eee643f650517a5a4c8dee55ec67833ea0c3c32d6eaf29f2625f63d4c6bd
6
+ metadata.gz: 6ba905ab3dc7147051f1c4f4fb5b7e523591d2619faf9868acc9cfda3dce74fc4ecf100aaf3b21b4cf9f48342927d131ada1f38aebd6f9db44f5baaefbb50c19
7
+ data.tar.gz: 144c607ee9cdf4e1ad460152b3ecc979d3c3b63e0c1b62d14265ad01e90412dc36057ac6830e692035e26204d666bbeefd486439a442dfe9d4065d078e48c445
data/README.md CHANGED
@@ -28,6 +28,12 @@ Rack::Latency.configure do |measure|
28
28
 
29
29
  # set the delay time between measurement loops.
30
30
  measure.wait ENV["RACK-LATENCY-WAIT"] || 4
31
+
32
+ # set the environment(s) in which to run, as defined by Rails.env or RACK_ENV.
33
+ # By default, it will only run in production.
34
+ measure.environment :production
35
+ # or
36
+ measure.environments :production, :staging
31
37
  end
32
38
 
33
39
  ```
data/lib/rack/latency.rb CHANGED
@@ -1,7 +1,9 @@
1
+ require "net/ping"
1
2
  require "rack/latency/version"
2
3
  require "rack/latency/reporter"
3
4
  require "rack/latency/rack_latency_railtie"
4
5
 
6
+
5
7
  module Rack
6
8
  module Latency
7
9
 
@@ -29,6 +31,24 @@ module Rack
29
31
  add_measurement(url, :get, opts)
30
32
  end
31
33
 
34
+ def self.environment(env)
35
+ @environments = [env]
36
+ end
37
+
38
+ def self.environments(*envs)
39
+ @environments = envs
40
+ end
41
+
42
+ def self.get_environments
43
+ if @environments.nil? or @environments == []
44
+ [:production]
45
+ else
46
+ @environments
47
+ end
48
+ end
49
+
50
+ private
51
+
32
52
  def self.add_measurement(url, method, opts = {})
33
53
  url = URI.parse(url)
34
54
  url.path = "/" if url.path == ""
@@ -9,9 +9,11 @@ module Rack
9
9
  @logger = logger || ::Logger.new($stdout)
10
10
 
11
11
  interval = (Rack::Latency.get_wait).to_i
12
-
13
- @logger.info "-> rack-latency starting in interval mode (#{interval}s)"
14
- Thread.new { report(interval) }
12
+ if defined?(Rails)
13
+ start(interval) if Rack::Latency.get_environments.include?(Rails.env.to_sym)
14
+ else
15
+ start(interval) if Rack::Latency.get_environments.include(ENV["RACK_ENV"].to_sym)
16
+ end
15
17
  end
16
18
 
17
19
  def call(env)
@@ -21,6 +23,11 @@ module Rack
21
23
 
22
24
  private
23
25
 
26
+ def start(interval)
27
+ @logger.info "-> rack-latency starting in interval mode (#{interval}s)"
28
+ Thread.new { report(interval) }
29
+ end
30
+
24
31
  def report(interval)
25
32
  loop do
26
33
  Rack::Latency.measurements.each do |uri, opts|
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  module Latency
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-latency
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chad Bailey
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-14 00:00:00.000000000 Z
11
+ date: 2014-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler