owl_tracer 0.0.3 → 0.0.4
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 +4 -4
- data/README.md +4 -6
- data/lib/owl_tracer.rb +6 -2
- data/owl_tracer.gemspec +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c42d80ec7ba1b782db71b248e0460da164ea9ffd
|
4
|
+
data.tar.gz: 2010716dc039b6260f92cdec18c1426a7604fb32
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b5043665a19c4a96a372fe62c1324e99c28f382a7b60e4667631cb79341df41c0e05beaef423ce41631751ea1eb282a8d59d4d777d537192e7fc1ccedba5458
|
7
|
+
data.tar.gz: dc8b0af590f0d1aa1317937ae6ff2b530e42e42e38c0439657d0873f31fe31810579c2ac63b82424f01992883f001c4edbb02b92bf9c8cd6844859b696f6c586
|
data/README.md
CHANGED
@@ -39,10 +39,10 @@ StatsCalculator::calc (118 ms)
|
|
39
39
|
```
|
40
40
|
|
41
41
|
You can also skip the number of milliseconds or pass 0 and this will produce a very verbose list of all method calls that happened between the tracer was instantiated until you asked for the dump.
|
42
|
-
The first time you call `dump_results`, it stops recording new calls, but you can call `dump_results` multiple times with
|
42
|
+
The first time you call `dump_results`, it stops recording new calls, but you can call `dump_results` multiple times with different numbers to zoom in or out what was recorded.
|
43
43
|
|
44
44
|
## Web Usage
|
45
|
-
To figure out why
|
45
|
+
To figure out why a route is slow in your web app, just add this to your app's `application_controller`:
|
46
46
|
|
47
47
|
```
|
48
48
|
class ApplicationController < ActionController::Base
|
@@ -74,7 +74,7 @@ class ApplicationController < ActionController::Base
|
|
74
74
|
end
|
75
75
|
```
|
76
76
|
|
77
|
-
after that, you can
|
77
|
+
after that, you can add `?owl_tracer=200` (or `&owl_tracer=200`) to any route, like for example `http://your_server/whatever_endpoint_you_want?owl_tracer=200` to get everything that is taking more than `200ms` , including controller time, rendering time and code triggered by the view time, like:
|
78
78
|
|
79
79
|
```
|
80
80
|
SlowController::show (1073 ms)
|
@@ -99,7 +99,5 @@ show.html.slim::rendering (2474 ms)
|
|
99
99
|
_bank_info.html.slim::rendering (217 ms)
|
100
100
|
```
|
101
101
|
|
102
|
-
|
103
|
-
|
104
|
-
|
102
|
+
making it easier to identify why the route is slow.
|
105
103
|
|
data/lib/owl_tracer.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
class OwlTracer
|
2
|
-
def initialize
|
2
|
+
def initialize(timeout = 30)
|
3
|
+
@stop_at = Time.now.to_f + timeout if timeout
|
4
|
+
|
3
5
|
start
|
4
6
|
end
|
5
7
|
|
@@ -32,7 +34,6 @@ class OwlTracer
|
|
32
34
|
@spent = []
|
33
35
|
@level = 0
|
34
36
|
@trace = TracePoint.new(:call, :return, :b_return) do |tp|
|
35
|
-
|
36
37
|
calls_to_ignore = ["/lib/ruby/", "/gems/", "(eval)"]
|
37
38
|
if calls_to_ignore.none? { |substr| tp.path.include?(substr) } # app's method calls only
|
38
39
|
if tp.event == :call
|
@@ -48,6 +49,9 @@ class OwlTracer
|
|
48
49
|
end
|
49
50
|
end
|
50
51
|
end
|
52
|
+
if @stop_at && Time.now.to_f > @stop_at
|
53
|
+
@trace.disable
|
54
|
+
end
|
51
55
|
end
|
52
56
|
@trace.enable
|
53
57
|
end
|
data/owl_tracer.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "owl_tracer"
|
3
|
-
s.version = "0.0.
|
4
|
-
s.date = "2016-11-
|
3
|
+
s.version = "0.0.4"
|
4
|
+
s.date = "2016-11-07"
|
5
5
|
s.summary = "Easy to use performance tracer for Ruby"
|
6
6
|
s.description = "Easy to use performance tracer for Ruby"
|
7
7
|
s.authors = ["Gui Carvalho"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: owl_tracer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gui Carvalho
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-07 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Easy to use performance tracer for Ruby
|
14
14
|
email: guilherme@konkix.com
|