sleuth 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,8 +10,6 @@ require 'time'
10
10
  module Sleuth
11
11
  TRANSACTION_HEADER = "X_SLEUTH_TRANSACTION"
12
12
 
13
- class OutsideTransaction < StandardError; end
14
-
15
13
  class << self
16
14
  delegate :head, :get, :post, :put, :delete, :to => :http
17
15
 
@@ -27,7 +25,7 @@ module Sleuth
27
25
  yield
28
26
  end
29
27
  else
30
- raise OutsideTransaction, "You are outside of a transaction"
28
+ yield
31
29
  end
32
30
  end
33
31
 
@@ -63,7 +61,7 @@ module Sleuth
63
61
  def watch(log_path)
64
62
  logger = ActiveSupport::BufferedLogger.new(log_path)
65
63
  subscribe do |event|
66
- logger.debug(Transaction.message_for(event))
64
+ logger.debug(event.message)
67
65
  end
68
66
  end
69
67
 
@@ -78,4 +76,5 @@ end
78
76
  current_dir = File.expand_path(File.dirname(__FILE__) + '/sleuth')
79
77
  require current_dir + '/middleware'
80
78
  require current_dir + '/outbound_handler'
79
+ require current_dir + '/event'
81
80
  require current_dir + '/transaction'
@@ -0,0 +1,21 @@
1
+ module Sleuth
2
+ class Event < ActiveSupport::Notifications::Event
3
+ def formatted_time
4
+ "%s%06d" % [time.utc.iso8601, time.usec]
5
+ end
6
+
7
+ def formatted_end
8
+ "%s%06d" % [@end.utc.iso8601, @end.usec]
9
+ end
10
+
11
+ def transaction
12
+ Transaction.running[transaction_id]
13
+ end
14
+
15
+ def message
16
+ parts = [formatted_time, formatted_end, transaction.full_name,
17
+ transaction.parent || '-', duration, payload.inspect]
18
+ "%s %s %s %s %0.4f -- %s" % parts
19
+ end
20
+ end
21
+ end
@@ -7,7 +7,9 @@ module Sleuth
7
7
  def call(env)
8
8
  request = Rack::Request.new(env)
9
9
  Sleuth.instrument("Sending #{request.request_method} #{request.url}") do
10
- env["HTTP_#{TRANSACTION_HEADER}"] = Sleuth.current_transaction.full_name
10
+ if Sleuth.inside_transaction?
11
+ env["HTTP_#{TRANSACTION_HEADER}"] = Sleuth.current_transaction.full_name
12
+ end
11
13
  @app.call(env)
12
14
  end
13
15
  end
@@ -1,14 +1,4 @@
1
1
  module Sleuth
2
- class Event < ActiveSupport::Notifications::Event
3
- def formatted_time
4
- "%s%06d" % [time.utc.iso8601, time.usec]
5
- end
6
-
7
- def formatted_end
8
- "%s%06d" % [@end.utc.iso8601, @end.usec]
9
- end
10
- end
11
-
12
2
  class Transaction < Struct.new(:name, :id, :stamp, :pid, :parent)
13
3
  mattr_reader :running
14
4
  @@running = {}
@@ -18,17 +8,6 @@ module Sleuth
18
8
  running[id] = new(name, id, Time.now.to_i, Process.pid, parent)
19
9
  end
20
10
 
21
- def self.message_for(event)
22
- transaction = running[event.transaction_id]
23
- transaction.message_for(event)
24
- end
25
-
26
- def message_for(event)
27
- parts = [event.formatted_time, event.formatted_end,
28
- full_name, parent || '-', event.duration, event.payload.inspect]
29
- "%s %s %s %s %0.4f -- %s" % parts
30
- end
31
-
32
11
  def full_name
33
12
  "#{name}-#{id}-#{stamp}-#{pid}"
34
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sleuth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Carey-Smith
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-05 00:00:00 -08:00
12
+ date: 2009-11-06 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -28,7 +28,7 @@ dependencies:
28
28
  version_requirement:
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "="
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.2.0
34
34
  version:
@@ -41,6 +41,7 @@ extensions: []
41
41
  extra_rdoc_files: []
42
42
 
43
43
  files:
44
+ - lib/sleuth/event.rb
44
45
  - lib/sleuth/middleware.rb
45
46
  - lib/sleuth/outbound_handler.rb
46
47
  - lib/sleuth/transaction.rb