remnant 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- remnant (0.2.0)
4
+ remnant (0.2.1)
5
5
  statsd-ruby (= 1.0.0)
6
6
 
7
7
  GEM
data/lib/remnant/base.rb CHANGED
@@ -13,22 +13,30 @@ class Remnant
13
13
  end
14
14
 
15
15
  def collect
16
+ @sample_counter ||= 0
17
+
16
18
  extra_remnant_key = Remnant::Discover.results.delete(:extra_remnant_key)
17
19
 
18
20
  if ::Rails.env.production? || ::Rails.env.staging? || ::Rails.env.demo?
19
- # send on
20
- Remnant::Discover.results.map do |remnant_key, ms|
21
- key = [
22
- Remnant.configuration.tag,
23
- Remnant.configuration.env,
24
- extra_remnant_key,
25
- remnant_key
26
- ].compact.join('.')
27
-
28
- Remnant.handler.timing(key, ms.to_i)
21
+ # only log if above sample rate
22
+ if @sample_counter > configuration.sample_rate
23
+ Remnant::Discover.results.map do |remnant_key, ms|
24
+ key = [
25
+ Remnant.configuration.tag,
26
+ Remnant.configuration.env,
27
+ extra_remnant_key,
28
+ remnant_key
29
+ ].compact.join('.')
30
+
31
+ Remnant.handler.timing(key, ms.to_i)
32
+ end
33
+
34
+ @sample_counter = 0
35
+ else
36
+ @sample_counter += 1
29
37
  end
30
38
  else
31
- # log it
39
+ # always log in development mode
32
40
  Rails.logger.info "--------------Remnants Discovered--------------"
33
41
 
34
42
  Remnant::Discover.results.map do |remnant_key, ms|
@@ -12,6 +12,8 @@ class Remnant
12
12
  # api key to use with payloads
13
13
  attr_reader :tag
14
14
 
15
+ attr_reader :sample_rate
16
+
15
17
  def host(value)
16
18
  @hostname = value
17
19
  end
@@ -28,12 +30,17 @@ class Remnant
28
30
  @env = value
29
31
  end
30
32
 
33
+ def sample(value)
34
+ @sample_rate = value
35
+ end
36
+
31
37
  def defaults!
32
38
  # configure some defaults
33
39
 
34
40
  @hostname = '127.0.0.1'
35
41
  @port_number = 8125
36
42
  @tag = 'remnant'
43
+ @sample_rate = 10
37
44
 
38
45
  self
39
46
  end # end defaults!
data/lib/remnant/rails.rb CHANGED
@@ -33,8 +33,6 @@ class Remnant
33
33
 
34
34
  # hook remnants
35
35
  Remnant::Discover.find('request', ActionController::Dispatcher, :call)
36
- Remnant::Discover.find('dispatch', ActionController::Dispatcher, :_call)
37
- Remnant::Discover.find('process', ActionController::Base, :process)
38
36
  Remnant::Discover.find('filters', ActionController::Filters::BeforeFilter, :call)
39
37
  Remnant::Discover.find('action', ActionController::Base, :perform_action)
40
38
  Remnant::Discover.find('view', ActionController::Base, :render)
@@ -62,7 +60,6 @@ class Remnant
62
60
  # hook into perform_action for the extra remnant key
63
61
  ::ActionController::Base.class_eval do
64
62
  def perform_action_with_remnant_key(*args, &block) #:nodoc:
65
- ::Remnant::Discover.results[:extra_remnant_key] = "#{params[:controller].to_s.underscore}.#{params[:action]}"
66
63
  perform_action_without_remnant_key(*args, &block)
67
64
  end
68
65
  alias_method_chain :perform_action, :remnant_key
@@ -1,3 +1,3 @@
1
1
  class Remnant
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remnant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-17 00:00:00.000000000 Z
12
+ date: 2012-09-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: statsd-ruby