rack-latency 0.0.2 → 0.0.3

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